diff --git a/docs/dyn/adexchangebuyer2_v2beta1.accounts.clients.html b/docs/dyn/adexchangebuyer2_v2beta1.accounts.clients.html new file mode 100644 index 00000000000..791a96b4d22 --- /dev/null +++ b/docs/dyn/adexchangebuyer2_v2beta1.accounts.clients.html @@ -0,0 +1,444 @@ + + + +

Ad Exchange Buyer API II . accounts . clients

+

Instance Methods

+

+ invitations() +

+

Returns the invitations Resource.

+ +

+ users() +

+

Returns the users Resource.

+ +

+ create(accountId=None, body, x__xgafv=None)

+

Creates a new client buyer.

+

+ get(accountId, clientAccountId, x__xgafv=None)

+

Gets a client buyer with a given client account ID.

+

+ list(accountId, pageSize=None, pageToken=None, x__xgafv=None)

+

Lists all the clients for the current sponsor buyer.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

+ update(accountId=None, clientAccountId, body, x__xgafv=None)

+

Updates an existing client buyer.

+

Method Details

+
+ create(accountId=None, body, x__xgafv=None) +
Creates a new client buyer.
+
+Args:
+  accountId: string, Unique numerical account ID for the buyer of which the client buyer
+is a customer; the sponsor buyer to create a client for. (required) (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A client resource represents a client buyer—an agency,
+      # a brand, or an advertiser customer of the sponsor buyer.
+      # Users associated with the client buyer have restricted access to
+      # the Ad Exchange Marketplace and certain other sections
+      # of the Ad Exchange Buyer UI based on the role
+      # granted to the client buyer.
+      # All fields are required unless otherwise specified.
+    "status": "A String", # The status of the client buyer.
+    "clientAccountId": "A String", # The globally-unique numerical ID of the client.
+        # The value of this field is ignored in create and update operations.
+    "entityName": "A String", # The name of the entity. This field is automatically fetched based on
+        # the type and ID.
+        # The value of this field is ignored in create and update operations.
+    "entityType": "A String", # The type of the client entity: `ADVERTISER`, `BRAND`, or `AGENCY`.
+    "role": "A String", # The role which is assigned to the client buyer. Each role implies a set of
+        # permissions granted to the client. Must be one of `CLIENT_DEAL_VIEWER`,
+        # `CLIENT_DEAL_NEGOTIATOR`, or `CLIENT_DEAL_APPROVER`.
+    "visibleToSeller": True or False, # Whether the client buyer will be visible to sellers.
+    "entityId": "A String", # Numerical identifier of the client entity.
+        # The entity can be an advertiser, a brand, or an agency.
+        # This identifier is unique among all the entities with the same type.
+        # 
+        # A list of all known advertisers with their identifiers is available in the
+        # [advertisers.txt](https://storage.googleapis.com/adx-rtb-dictionaries/advertisers.txt)
+        # file.
+        # 
+        # A list of all known brands with their identifiers is available in the
+        # [brands.txt](https://storage.googleapis.com/adx-rtb-dictionaries/brands.txt)
+        # file.
+        # 
+        # A list of all known agencies with their identifiers is available in the
+        # [agencies.txt](https://storage.googleapis.com/adx-rtb-dictionaries/agencies.txt)
+        # file.
+    "clientName": "A String", # Name used to represent this client to publishers.
+        # You may have multiple clients that map to the same entity,
+        # but for each client the combination of `clientName` and entity
+        # must be unique.
+        # You can specify this field as empty.
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A client resource represents a client buyer—an agency,
+        # a brand, or an advertiser customer of the sponsor buyer.
+        # Users associated with the client buyer have restricted access to
+        # the Ad Exchange Marketplace and certain other sections
+        # of the Ad Exchange Buyer UI based on the role
+        # granted to the client buyer.
+        # All fields are required unless otherwise specified.
+      "status": "A String", # The status of the client buyer.
+      "clientAccountId": "A String", # The globally-unique numerical ID of the client.
+          # The value of this field is ignored in create and update operations.
+      "entityName": "A String", # The name of the entity. This field is automatically fetched based on
+          # the type and ID.
+          # The value of this field is ignored in create and update operations.
+      "entityType": "A String", # The type of the client entity: `ADVERTISER`, `BRAND`, or `AGENCY`.
+      "role": "A String", # The role which is assigned to the client buyer. Each role implies a set of
+          # permissions granted to the client. Must be one of `CLIENT_DEAL_VIEWER`,
+          # `CLIENT_DEAL_NEGOTIATOR`, or `CLIENT_DEAL_APPROVER`.
+      "visibleToSeller": True or False, # Whether the client buyer will be visible to sellers.
+      "entityId": "A String", # Numerical identifier of the client entity.
+          # The entity can be an advertiser, a brand, or an agency.
+          # This identifier is unique among all the entities with the same type.
+          #
+          # A list of all known advertisers with their identifiers is available in the
+          # [advertisers.txt](https://storage.googleapis.com/adx-rtb-dictionaries/advertisers.txt)
+          # file.
+          #
+          # A list of all known brands with their identifiers is available in the
+          # [brands.txt](https://storage.googleapis.com/adx-rtb-dictionaries/brands.txt)
+          # file.
+          #
+          # A list of all known agencies with their identifiers is available in the
+          # [agencies.txt](https://storage.googleapis.com/adx-rtb-dictionaries/agencies.txt)
+          # file.
+      "clientName": "A String", # Name used to represent this client to publishers.
+          # You may have multiple clients that map to the same entity,
+          # but for each client the combination of `clientName` and entity
+          # must be unique.
+          # You can specify this field as empty.
+    }
+
+ +
+ get(accountId, clientAccountId, x__xgafv=None) +
Gets a client buyer with a given client account ID.
+
+Args:
+  accountId: string, Numerical account ID of the client's sponsor buyer. (required) (required)
+  clientAccountId: string, Numerical account ID of the client buyer to retrieve. (required) (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A client resource represents a client buyer—an agency,
+        # a brand, or an advertiser customer of the sponsor buyer.
+        # Users associated with the client buyer have restricted access to
+        # the Ad Exchange Marketplace and certain other sections
+        # of the Ad Exchange Buyer UI based on the role
+        # granted to the client buyer.
+        # All fields are required unless otherwise specified.
+      "status": "A String", # The status of the client buyer.
+      "clientAccountId": "A String", # The globally-unique numerical ID of the client.
+          # The value of this field is ignored in create and update operations.
+      "entityName": "A String", # The name of the entity. This field is automatically fetched based on
+          # the type and ID.
+          # The value of this field is ignored in create and update operations.
+      "entityType": "A String", # The type of the client entity: `ADVERTISER`, `BRAND`, or `AGENCY`.
+      "role": "A String", # The role which is assigned to the client buyer. Each role implies a set of
+          # permissions granted to the client. Must be one of `CLIENT_DEAL_VIEWER`,
+          # `CLIENT_DEAL_NEGOTIATOR`, or `CLIENT_DEAL_APPROVER`.
+      "visibleToSeller": True or False, # Whether the client buyer will be visible to sellers.
+      "entityId": "A String", # Numerical identifier of the client entity.
+          # The entity can be an advertiser, a brand, or an agency.
+          # This identifier is unique among all the entities with the same type.
+          #
+          # A list of all known advertisers with their identifiers is available in the
+          # [advertisers.txt](https://storage.googleapis.com/adx-rtb-dictionaries/advertisers.txt)
+          # file.
+          #
+          # A list of all known brands with their identifiers is available in the
+          # [brands.txt](https://storage.googleapis.com/adx-rtb-dictionaries/brands.txt)
+          # file.
+          #
+          # A list of all known agencies with their identifiers is available in the
+          # [agencies.txt](https://storage.googleapis.com/adx-rtb-dictionaries/agencies.txt)
+          # file.
+      "clientName": "A String", # Name used to represent this client to publishers.
+          # You may have multiple clients that map to the same entity,
+          # but for each client the combination of `clientName` and entity
+          # must be unique.
+          # You can specify this field as empty.
+    }
+
+ +
+ list(accountId, pageSize=None, pageToken=None, x__xgafv=None) +
Lists all the clients for the current sponsor buyer.
+
+Args:
+  accountId: string, Unique numerical account ID of the sponsor buyer to list the clients for. (required)
+  pageSize: integer, Requested page size. The server may return fewer clients than requested.
+If unspecified, the server will pick an appropriate default.
+  pageToken: string, A token identifying a page of results the server should return.
+Typically, this is the value of
+ListClientsResponse.nextPageToken
+returned from the previous call to the
+accounts.clients.list method.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # A token to retrieve the next page of results.
+        # Pass this value in the
+        # ListClientsRequest.pageToken
+        # field in the subsequent call to the
+        # accounts.clients.list method
+        # to retrieve the next page of results.
+    "clients": [ # The returned list of clients.
+      { # A client resource represents a client buyer—an agency,
+            # a brand, or an advertiser customer of the sponsor buyer.
+            # Users associated with the client buyer have restricted access to
+            # the Ad Exchange Marketplace and certain other sections
+            # of the Ad Exchange Buyer UI based on the role
+            # granted to the client buyer.
+            # All fields are required unless otherwise specified.
+          "status": "A String", # The status of the client buyer.
+          "clientAccountId": "A String", # The globally-unique numerical ID of the client.
+              # The value of this field is ignored in create and update operations.
+          "entityName": "A String", # The name of the entity. This field is automatically fetched based on
+              # the type and ID.
+              # The value of this field is ignored in create and update operations.
+          "entityType": "A String", # The type of the client entity: `ADVERTISER`, `BRAND`, or `AGENCY`.
+          "role": "A String", # The role which is assigned to the client buyer. Each role implies a set of
+              # permissions granted to the client. Must be one of `CLIENT_DEAL_VIEWER`,
+              # `CLIENT_DEAL_NEGOTIATOR`, or `CLIENT_DEAL_APPROVER`.
+          "visibleToSeller": True or False, # Whether the client buyer will be visible to sellers.
+          "entityId": "A String", # Numerical identifier of the client entity.
+              # The entity can be an advertiser, a brand, or an agency.
+              # This identifier is unique among all the entities with the same type.
+              #
+              # A list of all known advertisers with their identifiers is available in the
+              # [advertisers.txt](https://storage.googleapis.com/adx-rtb-dictionaries/advertisers.txt)
+              # file.
+              #
+              # A list of all known brands with their identifiers is available in the
+              # [brands.txt](https://storage.googleapis.com/adx-rtb-dictionaries/brands.txt)
+              # file.
+              #
+              # A list of all known agencies with their identifiers is available in the
+              # [agencies.txt](https://storage.googleapis.com/adx-rtb-dictionaries/agencies.txt)
+              # file.
+          "clientName": "A String", # Name used to represent this client to publishers.
+              # You may have multiple clients that map to the same entity,
+              # but for each client the combination of `clientName` and entity
+              # must be unique.
+              # You can specify this field as empty.
+        },
+    ],
+  }
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    
+
+ +
+ update(accountId=None, clientAccountId, body, x__xgafv=None) +
Updates an existing client buyer.
+
+Args:
+  accountId: string, Unique numerical account ID for the buyer of which the client buyer
+is a customer; the sponsor buyer to update a client for. (required) (required)
+  clientAccountId: string, Unique numerical account ID of the client to update. (required) (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A client resource represents a client buyer—an agency,
+      # a brand, or an advertiser customer of the sponsor buyer.
+      # Users associated with the client buyer have restricted access to
+      # the Ad Exchange Marketplace and certain other sections
+      # of the Ad Exchange Buyer UI based on the role
+      # granted to the client buyer.
+      # All fields are required unless otherwise specified.
+    "status": "A String", # The status of the client buyer.
+    "clientAccountId": "A String", # The globally-unique numerical ID of the client.
+        # The value of this field is ignored in create and update operations.
+    "entityName": "A String", # The name of the entity. This field is automatically fetched based on
+        # the type and ID.
+        # The value of this field is ignored in create and update operations.
+    "entityType": "A String", # The type of the client entity: `ADVERTISER`, `BRAND`, or `AGENCY`.
+    "role": "A String", # The role which is assigned to the client buyer. Each role implies a set of
+        # permissions granted to the client. Must be one of `CLIENT_DEAL_VIEWER`,
+        # `CLIENT_DEAL_NEGOTIATOR`, or `CLIENT_DEAL_APPROVER`.
+    "visibleToSeller": True or False, # Whether the client buyer will be visible to sellers.
+    "entityId": "A String", # Numerical identifier of the client entity.
+        # The entity can be an advertiser, a brand, or an agency.
+        # This identifier is unique among all the entities with the same type.
+        # 
+        # A list of all known advertisers with their identifiers is available in the
+        # [advertisers.txt](https://storage.googleapis.com/adx-rtb-dictionaries/advertisers.txt)
+        # file.
+        # 
+        # A list of all known brands with their identifiers is available in the
+        # [brands.txt](https://storage.googleapis.com/adx-rtb-dictionaries/brands.txt)
+        # file.
+        # 
+        # A list of all known agencies with their identifiers is available in the
+        # [agencies.txt](https://storage.googleapis.com/adx-rtb-dictionaries/agencies.txt)
+        # file.
+    "clientName": "A String", # Name used to represent this client to publishers.
+        # You may have multiple clients that map to the same entity,
+        # but for each client the combination of `clientName` and entity
+        # must be unique.
+        # You can specify this field as empty.
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A client resource represents a client buyer—an agency,
+        # a brand, or an advertiser customer of the sponsor buyer.
+        # Users associated with the client buyer have restricted access to
+        # the Ad Exchange Marketplace and certain other sections
+        # of the Ad Exchange Buyer UI based on the role
+        # granted to the client buyer.
+        # All fields are required unless otherwise specified.
+      "status": "A String", # The status of the client buyer.
+      "clientAccountId": "A String", # The globally-unique numerical ID of the client.
+          # The value of this field is ignored in create and update operations.
+      "entityName": "A String", # The name of the entity. This field is automatically fetched based on
+          # the type and ID.
+          # The value of this field is ignored in create and update operations.
+      "entityType": "A String", # The type of the client entity: `ADVERTISER`, `BRAND`, or `AGENCY`.
+      "role": "A String", # The role which is assigned to the client buyer. Each role implies a set of
+          # permissions granted to the client. Must be one of `CLIENT_DEAL_VIEWER`,
+          # `CLIENT_DEAL_NEGOTIATOR`, or `CLIENT_DEAL_APPROVER`.
+      "visibleToSeller": True or False, # Whether the client buyer will be visible to sellers.
+      "entityId": "A String", # Numerical identifier of the client entity.
+          # The entity can be an advertiser, a brand, or an agency.
+          # This identifier is unique among all the entities with the same type.
+          #
+          # A list of all known advertisers with their identifiers is available in the
+          # [advertisers.txt](https://storage.googleapis.com/adx-rtb-dictionaries/advertisers.txt)
+          # file.
+          #
+          # A list of all known brands with their identifiers is available in the
+          # [brands.txt](https://storage.googleapis.com/adx-rtb-dictionaries/brands.txt)
+          # file.
+          #
+          # A list of all known agencies with their identifiers is available in the
+          # [agencies.txt](https://storage.googleapis.com/adx-rtb-dictionaries/agencies.txt)
+          # file.
+      "clientName": "A String", # Name used to represent this client to publishers.
+          # You may have multiple clients that map to the same entity,
+          # but for each client the combination of `clientName` and entity
+          # must be unique.
+          # You can specify this field as empty.
+    }
+
+ + \ No newline at end of file diff --git a/docs/dyn/adexchangebuyer2_v2beta1.accounts.clients.invitations.html b/docs/dyn/adexchangebuyer2_v2beta1.accounts.clients.invitations.html new file mode 100644 index 00000000000..a8c07adf6ac --- /dev/null +++ b/docs/dyn/adexchangebuyer2_v2beta1.accounts.clients.invitations.html @@ -0,0 +1,236 @@ + + + +

Ad Exchange Buyer API II . accounts . clients . invitations

+

Instance Methods

+

+ create(accountId, clientAccountId=None, body, x__xgafv=None)

+

Creates and sends out an email invitation to access

+

+ get(accountId, clientAccountId=None, invitationId, x__xgafv=None)

+

Retrieves an existing client user invitation.

+

+ list(accountId, clientAccountId=None, pageSize=None, pageToken=None, x__xgafv=None)

+

Lists all the client users invitations for a client

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

Method Details

+
+ create(accountId, clientAccountId=None, body, x__xgafv=None) +
Creates and sends out an email invitation to access
+an Ad Exchange client buyer account.
+
+Args:
+  accountId: string, Numerical account ID of the client's sponsor buyer. (required) (required)
+  clientAccountId: string, Numerical account ID of the client buyer that the user
+should be associated with. (required) (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # An invitation for a new client user to get access to the AdExchange Buyer UI.
+      # 
+      # All fields are required unless otherwise specified.
+    "clientAccountId": "A String", # Numerical account ID of the client buyer
+        # that the invited user is associated with.
+        # The value of this field is ignored in create operations.
+    "email": "A String", # The email address to which the invitation is sent. Email
+        # addresses should be unique among all client users under each sponsor
+        # buyer.
+    "invitationId": "A String", # The unique numerical ID of the invitation that is sent to the user.
+        # The value of this field is ignored in create operations.
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # An invitation for a new client user to get access to the AdExchange Buyer UI.
+        #
+        # All fields are required unless otherwise specified.
+      "clientAccountId": "A String", # Numerical account ID of the client buyer
+          # that the invited user is associated with.
+          # The value of this field is ignored in create operations.
+      "email": "A String", # The email address to which the invitation is sent. Email
+          # addresses should be unique among all client users under each sponsor
+          # buyer.
+      "invitationId": "A String", # The unique numerical ID of the invitation that is sent to the user.
+          # The value of this field is ignored in create operations.
+    }
+
+ +
+ get(accountId, clientAccountId=None, invitationId, x__xgafv=None) +
Retrieves an existing client user invitation.
+
+Args:
+  accountId: string, Numerical account ID of the client's sponsor buyer. (required) (required)
+  clientAccountId: string, Numerical account ID of the client buyer that the user invitation
+to be retrieved is associated with. (required) (required)
+  invitationId: string, Numerical identifier of the user invitation to retrieve. (required) (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # An invitation for a new client user to get access to the AdExchange Buyer UI.
+        #
+        # All fields are required unless otherwise specified.
+      "clientAccountId": "A String", # Numerical account ID of the client buyer
+          # that the invited user is associated with.
+          # The value of this field is ignored in create operations.
+      "email": "A String", # The email address to which the invitation is sent. Email
+          # addresses should be unique among all client users under each sponsor
+          # buyer.
+      "invitationId": "A String", # The unique numerical ID of the invitation that is sent to the user.
+          # The value of this field is ignored in create operations.
+    }
+
+ +
+ list(accountId, clientAccountId=None, pageSize=None, pageToken=None, x__xgafv=None) +
Lists all the client users invitations for a client
+with a given account ID.
+
+Args:
+  accountId: string, Numerical account ID of the client's sponsor buyer. (required) (required)
+  clientAccountId: string, Numerical account ID of the client buyer to list invitations for.
+(required)
+You must either specify a string representation of a
+numerical account identifier or the `-` character
+to list all the invitations for all the clients
+of a given sponsor buyer. (required)
+  pageSize: integer, Requested page size. Server may return fewer clients than requested.
+If unspecified, server will pick an appropriate default.
+  pageToken: string, A token identifying a page of results the server should return.
+Typically, this is the value of
+ListClientUserInvitationsResponse.nextPageToken
+returned from the previous call to the
+clients.invitations.list
+method.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # A token to retrieve the next page of results.
+        # Pass this value in the
+        # ListClientUserInvitationsRequest.pageToken
+        # field in the subsequent call to the
+        # clients.invitations.list
+        # method to retrieve the next
+        # page of results.
+    "invitations": [ # The returned list of client users.
+      { # An invitation for a new client user to get access to the AdExchange Buyer UI.
+            #
+            # All fields are required unless otherwise specified.
+          "clientAccountId": "A String", # Numerical account ID of the client buyer
+              # that the invited user is associated with.
+              # The value of this field is ignored in create operations.
+          "email": "A String", # The email address to which the invitation is sent. Email
+              # addresses should be unique among all client users under each sponsor
+              # buyer.
+          "invitationId": "A String", # The unique numerical ID of the invitation that is sent to the user.
+              # The value of this field is ignored in create operations.
+        },
+    ],
+  }
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    
+
+ + \ No newline at end of file diff --git a/docs/dyn/adexchangebuyer2_v2beta1.accounts.clients.users.html b/docs/dyn/adexchangebuyer2_v2beta1.accounts.clients.users.html new file mode 100644 index 00000000000..bc0ce40f425 --- /dev/null +++ b/docs/dyn/adexchangebuyer2_v2beta1.accounts.clients.users.html @@ -0,0 +1,280 @@ + + + +

Ad Exchange Buyer API II . accounts . clients . users

+

Instance Methods

+

+ get(accountId, clientAccountId=None, userId, x__xgafv=None)

+

Retrieves an existing client user.

+

+ list(accountId=None, clientAccountId, pageSize=None, pageToken=None, x__xgafv=None)

+

Lists all the known client users for a specified

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

+ update(accountId, clientAccountId=None, userId, body, x__xgafv=None)

+

Updates an existing client user.

+

Method Details

+
+ get(accountId, clientAccountId=None, userId, x__xgafv=None) +
Retrieves an existing client user.
+
+Args:
+  accountId: string, Numerical account ID of the client's sponsor buyer. (required) (required)
+  clientAccountId: string, Numerical account ID of the client buyer
+that the user to be retrieved is associated with. (required) (required)
+  userId: string, Numerical identifier of the user to retrieve. (required) (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A client user is created under a client buyer and has restricted access to
+      # the Ad Exchange Marketplace and certain other sections
+      # of the Ad Exchange Buyer UI based on the role
+      # granted to the associated client buyer.
+      #
+      # The only way a new client user can be created is via accepting an
+      # email invitation
+      # (see the
+      # accounts.clients.invitations.create
+      # method).
+      #
+      # All fields are required unless otherwise specified.
+    "status": "A String", # The status of the client user.
+    "clientAccountId": "A String", # Numerical account ID of the client buyer
+        # with which the user is associated; the
+        # buyer must be a client of the current sponsor buyer.
+        # The value of this field is ignored in an update operation.
+    "userId": "A String", # The unique numerical ID of the client user
+        # that has accepted an invitation.
+        # The value of this field is ignored in an update operation.
+    "email": "A String", # User's email address. The value of this field
+        # is ignored in an update operation.
+  }
+
+ +
+ list(accountId=None, clientAccountId, pageSize=None, pageToken=None, x__xgafv=None) +
Lists all the known client users for a specified
+sponsor buyer account ID.
+
+Args:
+  accountId: string, Numerical account ID of the sponsor buyer of the client to list users for.
+(required) (required)
+  clientAccountId: string, The account ID of the client buyer to list users for. (required)
+You must specify either a string representation of a
+numerical account identifier or the `-` character
+to list all the client users for all the clients
+of a given sponsor buyer. (required)
+  pageSize: integer, Requested page size. The server may return fewer clients than requested.
+If unspecified, the server will pick an appropriate default.
+  pageToken: string, A token identifying a page of results the server should return.
+Typically, this is the value of
+ListClientUsersResponse.nextPageToken
+returned from the previous call to the
+accounts.clients.users.list method.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # A token to retrieve the next page of results.
+        # Pass this value in the
+        # ListClientUsersRequest.pageToken
+        # field in the subsequent call to the
+        # clients.invitations.list
+        # method to retrieve the next
+        # page of results.
+    "users": [ # The returned list of client users.
+      { # A client user is created under a client buyer and has restricted access to
+          # the Ad Exchange Marketplace and certain other sections
+          # of the Ad Exchange Buyer UI based on the role
+          # granted to the associated client buyer.
+          #
+          # The only way a new client user can be created is via accepting an
+          # email invitation
+          # (see the
+          # accounts.clients.invitations.create
+          # method).
+          #
+          # All fields are required unless otherwise specified.
+        "status": "A String", # The status of the client user.
+        "clientAccountId": "A String", # Numerical account ID of the client buyer
+            # with which the user is associated; the
+            # buyer must be a client of the current sponsor buyer.
+            # The value of this field is ignored in an update operation.
+        "userId": "A String", # The unique numerical ID of the client user
+            # that has accepted an invitation.
+            # The value of this field is ignored in an update operation.
+        "email": "A String", # User's email address. The value of this field
+            # is ignored in an update operation.
+      },
+    ],
+  }
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    
+
+ +
+ update(accountId, clientAccountId=None, userId, body, x__xgafv=None) +
Updates an existing client user.
+Only the user status can be changed on update.
+
+Args:
+  accountId: string, Numerical account ID of the client's sponsor buyer. (required) (required)
+  clientAccountId: string, Numerical account ID of the client buyer that the user to be retrieved
+is associated with. (required) (required)
+  userId: string, Numerical identifier of the user to retrieve. (required) (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A client user is created under a client buyer and has restricted access to
+    # the Ad Exchange Marketplace and certain other sections
+    # of the Ad Exchange Buyer UI based on the role
+    # granted to the associated client buyer.
+    # 
+    # The only way a new client user can be created is via accepting an
+    # email invitation
+    # (see the
+    # accounts.clients.invitations.create
+    # method).
+    # 
+    # All fields are required unless otherwise specified.
+  "status": "A String", # The status of the client user.
+  "clientAccountId": "A String", # Numerical account ID of the client buyer
+      # with which the user is associated; the
+      # buyer must be a client of the current sponsor buyer.
+      # The value of this field is ignored in an update operation.
+  "userId": "A String", # The unique numerical ID of the client user
+      # that has accepted an invitation.
+      # The value of this field is ignored in an update operation.
+  "email": "A String", # User's email address. The value of this field
+      # is ignored in an update operation.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A client user is created under a client buyer and has restricted access to
+      # the Ad Exchange Marketplace and certain other sections
+      # of the Ad Exchange Buyer UI based on the role
+      # granted to the associated client buyer.
+      #
+      # The only way a new client user can be created is via accepting an
+      # email invitation
+      # (see the
+      # accounts.clients.invitations.create
+      # method).
+      #
+      # All fields are required unless otherwise specified.
+    "status": "A String", # The status of the client user.
+    "clientAccountId": "A String", # Numerical account ID of the client buyer
+        # with which the user is associated; the
+        # buyer must be a client of the current sponsor buyer.
+        # The value of this field is ignored in an update operation.
+    "userId": "A String", # The unique numerical ID of the client user
+        # that has accepted an invitation.
+        # The value of this field is ignored in an update operation.
+    "email": "A String", # User's email address. The value of this field
+        # is ignored in an update operation.
+  }
+
+ + \ No newline at end of file diff --git a/docs/dyn/adexchangebuyer2_v2beta1.accounts.html b/docs/dyn/adexchangebuyer2_v2beta1.accounts.html new file mode 100644 index 00000000000..9c6461b2001 --- /dev/null +++ b/docs/dyn/adexchangebuyer2_v2beta1.accounts.html @@ -0,0 +1,82 @@ + + + +

Ad Exchange Buyer API II . accounts

+

Instance Methods

+

+ clients() +

+

Returns the clients Resource.

+ + \ No newline at end of file diff --git a/docs/dyn/adexchangebuyer2_v2beta1.html b/docs/dyn/adexchangebuyer2_v2beta1.html new file mode 100644 index 00000000000..8b295013034 --- /dev/null +++ b/docs/dyn/adexchangebuyer2_v2beta1.html @@ -0,0 +1,103 @@ + + + +

Ad Exchange Buyer API II

+

Instance Methods

+

+ accounts() +

+

Returns the accounts Resource.

+ +

+ new_batch_http_request()

+

Create a BatchHttpRequest object based on the discovery document.

+

Method Details

+
+ new_batch_http_request() +
Create a BatchHttpRequest object based on the discovery document.
+
+        Args:
+          callback: callable, A callback to be called for each response, of the
+            form callback(id, response, exception). The first parameter is the
+            request id, and the second is the deserialized response object. The
+            third is an apiclient.errors.HttpError exception object if an HTTP
+            error occurred while processing the request, or None if no error
+            occurred.
+
+        Returns:
+          A BatchHttpRequest object based on the discovery document.
+        
+
+ + \ No newline at end of file diff --git a/docs/dyn/adexchangebuyer_v1_4.accounts.html b/docs/dyn/adexchangebuyer_v1_4.accounts.html index ff3b93b84bf..6be850a6bb4 100644 --- a/docs/dyn/adexchangebuyer_v1_4.accounts.html +++ b/docs/dyn/adexchangebuyer_v1_4.accounts.html @@ -110,6 +110,11 @@

Method Details

# - US_EAST # - US_WEST "maximumQps": 42, # The maximum queries per second the Ad Exchange will send. + "bidProtocol": "A String", # The protocol that the bidder endpoint is using. By default, OpenRTB protocols use JSON, except PROTOCOL_OPENRTB_PROTOBUF. PROTOCOL_OPENRTB_PROTOBUF uses protobuf encoding over the latest OpenRTB protocol version, which is 2.3 right now. Allowed values: + # - PROTOCOL_ADX + # - PROTOCOL_OPENRTB_2_2 + # - PROTOCOL_OPENRTB_2_3 + # - PROTOCOL_OPENRTB_PROTOBUF }, ], "cookieMatchingNid": "A String", # The nid parameter value used in cookie match requests. Please contact your technical account manager if you need to change this. @@ -143,6 +148,11 @@

Method Details

# - US_EAST # - US_WEST "maximumQps": 42, # The maximum queries per second the Ad Exchange will send. + "bidProtocol": "A String", # The protocol that the bidder endpoint is using. By default, OpenRTB protocols use JSON, except PROTOCOL_OPENRTB_PROTOBUF. PROTOCOL_OPENRTB_PROTOBUF uses protobuf encoding over the latest OpenRTB protocol version, which is 2.3 right now. Allowed values: + # - PROTOCOL_ADX + # - PROTOCOL_OPENRTB_2_2 + # - PROTOCOL_OPENRTB_2_3 + # - PROTOCOL_OPENRTB_PROTOBUF }, ], "cookieMatchingNid": "A String", # The nid parameter value used in cookie match requests. Please contact your technical account manager if you need to change this. @@ -177,6 +187,11 @@

Method Details

# - US_EAST # - US_WEST "maximumQps": 42, # The maximum queries per second the Ad Exchange will send. + "bidProtocol": "A String", # The protocol that the bidder endpoint is using. By default, OpenRTB protocols use JSON, except PROTOCOL_OPENRTB_PROTOBUF. PROTOCOL_OPENRTB_PROTOBUF uses protobuf encoding over the latest OpenRTB protocol version, which is 2.3 right now. Allowed values: + # - PROTOCOL_ADX + # - PROTOCOL_OPENRTB_2_2 + # - PROTOCOL_OPENRTB_2_3 + # - PROTOCOL_OPENRTB_PROTOBUF }, ], "cookieMatchingNid": "A String", # The nid parameter value used in cookie match requests. Please contact your technical account manager if you need to change this. @@ -202,6 +217,11 @@

Method Details

# - US_EAST # - US_WEST "maximumQps": 42, # The maximum queries per second the Ad Exchange will send. + "bidProtocol": "A String", # The protocol that the bidder endpoint is using. By default, OpenRTB protocols use JSON, except PROTOCOL_OPENRTB_PROTOBUF. PROTOCOL_OPENRTB_PROTOBUF uses protobuf encoding over the latest OpenRTB protocol version, which is 2.3 right now. Allowed values: + # - PROTOCOL_ADX + # - PROTOCOL_OPENRTB_2_2 + # - PROTOCOL_OPENRTB_2_3 + # - PROTOCOL_OPENRTB_PROTOBUF }, ], "cookieMatchingNid": "A String", # The nid parameter value used in cookie match requests. Please contact your technical account manager if you need to change this. @@ -233,6 +253,11 @@

Method Details

# - US_EAST # - US_WEST "maximumQps": 42, # The maximum queries per second the Ad Exchange will send. + "bidProtocol": "A String", # The protocol that the bidder endpoint is using. By default, OpenRTB protocols use JSON, except PROTOCOL_OPENRTB_PROTOBUF. PROTOCOL_OPENRTB_PROTOBUF uses protobuf encoding over the latest OpenRTB protocol version, which is 2.3 right now. Allowed values: + # - PROTOCOL_ADX + # - PROTOCOL_OPENRTB_2_2 + # - PROTOCOL_OPENRTB_2_3 + # - PROTOCOL_OPENRTB_PROTOBUF }, ], "cookieMatchingNid": "A String", # The nid parameter value used in cookie match requests. Please contact your technical account manager if you need to change this. @@ -258,6 +283,11 @@

Method Details

# - US_EAST # - US_WEST "maximumQps": 42, # The maximum queries per second the Ad Exchange will send. + "bidProtocol": "A String", # The protocol that the bidder endpoint is using. By default, OpenRTB protocols use JSON, except PROTOCOL_OPENRTB_PROTOBUF. PROTOCOL_OPENRTB_PROTOBUF uses protobuf encoding over the latest OpenRTB protocol version, which is 2.3 right now. Allowed values: + # - PROTOCOL_ADX + # - PROTOCOL_OPENRTB_2_2 + # - PROTOCOL_OPENRTB_2_3 + # - PROTOCOL_OPENRTB_PROTOBUF }, ], "cookieMatchingNid": "A String", # The nid parameter value used in cookie match requests. Please contact your technical account manager if you need to change this. diff --git a/docs/dyn/adexchangebuyer_v1_4.creatives.html b/docs/dyn/adexchangebuyer_v1_4.creatives.html index 133e8814ad1..fa4c9628945 100644 --- a/docs/dyn/adexchangebuyer_v1_4.creatives.html +++ b/docs/dyn/adexchangebuyer_v1_4.creatives.html @@ -124,6 +124,7 @@

Method Details

"HTMLSnippet": "A String", # The HTML snippet that displays the ad when inserted in the web page. If set, videoURL should not be set. "openAuctionStatus": "A String", # Top-level open auction status. Read-only. This field should not be set in requests. If disapproved, an entry for auctionType=OPEN_AUCTION (or ALL) in servingRestrictions will also exist. Note that this may be nuanced with other contextual restrictions, in which case it may be preferable to read from ServingRestrictions directly. "buyerCreativeId": "A String", # A buyer-specific id identifying the creative in this ad. + "adChoicesDestinationUrl": "A String", # The link to the Ad Preferences page. This is only supported for native ads. "impressionTrackingUrl": [ # The set of urls to be called to record an impression. "A String", ], @@ -245,6 +246,7 @@

Method Details

"HTMLSnippet": "A String", # The HTML snippet that displays the ad when inserted in the web page. If set, videoURL should not be set. "openAuctionStatus": "A String", # Top-level open auction status. Read-only. This field should not be set in requests. If disapproved, an entry for auctionType=OPEN_AUCTION (or ALL) in servingRestrictions will also exist. Note that this may be nuanced with other contextual restrictions, in which case it may be preferable to read from ServingRestrictions directly. "buyerCreativeId": "A String", # A buyer-specific id identifying the creative in this ad. + "adChoicesDestinationUrl": "A String", # The link to the Ad Preferences page. This is only supported for native ads. "impressionTrackingUrl": [ # The set of urls to be called to record an impression. "A String", ], @@ -361,6 +363,7 @@

Method Details

"HTMLSnippet": "A String", # The HTML snippet that displays the ad when inserted in the web page. If set, videoURL should not be set. "openAuctionStatus": "A String", # Top-level open auction status. Read-only. This field should not be set in requests. If disapproved, an entry for auctionType=OPEN_AUCTION (or ALL) in servingRestrictions will also exist. Note that this may be nuanced with other contextual restrictions, in which case it may be preferable to read from ServingRestrictions directly. "buyerCreativeId": "A String", # A buyer-specific id identifying the creative in this ad. + "adChoicesDestinationUrl": "A String", # The link to the Ad Preferences page. This is only supported for native ads. "impressionTrackingUrl": [ # The set of urls to be called to record an impression. "A String", ], @@ -502,6 +505,7 @@

Method Details

"HTMLSnippet": "A String", # The HTML snippet that displays the ad when inserted in the web page. If set, videoURL should not be set. "openAuctionStatus": "A String", # Top-level open auction status. Read-only. This field should not be set in requests. If disapproved, an entry for auctionType=OPEN_AUCTION (or ALL) in servingRestrictions will also exist. Note that this may be nuanced with other contextual restrictions, in which case it may be preferable to read from ServingRestrictions directly. "buyerCreativeId": "A String", # A buyer-specific id identifying the creative in this ad. + "adChoicesDestinationUrl": "A String", # The link to the Ad Preferences page. This is only supported for native ads. "impressionTrackingUrl": [ # The set of urls to be called to record an impression. "A String", ], diff --git a/docs/dyn/adexchangebuyer_v1_4.html b/docs/dyn/adexchangebuyer_v1_4.html index 8ab0fc311b7..68d35851fc1 100644 --- a/docs/dyn/adexchangebuyer_v1_4.html +++ b/docs/dyn/adexchangebuyer_v1_4.html @@ -104,6 +104,11 @@

Instance Methods

Returns the marketplacenotes Resource.

+

+ marketplaceprivateauction() +

+

Returns the marketplaceprivateauction Resource.

+

performanceReport()

@@ -124,6 +129,11 @@

Instance Methods

Returns the proposals Resource.

+

+ pubprofiles() +

+

Returns the pubprofiles Resource.

+

new_batch_http_request()

Create a BatchHttpRequest object based on the discovery document.

diff --git a/docs/dyn/adexchangebuyer_v1_4.marketplacedeals.html b/docs/dyn/adexchangebuyer_v1_4.marketplacedeals.html index dcb1eb5f4d0..2cc6ec1b5ad 100644 --- a/docs/dyn/adexchangebuyer_v1_4.marketplacedeals.html +++ b/docs/dyn/adexchangebuyer_v1_4.marketplacedeals.html @@ -81,7 +81,7 @@

Instance Methods

insert(proposalId, body)

Add new deals for the specified proposal

- list(proposalId)

+ list(proposalId, pqlQuery=None)

List all the deals for a given proposal

update(proposalId, body)

@@ -98,7 +98,7 @@

Method Details

{ "proposalRevisionNumber": "A String", # The last known proposal revision number. - "updateAction": "A String", + "updateAction": "A String", # Indicates an optional action to take on the proposal "dealIds": [ # List of deals to delete for a given proposal "A String", ], @@ -111,6 +111,17 @@

Method Details

{ "deals": [ # List of deals deleted (in the same proposal as passed in the request) { # A proposal can contain multiple deals. A deal contains the terms and targeting information that is used for serving. + "flightEndTimeMs": "A String", # Proposed flight end time of the deal (ms since epoch) This will generally be stored in a granularity of a second. (updatable) + "sellerContacts": [ # Optional Seller contact information for the deal (buyer-readonly) + { + "email": "A String", # Email address of the contact. + "name": "A String", # The name of the contact. + }, + ], + "webPropertyCode": "A String", + "proposalId": "A String", + "inventoryDescription": "A String", # Description for the deal terms. (updatable) + "productId": "A String", # The product-id from which this deal was created. (readonly, except on create) "deliveryControl": { # The set of fields around delivery control that are interesting for a buyer to see but are non-negotiable. These are set by the publisher. This message is assigned an id of 100 since some day we would want to model this as a protobuf extension. "frequencyCaps": [ { @@ -122,18 +133,77 @@

Method Details

"creativeBlockingLevel": "A String", "deliveryRateType": "A String", }, - "kind": "adexchangebuyer#marketplaceDeal", # Identifies what kind of resource this is. Value: the fixed string "adexchangebuyer#marketplaceDeal". - "creativePreApprovalPolicy": "A String", # Specifies the creative pre-approval policy (buyer-readonly) - "name": "A String", # The name of the deal. (updatable) - "buyerPrivateData": { # Buyer private data (hidden from seller). - "referenceId": "A String", - "referencePayload": "A String", + "terms": { # The negotiable terms of the deal. (updatable) + "brandingType": "A String", # Visibilty of the URL in bid requests. + "estimatedGrossSpend": { # Non-binding estimate of the estimated gross spend for this deal Can be set by buyer or seller. + "pricingType": "A String", # The pricing type for the deal/product. + "currencyCode": "A String", # The currency code for the price. + "amountMicros": 3.14, # The price value in micros. + }, + "sellerTimeZone": "A String", # For deals with Cost Per Day billing, defines the timezone used to mark the boundaries of a day (buyer-readonly) + "estimatedImpressionsPerDay": "A String", # Non-binding estimate of the impressions served per day Can be set by buyer or seller. + "nonGuaranteedFixedPriceTerms": { # The terms for non-guaranteed fixed price deals. + "fixedPrices": [ # Fixed price for the specified buyer. + { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an product can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set. + "auctionTier": "A String", # Optional access type for this buyer. + "buyer": { # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer). + "accountId": "A String", # Adx account id of the buyer. + }, + "price": { # The specified price + "pricingType": "A String", # The pricing type for the deal/product. + "currencyCode": "A String", # The currency code for the price. + "amountMicros": 3.14, # The price value in micros. + }, + }, + ], + }, + "guaranteedFixedPriceTerms": { # The terms for guaranteed fixed price deals. + "guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage of guaranteed looks that the buyer is guaranteeing to buy. + "fixedPrices": [ # Fixed price for the specified buyer. + { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an product can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set. + "auctionTier": "A String", # Optional access type for this buyer. + "buyer": { # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer). + "accountId": "A String", # Adx account id of the buyer. + }, + "price": { # The specified price + "pricingType": "A String", # The pricing type for the deal/product. + "currencyCode": "A String", # The currency code for the price. + "amountMicros": 3.14, # The price value in micros. + }, + }, + ], + "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for product. + "billingInfo": { # External billing info for this Deal. This field is relevant when external billing info such as price has a different currency code than DFP/AdX. + "price": { # The original reservation price for the deal, if the currency code is different from the one used in negotiation. + "pricingType": "A String", # The pricing type for the deal/product. + "currencyCode": "A String", # The currency code for the price. + "amountMicros": 3.14, # The price value in micros. + }, + "originalContractedQuantity": "A String", # The original contracted quantity (# impressions) for this deal. To ensure delivery, sometimes publisher will book the deal with a impression buffer, however clients are billed using the original contracted quantity. + "currencyConversionTimeMs": "A String", # The timestamp (in ms since epoch) when the original reservation price for the deal was first converted to DFP currency. This is used to convert the contracted price into advertiser's currency without discrepancy. + }, + }, + "nonGuaranteedAuctionTerms": { # The terms for non-guaranteed auction deals. + "autoOptimizePrivateAuction": True or False, # True if open auction buyers are allowed to compete with invited buyers in this private auction (buyer-readonly). + "reservePricePerBuyers": [ # Reserve price for the specified buyer. + { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an product can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set. + "auctionTier": "A String", # Optional access type for this buyer. + "buyer": { # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer). + "accountId": "A String", # Adx account id of the buyer. + }, + "price": { # The specified price + "pricingType": "A String", # The pricing type for the deal/product. + "currencyCode": "A String", # The currency code for the price. + "amountMicros": 3.14, # The price value in micros. + }, + }, + ], + }, + "description": "A String", # Description for the proposed terms of the deal. }, - "syndicationProduct": "A String", # The syndication product associated with the deal. (readonly, except on create) - "flightEndTimeMs": "A String", # Proposed flight end time of the deal (ms since epoch) This will generally be stored in a granularity of a second. (updatable) - "sharedTargetings": [ # The shared targeting visible to buyers and sellers. (updatable) + "sharedTargetings": [ # The shared targeting visible to buyers and sellers. Each shared targeting entity is AND'd together. (updatable) { - "inclusions": [ # The list of value to include as part of the targeting. + "inclusions": [ # The list of value to include as part of the targeting. Each value is OR'd together. { "longValue": "A String", # The long value to exclude/include. "dayPartTargetingValue": { # The daypart targeting to include / exclude. Filled in when the key is GOOG_DAYPART_TARGETING. @@ -164,7 +234,7 @@

Method Details

"stringValue": "A String", # The string value to exclude/include. }, ], - "exclusions": [ # The list of values to exclude from targeting. + "exclusions": [ # The list of values to exclude from targeting. Each value is AND'd together. { "longValue": "A String", # The long value to exclude/include. "dayPartTargetingValue": { # The daypart targeting to include / exclude. Filled in when the key is GOOG_DAYPART_TARGETING. @@ -198,8 +268,48 @@

Method Details

"key": "A String", # The key representing the shared targeting criterion. }, ], - "productRevisionNumber": "A String", # The revision number of the product that the deal was created from (readonly, except on create) "dealId": "A String", # A unique deal=id for the deal (readonly). + "creativeSafeFrameCompatibility": "A String", # Specifies whether the creative is safeFrame compatible (buyer-readonly) + "externalDealId": "A String", # The external deal id assigned to this deal once the deal is finalized. This is the deal-id that shows up in serving/reporting etc. (readonly) + "lastUpdateTimeMs": "A String", # The time (ms since epoch) when the deal was last updated. (readonly) + "programmaticCreativeSource": "A String", # Specifies the creative source for programmatic deals, PUBLISHER means creative is provided by seller and ADVERTISR means creative is provided by buyer. (buyer-readonly) + "kind": "adexchangebuyer#marketplaceDeal", # Identifies what kind of resource this is. Value: the fixed string "adexchangebuyer#marketplaceDeal". + "creativePreApprovalPolicy": "A String", # Specifies the creative pre-approval policy (buyer-readonly) + "name": "A String", # The name of the deal. (updatable) + "buyerPrivateData": { # Buyer private data (hidden from seller). + "referenceId": "A String", + "referencePayload": "A String", + }, + "syndicationProduct": "A String", # The syndication product associated with the deal. (readonly, except on create) + "productRevisionNumber": "A String", # The revision number of the product that the deal was created from (readonly, except on create) + "flightStartTimeMs": "A String", # Proposed flight start time of the deal (ms since epoch) This will generally be stored in a granularity of a second. (updatable) + "dealServingMetadata": { # Metadata about the serving status of this deal (readonly, writes via custom actions) + "dealPauseStatus": { # Tracks which parties (if any) have paused a deal. The deal is considered paused if has_buyer_paused || has_seller_paused. Each of the has_buyer_paused or the has_seller_paused bits can be set independently. # Tracks which parties (if any) have paused a deal. (readonly, except via PauseResumeOrderDeals action) + "hasSellerPaused": True or False, + "hasBuyerPaused": True or False, + "firstPausedBy": "A String", # If the deal is paused, records which party paused the deal first. + }, + }, + "creationTimeMs": "A String", # The time (ms since epoch) of the deal creation. (readonly) + }, + ], + "proposalRevisionNumber": "A String", # The updated revision number for the proposal. + } + + +
+ insert(proposalId, body) +
Add new deals for the specified proposal
+
+Args:
+  proposalId: string, proposalId for which deals need to be added. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "deals": [ # The list of deals to add
+      { # A proposal can contain multiple deals. A deal contains the terms and targeting information that is used for serving.
+        "flightEndTimeMs": "A String", # Proposed flight end time of the deal (ms since epoch) This will generally be stored in a granularity of a second. (updatable)
         "sellerContacts": [ # Optional Seller contact information for the deal (buyer-readonly)
           {
             "email": "A String", # Email address of the contact.
@@ -208,7 +318,19 @@ 

Method Details

], "webPropertyCode": "A String", "proposalId": "A String", - "flightStartTimeMs": "A String", # Proposed flight start time of the deal (ms since epoch) This will generally be stored in a granularity of a second. (updatable) + "inventoryDescription": "A String", # Description for the deal terms. (updatable) + "productId": "A String", # The product-id from which this deal was created. (readonly, except on create) + "deliveryControl": { # The set of fields around delivery control that are interesting for a buyer to see but are non-negotiable. These are set by the publisher. This message is assigned an id of 100 since some day we would want to model this as a protobuf extension. + "frequencyCaps": [ + { + "numTimeUnits": 42, + "timeUnitType": "A String", + "maxImpressions": 42, + }, + ], + "creativeBlockingLevel": "A String", + "deliveryRateType": "A String", + }, "terms": { # The negotiable terms of the deal. (updatable) "brandingType": "A String", # Visibilty of the URL in bid requests. "estimatedGrossSpend": { # Non-binding estimate of the estimated gross spend for this deal Can be set by buyer or seller. @@ -216,10 +338,12 @@

Method Details

"currencyCode": "A String", # The currency code for the price. "amountMicros": 3.14, # The price value in micros. }, + "sellerTimeZone": "A String", # For deals with Cost Per Day billing, defines the timezone used to mark the boundaries of a day (buyer-readonly) "estimatedImpressionsPerDay": "A String", # Non-binding estimate of the impressions served per day Can be set by buyer or seller. "nonGuaranteedFixedPriceTerms": { # The terms for non-guaranteed fixed price deals. "fixedPrices": [ # Fixed price for the specified buyer. { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an product can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set. + "auctionTier": "A String", # Optional access type for this buyer. "buyer": { # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer). "accountId": "A String", # Adx account id of the buyer. }, @@ -235,6 +359,7 @@

Method Details

"guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage of guaranteed looks that the buyer is guaranteeing to buy. "fixedPrices": [ # Fixed price for the specified buyer. { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an product can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set. + "auctionTier": "A String", # Optional access type for this buyer. "buyer": { # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer). "accountId": "A String", # Adx account id of the buyer. }, @@ -246,10 +371,21 @@

Method Details

}, ], "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for product. + "billingInfo": { # External billing info for this Deal. This field is relevant when external billing info such as price has a different currency code than DFP/AdX. + "price": { # The original reservation price for the deal, if the currency code is different from the one used in negotiation. + "pricingType": "A String", # The pricing type for the deal/product. + "currencyCode": "A String", # The currency code for the price. + "amountMicros": 3.14, # The price value in micros. + }, + "originalContractedQuantity": "A String", # The original contracted quantity (# impressions) for this deal. To ensure delivery, sometimes publisher will book the deal with a impression buffer, however clients are billed using the original contracted quantity. + "currencyConversionTimeMs": "A String", # The timestamp (in ms since epoch) when the original reservation price for the deal was first converted to DFP currency. This is used to convert the contracted price into advertiser's currency without discrepancy. + }, }, "nonGuaranteedAuctionTerms": { # The terms for non-guaranteed auction deals. + "autoOptimizePrivateAuction": True or False, # True if open auction buyers are allowed to compete with invited buyers in this private auction (buyer-readonly). "reservePricePerBuyers": [ # Reserve price for the specified buyer. { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an product can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set. + "auctionTier": "A String", # Optional access type for this buyer. "buyer": { # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer). "accountId": "A String", # Adx account id of the buyer. }, @@ -260,56 +396,12 @@

Method Details

}, }, ], - "privateAuctionId": "A String", # Id of the corresponding private auction. }, "description": "A String", # Description for the proposed terms of the deal. }, - "creationTimeMs": "A String", # The time (ms since epoch) of the deal creation. (readonly) - "lastUpdateTimeMs": "A String", # The time (ms since epoch) when the deal was last updated. (readonly) - "externalDealId": "A String", # The external deal id assigned to this deal once the deal is finalized. This is the deal-id that shows up in serving/reporting etc. (readonly) - "inventoryDescription": "A String", # Description for the deal terms. (updatable) - "productId": "A String", # The product-id from which this deal was created. (readonly, except on create) - }, - ], - "proposalRevisionNumber": "A String", # The updated revision number for the proposal. - }
-
- -
- insert(proposalId, body) -
Add new deals for the specified proposal
-
-Args:
-  proposalId: string, proposalId for which deals need to be added. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "deals": [ # The list of deals to add
-      { # A proposal can contain multiple deals. A deal contains the terms and targeting information that is used for serving.
-        "deliveryControl": { # The set of fields around delivery control that are interesting for a buyer to see but are non-negotiable. These are set by the publisher. This message is assigned an id of 100 since some day we would want to model this as a protobuf extension.
-          "frequencyCaps": [
-            {
-              "numTimeUnits": 42,
-              "timeUnitType": "A String",
-              "maxImpressions": 42,
-            },
-          ],
-          "creativeBlockingLevel": "A String",
-          "deliveryRateType": "A String",
-        },
-        "kind": "adexchangebuyer#marketplaceDeal", # Identifies what kind of resource this is. Value: the fixed string "adexchangebuyer#marketplaceDeal".
-        "creativePreApprovalPolicy": "A String", # Specifies the creative pre-approval policy (buyer-readonly)
-        "name": "A String", # The name of the deal. (updatable)
-        "buyerPrivateData": { # Buyer private data (hidden from seller).
-          "referenceId": "A String",
-          "referencePayload": "A String",
-        },
-        "syndicationProduct": "A String", # The syndication product associated with the deal. (readonly, except on create)
-        "flightEndTimeMs": "A String", # Proposed flight end time of the deal (ms since epoch) This will generally be stored in a granularity of a second. (updatable)
-        "sharedTargetings": [ # The shared targeting visible to buyers and sellers. (updatable)
+        "sharedTargetings": [ # The shared targeting visible to buyers and sellers. Each shared targeting entity is AND'd together. (updatable)
           {
-            "inclusions": [ # The list of value to include as part of the targeting.
+            "inclusions": [ # The list of value to include as part of the targeting. Each value is OR'd together.
               {
                 "longValue": "A String", # The long value to exclude/include.
                 "dayPartTargetingValue": { # The daypart targeting to include / exclude. Filled in when the key is GOOG_DAYPART_TARGETING.
@@ -340,7 +432,7 @@ 

Method Details

"stringValue": "A String", # The string value to exclude/include. }, ], - "exclusions": [ # The list of values to exclude from targeting. + "exclusions": [ # The list of values to exclude from targeting. Each value is AND'd together. { "longValue": "A String", # The long value to exclude/include. "dayPartTargetingValue": { # The daypart targeting to include / exclude. Filled in when the key is GOOG_DAYPART_TARGETING. @@ -374,8 +466,43 @@

Method Details

"key": "A String", # The key representing the shared targeting criterion. }, ], - "productRevisionNumber": "A String", # The revision number of the product that the deal was created from (readonly, except on create) "dealId": "A String", # A unique deal=id for the deal (readonly). + "creativeSafeFrameCompatibility": "A String", # Specifies whether the creative is safeFrame compatible (buyer-readonly) + "externalDealId": "A String", # The external deal id assigned to this deal once the deal is finalized. This is the deal-id that shows up in serving/reporting etc. (readonly) + "lastUpdateTimeMs": "A String", # The time (ms since epoch) when the deal was last updated. (readonly) + "programmaticCreativeSource": "A String", # Specifies the creative source for programmatic deals, PUBLISHER means creative is provided by seller and ADVERTISR means creative is provided by buyer. (buyer-readonly) + "kind": "adexchangebuyer#marketplaceDeal", # Identifies what kind of resource this is. Value: the fixed string "adexchangebuyer#marketplaceDeal". + "creativePreApprovalPolicy": "A String", # Specifies the creative pre-approval policy (buyer-readonly) + "name": "A String", # The name of the deal. (updatable) + "buyerPrivateData": { # Buyer private data (hidden from seller). + "referenceId": "A String", + "referencePayload": "A String", + }, + "syndicationProduct": "A String", # The syndication product associated with the deal. (readonly, except on create) + "productRevisionNumber": "A String", # The revision number of the product that the deal was created from (readonly, except on create) + "flightStartTimeMs": "A String", # Proposed flight start time of the deal (ms since epoch) This will generally be stored in a granularity of a second. (updatable) + "dealServingMetadata": { # Metadata about the serving status of this deal (readonly, writes via custom actions) + "dealPauseStatus": { # Tracks which parties (if any) have paused a deal. The deal is considered paused if has_buyer_paused || has_seller_paused. Each of the has_buyer_paused or the has_seller_paused bits can be set independently. # Tracks which parties (if any) have paused a deal. (readonly, except via PauseResumeOrderDeals action) + "hasSellerPaused": True or False, + "hasBuyerPaused": True or False, + "firstPausedBy": "A String", # If the deal is paused, records which party paused the deal first. + }, + }, + "creationTimeMs": "A String", # The time (ms since epoch) of the deal creation. (readonly) + }, + ], + "proposalRevisionNumber": "A String", # The last known proposal revision number. + "updateAction": "A String", # Indicates an optional action to take on the proposal + } + + +Returns: + An object of the form: + + { + "deals": [ # List of deals added (in the same proposal as passed in the request) + { # A proposal can contain multiple deals. A deal contains the terms and targeting information that is used for serving. + "flightEndTimeMs": "A String", # Proposed flight end time of the deal (ms since epoch) This will generally be stored in a granularity of a second. (updatable) "sellerContacts": [ # Optional Seller contact information for the deal (buyer-readonly) { "email": "A String", # Email address of the contact. @@ -384,7 +511,19 @@

Method Details

], "webPropertyCode": "A String", "proposalId": "A String", - "flightStartTimeMs": "A String", # Proposed flight start time of the deal (ms since epoch) This will generally be stored in a granularity of a second. (updatable) + "inventoryDescription": "A String", # Description for the deal terms. (updatable) + "productId": "A String", # The product-id from which this deal was created. (readonly, except on create) + "deliveryControl": { # The set of fields around delivery control that are interesting for a buyer to see but are non-negotiable. These are set by the publisher. This message is assigned an id of 100 since some day we would want to model this as a protobuf extension. + "frequencyCaps": [ + { + "numTimeUnits": 42, + "timeUnitType": "A String", + "maxImpressions": 42, + }, + ], + "creativeBlockingLevel": "A String", + "deliveryRateType": "A String", + }, "terms": { # The negotiable terms of the deal. (updatable) "brandingType": "A String", # Visibilty of the URL in bid requests. "estimatedGrossSpend": { # Non-binding estimate of the estimated gross spend for this deal Can be set by buyer or seller. @@ -392,10 +531,12 @@

Method Details

"currencyCode": "A String", # The currency code for the price. "amountMicros": 3.14, # The price value in micros. }, + "sellerTimeZone": "A String", # For deals with Cost Per Day billing, defines the timezone used to mark the boundaries of a day (buyer-readonly) "estimatedImpressionsPerDay": "A String", # Non-binding estimate of the impressions served per day Can be set by buyer or seller. "nonGuaranteedFixedPriceTerms": { # The terms for non-guaranteed fixed price deals. "fixedPrices": [ # Fixed price for the specified buyer. { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an product can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set. + "auctionTier": "A String", # Optional access type for this buyer. "buyer": { # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer). "accountId": "A String", # Adx account id of the buyer. }, @@ -411,6 +552,7 @@

Method Details

"guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage of guaranteed looks that the buyer is guaranteeing to buy. "fixedPrices": [ # Fixed price for the specified buyer. { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an product can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set. + "auctionTier": "A String", # Optional access type for this buyer. "buyer": { # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer). "accountId": "A String", # Adx account id of the buyer. }, @@ -422,10 +564,21 @@

Method Details

}, ], "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for product. + "billingInfo": { # External billing info for this Deal. This field is relevant when external billing info such as price has a different currency code than DFP/AdX. + "price": { # The original reservation price for the deal, if the currency code is different from the one used in negotiation. + "pricingType": "A String", # The pricing type for the deal/product. + "currencyCode": "A String", # The currency code for the price. + "amountMicros": 3.14, # The price value in micros. + }, + "originalContractedQuantity": "A String", # The original contracted quantity (# impressions) for this deal. To ensure delivery, sometimes publisher will book the deal with a impression buffer, however clients are billed using the original contracted quantity. + "currencyConversionTimeMs": "A String", # The timestamp (in ms since epoch) when the original reservation price for the deal was first converted to DFP currency. This is used to convert the contracted price into advertiser's currency without discrepancy. + }, }, "nonGuaranteedAuctionTerms": { # The terms for non-guaranteed auction deals. + "autoOptimizePrivateAuction": True or False, # True if open auction buyers are allowed to compete with invited buyers in this private auction (buyer-readonly). "reservePricePerBuyers": [ # Reserve price for the specified buyer. { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an product can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set. + "auctionTier": "A String", # Optional access type for this buyer. "buyer": { # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer). "accountId": "A String", # Adx account id of the buyer. }, @@ -436,51 +589,12 @@

Method Details

}, }, ], - "privateAuctionId": "A String", # Id of the corresponding private auction. }, "description": "A String", # Description for the proposed terms of the deal. }, - "creationTimeMs": "A String", # The time (ms since epoch) of the deal creation. (readonly) - "lastUpdateTimeMs": "A String", # The time (ms since epoch) when the deal was last updated. (readonly) - "externalDealId": "A String", # The external deal id assigned to this deal once the deal is finalized. This is the deal-id that shows up in serving/reporting etc. (readonly) - "inventoryDescription": "A String", # Description for the deal terms. (updatable) - "productId": "A String", # The product-id from which this deal was created. (readonly, except on create) - }, - ], - "proposalRevisionNumber": "A String", # The last known proposal revision number. - "updateAction": "A String", # Indicates an optional action to take on the proposal - } - - -Returns: - An object of the form: - - { - "deals": [ # List of deals added (in the same proposal as passed in the request) - { # A proposal can contain multiple deals. A deal contains the terms and targeting information that is used for serving. - "deliveryControl": { # The set of fields around delivery control that are interesting for a buyer to see but are non-negotiable. These are set by the publisher. This message is assigned an id of 100 since some day we would want to model this as a protobuf extension. - "frequencyCaps": [ - { - "numTimeUnits": 42, - "timeUnitType": "A String", - "maxImpressions": 42, - }, - ], - "creativeBlockingLevel": "A String", - "deliveryRateType": "A String", - }, - "kind": "adexchangebuyer#marketplaceDeal", # Identifies what kind of resource this is. Value: the fixed string "adexchangebuyer#marketplaceDeal". - "creativePreApprovalPolicy": "A String", # Specifies the creative pre-approval policy (buyer-readonly) - "name": "A String", # The name of the deal. (updatable) - "buyerPrivateData": { # Buyer private data (hidden from seller). - "referenceId": "A String", - "referencePayload": "A String", - }, - "syndicationProduct": "A String", # The syndication product associated with the deal. (readonly, except on create) - "flightEndTimeMs": "A String", # Proposed flight end time of the deal (ms since epoch) This will generally be stored in a granularity of a second. (updatable) - "sharedTargetings": [ # The shared targeting visible to buyers and sellers. (updatable) + "sharedTargetings": [ # The shared targeting visible to buyers and sellers. Each shared targeting entity is AND'd together. (updatable) { - "inclusions": [ # The list of value to include as part of the targeting. + "inclusions": [ # The list of value to include as part of the targeting. Each value is OR'd together. { "longValue": "A String", # The long value to exclude/include. "dayPartTargetingValue": { # The daypart targeting to include / exclude. Filled in when the key is GOOG_DAYPART_TARGETING. @@ -511,7 +625,7 @@

Method Details

"stringValue": "A String", # The string value to exclude/include. }, ], - "exclusions": [ # The list of values to exclude from targeting. + "exclusions": [ # The list of values to exclude from targeting. Each value is AND'd together. { "longValue": "A String", # The long value to exclude/include. "dayPartTargetingValue": { # The daypart targeting to include / exclude. Filled in when the key is GOOG_DAYPART_TARGETING. @@ -545,17 +659,71 @@

Method Details

"key": "A String", # The key representing the shared targeting criterion. }, ], - "productRevisionNumber": "A String", # The revision number of the product that the deal was created from (readonly, except on create) "dealId": "A String", # A unique deal=id for the deal (readonly). - "sellerContacts": [ # Optional Seller contact information for the deal (buyer-readonly) - { + "creativeSafeFrameCompatibility": "A String", # Specifies whether the creative is safeFrame compatible (buyer-readonly) + "externalDealId": "A String", # The external deal id assigned to this deal once the deal is finalized. This is the deal-id that shows up in serving/reporting etc. (readonly) + "lastUpdateTimeMs": "A String", # The time (ms since epoch) when the deal was last updated. (readonly) + "programmaticCreativeSource": "A String", # Specifies the creative source for programmatic deals, PUBLISHER means creative is provided by seller and ADVERTISR means creative is provided by buyer. (buyer-readonly) + "kind": "adexchangebuyer#marketplaceDeal", # Identifies what kind of resource this is. Value: the fixed string "adexchangebuyer#marketplaceDeal". + "creativePreApprovalPolicy": "A String", # Specifies the creative pre-approval policy (buyer-readonly) + "name": "A String", # The name of the deal. (updatable) + "buyerPrivateData": { # Buyer private data (hidden from seller). + "referenceId": "A String", + "referencePayload": "A String", + }, + "syndicationProduct": "A String", # The syndication product associated with the deal. (readonly, except on create) + "productRevisionNumber": "A String", # The revision number of the product that the deal was created from (readonly, except on create) + "flightStartTimeMs": "A String", # Proposed flight start time of the deal (ms since epoch) This will generally be stored in a granularity of a second. (updatable) + "dealServingMetadata": { # Metadata about the serving status of this deal (readonly, writes via custom actions) + "dealPauseStatus": { # Tracks which parties (if any) have paused a deal. The deal is considered paused if has_buyer_paused || has_seller_paused. Each of the has_buyer_paused or the has_seller_paused bits can be set independently. # Tracks which parties (if any) have paused a deal. (readonly, except via PauseResumeOrderDeals action) + "hasSellerPaused": True or False, + "hasBuyerPaused": True or False, + "firstPausedBy": "A String", # If the deal is paused, records which party paused the deal first. + }, + }, + "creationTimeMs": "A String", # The time (ms since epoch) of the deal creation. (readonly) + }, + ], + "proposalRevisionNumber": "A String", # The updated revision number for the proposal. + }
+
+ +
+ list(proposalId, pqlQuery=None) +
List all the deals for a given proposal
+
+Args:
+  proposalId: string, The proposalId to get deals for. To search across proposals specify order_id = '-' as part of the URL. (required)
+  pqlQuery: string, Query string to retrieve specific deals.
+
+Returns:
+  An object of the form:
+
+    {
+    "deals": [ # List of deals for the proposal
+      { # A proposal can contain multiple deals. A deal contains the terms and targeting information that is used for serving.
+        "flightEndTimeMs": "A String", # Proposed flight end time of the deal (ms since epoch) This will generally be stored in a granularity of a second. (updatable)
+        "sellerContacts": [ # Optional Seller contact information for the deal (buyer-readonly)
+          {
             "email": "A String", # Email address of the contact.
             "name": "A String", # The name of the contact.
           },
         ],
         "webPropertyCode": "A String",
         "proposalId": "A String",
-        "flightStartTimeMs": "A String", # Proposed flight start time of the deal (ms since epoch) This will generally be stored in a granularity of a second. (updatable)
+        "inventoryDescription": "A String", # Description for the deal terms. (updatable)
+        "productId": "A String", # The product-id from which this deal was created. (readonly, except on create)
+        "deliveryControl": { # The set of fields around delivery control that are interesting for a buyer to see but are non-negotiable. These are set by the publisher. This message is assigned an id of 100 since some day we would want to model this as a protobuf extension.
+          "frequencyCaps": [
+            {
+              "numTimeUnits": 42,
+              "timeUnitType": "A String",
+              "maxImpressions": 42,
+            },
+          ],
+          "creativeBlockingLevel": "A String",
+          "deliveryRateType": "A String",
+        },
         "terms": { # The negotiable terms of the deal. (updatable)
           "brandingType": "A String", # Visibilty of the URL in bid requests.
           "estimatedGrossSpend": { # Non-binding estimate of the estimated gross spend for this deal Can be set by buyer or seller.
@@ -563,10 +731,12 @@ 

Method Details

"currencyCode": "A String", # The currency code for the price. "amountMicros": 3.14, # The price value in micros. }, + "sellerTimeZone": "A String", # For deals with Cost Per Day billing, defines the timezone used to mark the boundaries of a day (buyer-readonly) "estimatedImpressionsPerDay": "A String", # Non-binding estimate of the impressions served per day Can be set by buyer or seller. "nonGuaranteedFixedPriceTerms": { # The terms for non-guaranteed fixed price deals. "fixedPrices": [ # Fixed price for the specified buyer. { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an product can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set. + "auctionTier": "A String", # Optional access type for this buyer. "buyer": { # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer). "accountId": "A String", # Adx account id of the buyer. }, @@ -582,6 +752,7 @@

Method Details

"guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage of guaranteed looks that the buyer is guaranteeing to buy. "fixedPrices": [ # Fixed price for the specified buyer. { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an product can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set. + "auctionTier": "A String", # Optional access type for this buyer. "buyer": { # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer). "accountId": "A String", # Adx account id of the buyer. }, @@ -593,10 +764,21 @@

Method Details

}, ], "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for product. + "billingInfo": { # External billing info for this Deal. This field is relevant when external billing info such as price has a different currency code than DFP/AdX. + "price": { # The original reservation price for the deal, if the currency code is different from the one used in negotiation. + "pricingType": "A String", # The pricing type for the deal/product. + "currencyCode": "A String", # The currency code for the price. + "amountMicros": 3.14, # The price value in micros. + }, + "originalContractedQuantity": "A String", # The original contracted quantity (# impressions) for this deal. To ensure delivery, sometimes publisher will book the deal with a impression buffer, however clients are billed using the original contracted quantity. + "currencyConversionTimeMs": "A String", # The timestamp (in ms since epoch) when the original reservation price for the deal was first converted to DFP currency. This is used to convert the contracted price into advertiser's currency without discrepancy. + }, }, "nonGuaranteedAuctionTerms": { # The terms for non-guaranteed auction deals. + "autoOptimizePrivateAuction": True or False, # True if open auction buyers are allowed to compete with invited buyers in this private auction (buyer-readonly). "reservePricePerBuyers": [ # Reserve price for the specified buyer. { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an product can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set. + "auctionTier": "A String", # Optional access type for this buyer. "buyer": { # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer). "accountId": "A String", # Adx account id of the buyer. }, @@ -607,57 +789,12 @@

Method Details

}, }, ], - "privateAuctionId": "A String", # Id of the corresponding private auction. }, "description": "A String", # Description for the proposed terms of the deal. }, - "creationTimeMs": "A String", # The time (ms since epoch) of the deal creation. (readonly) - "lastUpdateTimeMs": "A String", # The time (ms since epoch) when the deal was last updated. (readonly) - "externalDealId": "A String", # The external deal id assigned to this deal once the deal is finalized. This is the deal-id that shows up in serving/reporting etc. (readonly) - "inventoryDescription": "A String", # Description for the deal terms. (updatable) - "productId": "A String", # The product-id from which this deal was created. (readonly, except on create) - }, - ], - "proposalRevisionNumber": "A String", # The updated revision number for the proposal. - }
-
- -
- list(proposalId) -
List all the deals for a given proposal
-
-Args:
-  proposalId: string, The proposalId to get deals for. (required)
-
-Returns:
-  An object of the form:
-
-    {
-    "deals": [ # List of deals for the proposal
-      { # A proposal can contain multiple deals. A deal contains the terms and targeting information that is used for serving.
-        "deliveryControl": { # The set of fields around delivery control that are interesting for a buyer to see but are non-negotiable. These are set by the publisher. This message is assigned an id of 100 since some day we would want to model this as a protobuf extension.
-          "frequencyCaps": [
-            {
-              "numTimeUnits": 42,
-              "timeUnitType": "A String",
-              "maxImpressions": 42,
-            },
-          ],
-          "creativeBlockingLevel": "A String",
-          "deliveryRateType": "A String",
-        },
-        "kind": "adexchangebuyer#marketplaceDeal", # Identifies what kind of resource this is. Value: the fixed string "adexchangebuyer#marketplaceDeal".
-        "creativePreApprovalPolicy": "A String", # Specifies the creative pre-approval policy (buyer-readonly)
-        "name": "A String", # The name of the deal. (updatable)
-        "buyerPrivateData": { # Buyer private data (hidden from seller).
-          "referenceId": "A String",
-          "referencePayload": "A String",
-        },
-        "syndicationProduct": "A String", # The syndication product associated with the deal. (readonly, except on create)
-        "flightEndTimeMs": "A String", # Proposed flight end time of the deal (ms since epoch) This will generally be stored in a granularity of a second. (updatable)
-        "sharedTargetings": [ # The shared targeting visible to buyers and sellers. (updatable)
+        "sharedTargetings": [ # The shared targeting visible to buyers and sellers. Each shared targeting entity is AND'd together. (updatable)
           {
-            "inclusions": [ # The list of value to include as part of the targeting.
+            "inclusions": [ # The list of value to include as part of the targeting. Each value is OR'd together.
               {
                 "longValue": "A String", # The long value to exclude/include.
                 "dayPartTargetingValue": { # The daypart targeting to include / exclude. Filled in when the key is GOOG_DAYPART_TARGETING.
@@ -688,7 +825,7 @@ 

Method Details

"stringValue": "A String", # The string value to exclude/include. }, ], - "exclusions": [ # The list of values to exclude from targeting. + "exclusions": [ # The list of values to exclude from targeting. Each value is AND'd together. { "longValue": "A String", # The long value to exclude/include. "dayPartTargetingValue": { # The daypart targeting to include / exclude. Filled in when the key is GOOG_DAYPART_TARGETING. @@ -722,8 +859,47 @@

Method Details

"key": "A String", # The key representing the shared targeting criterion. }, ], - "productRevisionNumber": "A String", # The revision number of the product that the deal was created from (readonly, except on create) "dealId": "A String", # A unique deal=id for the deal (readonly). + "creativeSafeFrameCompatibility": "A String", # Specifies whether the creative is safeFrame compatible (buyer-readonly) + "externalDealId": "A String", # The external deal id assigned to this deal once the deal is finalized. This is the deal-id that shows up in serving/reporting etc. (readonly) + "lastUpdateTimeMs": "A String", # The time (ms since epoch) when the deal was last updated. (readonly) + "programmaticCreativeSource": "A String", # Specifies the creative source for programmatic deals, PUBLISHER means creative is provided by seller and ADVERTISR means creative is provided by buyer. (buyer-readonly) + "kind": "adexchangebuyer#marketplaceDeal", # Identifies what kind of resource this is. Value: the fixed string "adexchangebuyer#marketplaceDeal". + "creativePreApprovalPolicy": "A String", # Specifies the creative pre-approval policy (buyer-readonly) + "name": "A String", # The name of the deal. (updatable) + "buyerPrivateData": { # Buyer private data (hidden from seller). + "referenceId": "A String", + "referencePayload": "A String", + }, + "syndicationProduct": "A String", # The syndication product associated with the deal. (readonly, except on create) + "productRevisionNumber": "A String", # The revision number of the product that the deal was created from (readonly, except on create) + "flightStartTimeMs": "A String", # Proposed flight start time of the deal (ms since epoch) This will generally be stored in a granularity of a second. (updatable) + "dealServingMetadata": { # Metadata about the serving status of this deal (readonly, writes via custom actions) + "dealPauseStatus": { # Tracks which parties (if any) have paused a deal. The deal is considered paused if has_buyer_paused || has_seller_paused. Each of the has_buyer_paused or the has_seller_paused bits can be set independently. # Tracks which parties (if any) have paused a deal. (readonly, except via PauseResumeOrderDeals action) + "hasSellerPaused": True or False, + "hasBuyerPaused": True or False, + "firstPausedBy": "A String", # If the deal is paused, records which party paused the deal first. + }, + }, + "creationTimeMs": "A String", # The time (ms since epoch) of the deal creation. (readonly) + }, + ], + }
+
+ +
+ update(proposalId, body) +
Replaces all the deals in the proposal with the passed in deals
+
+Args:
+  proposalId: string, The proposalId to edit deals on. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "deals": [ # List of deals to edit. Service may perform 3 different operations based on comparison of deals in this list vs deals already persisted in database: 1. Add new deal to proposal If a deal in this list does not exist in the proposal, the service will create a new deal and add it to the proposal. Validation will follow AddOrderDealsRequest. 2. Update existing deal in the proposal If a deal in this list already exist in the proposal, the service will update that existing deal to this new deal in the request. Validation will follow UpdateOrderDealsRequest. 3. Delete deals from the proposal (just need the id) If a existing deal in the proposal is not present in this list, the service will delete that deal from the proposal. Validation will follow DeleteOrderDealsRequest.
+      { # A proposal can contain multiple deals. A deal contains the terms and targeting information that is used for serving.
+        "flightEndTimeMs": "A String", # Proposed flight end time of the deal (ms since epoch) This will generally be stored in a granularity of a second. (updatable)
         "sellerContacts": [ # Optional Seller contact information for the deal (buyer-readonly)
           {
             "email": "A String", # Email address of the contact.
@@ -732,7 +908,19 @@ 

Method Details

], "webPropertyCode": "A String", "proposalId": "A String", - "flightStartTimeMs": "A String", # Proposed flight start time of the deal (ms since epoch) This will generally be stored in a granularity of a second. (updatable) + "inventoryDescription": "A String", # Description for the deal terms. (updatable) + "productId": "A String", # The product-id from which this deal was created. (readonly, except on create) + "deliveryControl": { # The set of fields around delivery control that are interesting for a buyer to see but are non-negotiable. These are set by the publisher. This message is assigned an id of 100 since some day we would want to model this as a protobuf extension. + "frequencyCaps": [ + { + "numTimeUnits": 42, + "timeUnitType": "A String", + "maxImpressions": 42, + }, + ], + "creativeBlockingLevel": "A String", + "deliveryRateType": "A String", + }, "terms": { # The negotiable terms of the deal. (updatable) "brandingType": "A String", # Visibilty of the URL in bid requests. "estimatedGrossSpend": { # Non-binding estimate of the estimated gross spend for this deal Can be set by buyer or seller. @@ -740,10 +928,12 @@

Method Details

"currencyCode": "A String", # The currency code for the price. "amountMicros": 3.14, # The price value in micros. }, + "sellerTimeZone": "A String", # For deals with Cost Per Day billing, defines the timezone used to mark the boundaries of a day (buyer-readonly) "estimatedImpressionsPerDay": "A String", # Non-binding estimate of the impressions served per day Can be set by buyer or seller. "nonGuaranteedFixedPriceTerms": { # The terms for non-guaranteed fixed price deals. "fixedPrices": [ # Fixed price for the specified buyer. { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an product can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set. + "auctionTier": "A String", # Optional access type for this buyer. "buyer": { # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer). "accountId": "A String", # Adx account id of the buyer. }, @@ -759,6 +949,7 @@

Method Details

"guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage of guaranteed looks that the buyer is guaranteeing to buy. "fixedPrices": [ # Fixed price for the specified buyer. { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an product can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set. + "auctionTier": "A String", # Optional access type for this buyer. "buyer": { # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer). "accountId": "A String", # Adx account id of the buyer. }, @@ -770,10 +961,21 @@

Method Details

}, ], "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for product. + "billingInfo": { # External billing info for this Deal. This field is relevant when external billing info such as price has a different currency code than DFP/AdX. + "price": { # The original reservation price for the deal, if the currency code is different from the one used in negotiation. + "pricingType": "A String", # The pricing type for the deal/product. + "currencyCode": "A String", # The currency code for the price. + "amountMicros": 3.14, # The price value in micros. + }, + "originalContractedQuantity": "A String", # The original contracted quantity (# impressions) for this deal. To ensure delivery, sometimes publisher will book the deal with a impression buffer, however clients are billed using the original contracted quantity. + "currencyConversionTimeMs": "A String", # The timestamp (in ms since epoch) when the original reservation price for the deal was first converted to DFP currency. This is used to convert the contracted price into advertiser's currency without discrepancy. + }, }, "nonGuaranteedAuctionTerms": { # The terms for non-guaranteed auction deals. + "autoOptimizePrivateAuction": True or False, # True if open auction buyers are allowed to compete with invited buyers in this private auction (buyer-readonly). "reservePricePerBuyers": [ # Reserve price for the specified buyer. { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an product can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set. + "auctionTier": "A String", # Optional access type for this buyer. "buyer": { # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer). "accountId": "A String", # Adx account id of the buyer. }, @@ -784,55 +986,12 @@

Method Details

}, }, ], - "privateAuctionId": "A String", # Id of the corresponding private auction. }, "description": "A String", # Description for the proposed terms of the deal. }, - "creationTimeMs": "A String", # The time (ms since epoch) of the deal creation. (readonly) - "lastUpdateTimeMs": "A String", # The time (ms since epoch) when the deal was last updated. (readonly) - "externalDealId": "A String", # The external deal id assigned to this deal once the deal is finalized. This is the deal-id that shows up in serving/reporting etc. (readonly) - "inventoryDescription": "A String", # Description for the deal terms. (updatable) - "productId": "A String", # The product-id from which this deal was created. (readonly, except on create) - }, - ], - }
-
- -
- update(proposalId, body) -
Replaces all the deals in the proposal with the passed in deals
-
-Args:
-  proposalId: string, The proposalId to edit deals on. (required)
-  body: object, The request body. (required)
-    The object takes the form of:
-
-{
-    "deals": [ # List of deals to edit. Service may perform 3 different operations based on comparison of deals in this list vs deals already persisted in database: 1. Add new deal to proposal If a deal in this list does not exist in the proposal, the service will create a new deal and add it to the proposal. Validation will follow AddOrderDealsRequest. 2. Update existing deal in the proposal If a deal in this list already exist in the proposal, the service will update that existing deal to this new deal in the request. Validation will follow UpdateOrderDealsRequest. 3. Delete deals from the proposal (just need the id) If a existing deal in the proposal is not present in this list, the service will delete that deal from the proposal. Validation will follow DeleteOrderDealsRequest.
-      { # A proposal can contain multiple deals. A deal contains the terms and targeting information that is used for serving.
-        "deliveryControl": { # The set of fields around delivery control that are interesting for a buyer to see but are non-negotiable. These are set by the publisher. This message is assigned an id of 100 since some day we would want to model this as a protobuf extension.
-          "frequencyCaps": [
-            {
-              "numTimeUnits": 42,
-              "timeUnitType": "A String",
-              "maxImpressions": 42,
-            },
-          ],
-          "creativeBlockingLevel": "A String",
-          "deliveryRateType": "A String",
-        },
-        "kind": "adexchangebuyer#marketplaceDeal", # Identifies what kind of resource this is. Value: the fixed string "adexchangebuyer#marketplaceDeal".
-        "creativePreApprovalPolicy": "A String", # Specifies the creative pre-approval policy (buyer-readonly)
-        "name": "A String", # The name of the deal. (updatable)
-        "buyerPrivateData": { # Buyer private data (hidden from seller).
-          "referenceId": "A String",
-          "referencePayload": "A String",
-        },
-        "syndicationProduct": "A String", # The syndication product associated with the deal. (readonly, except on create)
-        "flightEndTimeMs": "A String", # Proposed flight end time of the deal (ms since epoch) This will generally be stored in a granularity of a second. (updatable)
-        "sharedTargetings": [ # The shared targeting visible to buyers and sellers. (updatable)
+        "sharedTargetings": [ # The shared targeting visible to buyers and sellers. Each shared targeting entity is AND'd together. (updatable)
           {
-            "inclusions": [ # The list of value to include as part of the targeting.
+            "inclusions": [ # The list of value to include as part of the targeting. Each value is OR'd together.
               {
                 "longValue": "A String", # The long value to exclude/include.
                 "dayPartTargetingValue": { # The daypart targeting to include / exclude. Filled in when the key is GOOG_DAYPART_TARGETING.
@@ -863,7 +1022,7 @@ 

Method Details

"stringValue": "A String", # The string value to exclude/include. }, ], - "exclusions": [ # The list of values to exclude from targeting. + "exclusions": [ # The list of values to exclude from targeting. Each value is AND'd together. { "longValue": "A String", # The long value to exclude/include. "dayPartTargetingValue": { # The daypart targeting to include / exclude. Filled in when the key is GOOG_DAYPART_TARGETING. @@ -897,92 +1056,34 @@

Method Details

"key": "A String", # The key representing the shared targeting criterion. }, ], - "productRevisionNumber": "A String", # The revision number of the product that the deal was created from (readonly, except on create) "dealId": "A String", # A unique deal=id for the deal (readonly). - "sellerContacts": [ # Optional Seller contact information for the deal (buyer-readonly) - { - "email": "A String", # Email address of the contact. - "name": "A String", # The name of the contact. - }, - ], - "webPropertyCode": "A String", - "proposalId": "A String", + "creativeSafeFrameCompatibility": "A String", # Specifies whether the creative is safeFrame compatible (buyer-readonly) + "externalDealId": "A String", # The external deal id assigned to this deal once the deal is finalized. This is the deal-id that shows up in serving/reporting etc. (readonly) + "lastUpdateTimeMs": "A String", # The time (ms since epoch) when the deal was last updated. (readonly) + "programmaticCreativeSource": "A String", # Specifies the creative source for programmatic deals, PUBLISHER means creative is provided by seller and ADVERTISR means creative is provided by buyer. (buyer-readonly) + "kind": "adexchangebuyer#marketplaceDeal", # Identifies what kind of resource this is. Value: the fixed string "adexchangebuyer#marketplaceDeal". + "creativePreApprovalPolicy": "A String", # Specifies the creative pre-approval policy (buyer-readonly) + "name": "A String", # The name of the deal. (updatable) + "buyerPrivateData": { # Buyer private data (hidden from seller). + "referenceId": "A String", + "referencePayload": "A String", + }, + "syndicationProduct": "A String", # The syndication product associated with the deal. (readonly, except on create) + "productRevisionNumber": "A String", # The revision number of the product that the deal was created from (readonly, except on create) "flightStartTimeMs": "A String", # Proposed flight start time of the deal (ms since epoch) This will generally be stored in a granularity of a second. (updatable) - "terms": { # The negotiable terms of the deal. (updatable) - "brandingType": "A String", # Visibilty of the URL in bid requests. - "estimatedGrossSpend": { # Non-binding estimate of the estimated gross spend for this deal Can be set by buyer or seller. - "pricingType": "A String", # The pricing type for the deal/product. - "currencyCode": "A String", # The currency code for the price. - "amountMicros": 3.14, # The price value in micros. + "dealServingMetadata": { # Metadata about the serving status of this deal (readonly, writes via custom actions) + "dealPauseStatus": { # Tracks which parties (if any) have paused a deal. The deal is considered paused if has_buyer_paused || has_seller_paused. Each of the has_buyer_paused or the has_seller_paused bits can be set independently. # Tracks which parties (if any) have paused a deal. (readonly, except via PauseResumeOrderDeals action) + "hasSellerPaused": True or False, + "hasBuyerPaused": True or False, + "firstPausedBy": "A String", # If the deal is paused, records which party paused the deal first. }, - "estimatedImpressionsPerDay": "A String", # Non-binding estimate of the impressions served per day Can be set by buyer or seller. - "nonGuaranteedFixedPriceTerms": { # The terms for non-guaranteed fixed price deals. - "fixedPrices": [ # Fixed price for the specified buyer. - { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an product can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set. - "buyer": { # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer). - "accountId": "A String", # Adx account id of the buyer. - }, - "price": { # The specified price - "pricingType": "A String", # The pricing type for the deal/product. - "currencyCode": "A String", # The currency code for the price. - "amountMicros": 3.14, # The price value in micros. - }, - }, - ], - }, - "guaranteedFixedPriceTerms": { # The terms for guaranteed fixed price deals. - "guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage of guaranteed looks that the buyer is guaranteeing to buy. - "fixedPrices": [ # Fixed price for the specified buyer. - { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an product can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set. - "buyer": { # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer). - "accountId": "A String", # Adx account id of the buyer. - }, - "price": { # The specified price - "pricingType": "A String", # The pricing type for the deal/product. - "currencyCode": "A String", # The currency code for the price. - "amountMicros": 3.14, # The price value in micros. - }, - }, - ], - "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for product. - }, - "nonGuaranteedAuctionTerms": { # The terms for non-guaranteed auction deals. - "reservePricePerBuyers": [ # Reserve price for the specified buyer. - { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an product can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set. - "buyer": { # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer). - "accountId": "A String", # Adx account id of the buyer. - }, - "price": { # The specified price - "pricingType": "A String", # The pricing type for the deal/product. - "currencyCode": "A String", # The currency code for the price. - "amountMicros": 3.14, # The price value in micros. - }, - }, - ], - "privateAuctionId": "A String", # Id of the corresponding private auction. - }, - "description": "A String", # Description for the proposed terms of the deal. }, "creationTimeMs": "A String", # The time (ms since epoch) of the deal creation. (readonly) - "lastUpdateTimeMs": "A String", # The time (ms since epoch) when the deal was last updated. (readonly) - "externalDealId": "A String", # The external deal id assigned to this deal once the deal is finalized. This is the deal-id that shows up in serving/reporting etc. (readonly) - "inventoryDescription": "A String", # Description for the deal terms. (updatable) - "productId": "A String", # The product-id from which this deal was created. (readonly, except on create) }, ], "proposal": { # Represents a proposal in the marketplace. A proposal is the unit of negotiation between a seller and a buyer and contains deals which are served. Each field in a proposal can have one of the following setting: # If specified, also updates the proposal in the batch transaction. This is useful when the proposal and the deals need to be updated in one transaction. # # (readonly) - It is an error to try and set this field. (buyer-readonly) - Only the seller can set this field. (seller-readonly) - Only the buyer can set this field. (updatable) - The field is updatable at all times by either buyer or the seller. - "kind": "adexchangebuyer#proposal", # Identifies what kind of resource this is. Value: the fixed string "adexchangebuyer#proposal". - "proposalState": "A String", # The current state of the proposal. (readonly) - "name": "A String", # The name for the proposal (updatable) - "buyerPrivateData": { # Private data for buyer. (hidden from seller). - "referenceId": "A String", - "referencePayload": "A String", - }, - "billedBuyer": { # Reference to the buyer that will get billed for this proposal. (readonly) - "accountId": "A String", # Adx account id of the buyer. - }, "labels": [ # List of labels associated with the proposal. (readonly) { "createTimeMs": "A String", # The creation time (in ms since epoch) for the label. @@ -999,30 +1100,41 @@

Method Details

"accountId": "A String", # The accountId of the party that created the label. }, ], - "originatorRole": "A String", # Indicates whether the buyer/seller created the proposal.(readonly) - "revisionTimeMs": "A String", # The time (ms since epoch) when the proposal was last revised (readonly). "sellerContacts": [ # Optional contact information for the seller (buyer-readonly). { "email": "A String", # Email address of the contact. "name": "A String", # The name of the contact. }, ], - "lastUpdaterRole": "A String", - "proposalId": "A String", # The unique id of the proposal. (readonly). + "negotiationId": "A String", # Optional negotiation id if this proposal is a preferred deal proposal. "inventorySource": "A String", # What exchange will provide this inventory (readonly, except on create). "revisionNumber": "A String", # The revision number for the proposal (readonly). - "hasSellerSignedOff": True or False, # When an proposal is in an accepted state, indicates whether the buyer has signed off Once both sides have signed off on a deal, the proposal can be finalized by the seller. (buyer-readonly) + "revisionTimeMs": "A String", # The time (ms since epoch) when the proposal was last revised (readonly). + "seller": { # Reference to the seller on the proposal. (readonly, except on create) + "subAccountId": "A String", # Optional sub-account id for the seller. + "accountId": "A String", # The unique id for the seller. The seller fills in this field. The seller account id is then available to buyer in the product. + }, + "proposalId": "A String", # The unique id of the proposal. (readonly). "isRenegotiating": True or False, # True if the proposal is being renegotiated (readonly). + "lastUpdaterOrCommentorRole": "A String", # The role of the last user that either updated the proposal or left a comment. (readonly) + "privateAuctionId": "A String", # Optional private auction id if this proposal is a private auction proposal. + "originatorRole": "A String", # Indicates whether the buyer/seller created the proposal.(readonly) + "hasSellerSignedOff": True or False, # When an proposal is in an accepted state, indicates whether the buyer has signed off Once both sides have signed off on a deal, the proposal can be finalized by the seller. (buyer-readonly) "buyer": { # Reference to the buyer on the proposal. (readonly, except on create) "accountId": "A String", # Adx account id of the buyer. }, "hasBuyerSignedOff": True or False, # When an proposal is in an accepted state, indicates whether the buyer has signed off Once both sides have signed off on a deal, the proposal can be finalized by the seller. (seller-readonly) - "isSetupComplete": True or False, # True, if the buyside inventory setup is complete for this proposal. (readonly) - "seller": { # Reference to the seller on the proposal. (readonly, except on create) - "subAccountId": "A String", # Optional sub-account id for the seller. - "accountId": "A String", # The unique id for the seller. The seller fills in this field. The seller account id is then available to buyer in the product. + "kind": "adexchangebuyer#proposal", # Identifies what kind of resource this is. Value: the fixed string "adexchangebuyer#proposal". + "proposalState": "A String", # The current state of the proposal. (readonly) + "name": "A String", # The name for the proposal (updatable) + "buyerPrivateData": { # Private data for buyer. (hidden from seller). + "referenceId": "A String", + "referencePayload": "A String", }, - "lastUpdaterOrCommentorRole": "A String", # The role of the last user that either updated the proposal or left a comment. (readonly) + "billedBuyer": { # Reference to the buyer that will get billed for this proposal. (readonly) + "accountId": "A String", # Adx account id of the buyer. + }, + "isSetupComplete": True or False, # True, if the buyside inventory setup is complete for this proposal. (readonly, except via OrderSetupCompleted action) "buyerContacts": [ # Optional contact information fort the buyer. (seller-readonly) { "email": "A String", # Email address of the contact. @@ -1041,6 +1153,17 @@

Method Details

{ "deals": [ # List of all deals in the proposal after edit. { # A proposal can contain multiple deals. A deal contains the terms and targeting information that is used for serving. + "flightEndTimeMs": "A String", # Proposed flight end time of the deal (ms since epoch) This will generally be stored in a granularity of a second. (updatable) + "sellerContacts": [ # Optional Seller contact information for the deal (buyer-readonly) + { + "email": "A String", # Email address of the contact. + "name": "A String", # The name of the contact. + }, + ], + "webPropertyCode": "A String", + "proposalId": "A String", + "inventoryDescription": "A String", # Description for the deal terms. (updatable) + "productId": "A String", # The product-id from which this deal was created. (readonly, except on create) "deliveryControl": { # The set of fields around delivery control that are interesting for a buyer to see but are non-negotiable. These are set by the publisher. This message is assigned an id of 100 since some day we would want to model this as a protobuf extension. "frequencyCaps": [ { @@ -1052,18 +1175,77 @@

Method Details

"creativeBlockingLevel": "A String", "deliveryRateType": "A String", }, - "kind": "adexchangebuyer#marketplaceDeal", # Identifies what kind of resource this is. Value: the fixed string "adexchangebuyer#marketplaceDeal". - "creativePreApprovalPolicy": "A String", # Specifies the creative pre-approval policy (buyer-readonly) - "name": "A String", # The name of the deal. (updatable) - "buyerPrivateData": { # Buyer private data (hidden from seller). - "referenceId": "A String", - "referencePayload": "A String", + "terms": { # The negotiable terms of the deal. (updatable) + "brandingType": "A String", # Visibilty of the URL in bid requests. + "estimatedGrossSpend": { # Non-binding estimate of the estimated gross spend for this deal Can be set by buyer or seller. + "pricingType": "A String", # The pricing type for the deal/product. + "currencyCode": "A String", # The currency code for the price. + "amountMicros": 3.14, # The price value in micros. + }, + "sellerTimeZone": "A String", # For deals with Cost Per Day billing, defines the timezone used to mark the boundaries of a day (buyer-readonly) + "estimatedImpressionsPerDay": "A String", # Non-binding estimate of the impressions served per day Can be set by buyer or seller. + "nonGuaranteedFixedPriceTerms": { # The terms for non-guaranteed fixed price deals. + "fixedPrices": [ # Fixed price for the specified buyer. + { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an product can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set. + "auctionTier": "A String", # Optional access type for this buyer. + "buyer": { # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer). + "accountId": "A String", # Adx account id of the buyer. + }, + "price": { # The specified price + "pricingType": "A String", # The pricing type for the deal/product. + "currencyCode": "A String", # The currency code for the price. + "amountMicros": 3.14, # The price value in micros. + }, + }, + ], + }, + "guaranteedFixedPriceTerms": { # The terms for guaranteed fixed price deals. + "guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage of guaranteed looks that the buyer is guaranteeing to buy. + "fixedPrices": [ # Fixed price for the specified buyer. + { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an product can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set. + "auctionTier": "A String", # Optional access type for this buyer. + "buyer": { # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer). + "accountId": "A String", # Adx account id of the buyer. + }, + "price": { # The specified price + "pricingType": "A String", # The pricing type for the deal/product. + "currencyCode": "A String", # The currency code for the price. + "amountMicros": 3.14, # The price value in micros. + }, + }, + ], + "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for product. + "billingInfo": { # External billing info for this Deal. This field is relevant when external billing info such as price has a different currency code than DFP/AdX. + "price": { # The original reservation price for the deal, if the currency code is different from the one used in negotiation. + "pricingType": "A String", # The pricing type for the deal/product. + "currencyCode": "A String", # The currency code for the price. + "amountMicros": 3.14, # The price value in micros. + }, + "originalContractedQuantity": "A String", # The original contracted quantity (# impressions) for this deal. To ensure delivery, sometimes publisher will book the deal with a impression buffer, however clients are billed using the original contracted quantity. + "currencyConversionTimeMs": "A String", # The timestamp (in ms since epoch) when the original reservation price for the deal was first converted to DFP currency. This is used to convert the contracted price into advertiser's currency without discrepancy. + }, + }, + "nonGuaranteedAuctionTerms": { # The terms for non-guaranteed auction deals. + "autoOptimizePrivateAuction": True or False, # True if open auction buyers are allowed to compete with invited buyers in this private auction (buyer-readonly). + "reservePricePerBuyers": [ # Reserve price for the specified buyer. + { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an product can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set. + "auctionTier": "A String", # Optional access type for this buyer. + "buyer": { # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer). + "accountId": "A String", # Adx account id of the buyer. + }, + "price": { # The specified price + "pricingType": "A String", # The pricing type for the deal/product. + "currencyCode": "A String", # The currency code for the price. + "amountMicros": 3.14, # The price value in micros. + }, + }, + ], + }, + "description": "A String", # Description for the proposed terms of the deal. }, - "syndicationProduct": "A String", # The syndication product associated with the deal. (readonly, except on create) - "flightEndTimeMs": "A String", # Proposed flight end time of the deal (ms since epoch) This will generally be stored in a granularity of a second. (updatable) - "sharedTargetings": [ # The shared targeting visible to buyers and sellers. (updatable) + "sharedTargetings": [ # The shared targeting visible to buyers and sellers. Each shared targeting entity is AND'd together. (updatable) { - "inclusions": [ # The list of value to include as part of the targeting. + "inclusions": [ # The list of value to include as part of the targeting. Each value is OR'd together. { "longValue": "A String", # The long value to exclude/include. "dayPartTargetingValue": { # The daypart targeting to include / exclude. Filled in when the key is GOOG_DAYPART_TARGETING. @@ -1094,7 +1276,7 @@

Method Details

"stringValue": "A String", # The string value to exclude/include. }, ], - "exclusions": [ # The list of values to exclude from targeting. + "exclusions": [ # The list of values to exclude from targeting. Each value is AND'd together. { "longValue": "A String", # The long value to exclude/include. "dayPartTargetingValue": { # The daypart targeting to include / exclude. Filled in when the key is GOOG_DAYPART_TARGETING. @@ -1128,79 +1310,32 @@

Method Details

"key": "A String", # The key representing the shared targeting criterion. }, ], - "productRevisionNumber": "A String", # The revision number of the product that the deal was created from (readonly, except on create) "dealId": "A String", # A unique deal=id for the deal (readonly). - "sellerContacts": [ # Optional Seller contact information for the deal (buyer-readonly) - { - "email": "A String", # Email address of the contact. - "name": "A String", # The name of the contact. - }, - ], - "webPropertyCode": "A String", - "proposalId": "A String", + "creativeSafeFrameCompatibility": "A String", # Specifies whether the creative is safeFrame compatible (buyer-readonly) + "externalDealId": "A String", # The external deal id assigned to this deal once the deal is finalized. This is the deal-id that shows up in serving/reporting etc. (readonly) + "lastUpdateTimeMs": "A String", # The time (ms since epoch) when the deal was last updated. (readonly) + "programmaticCreativeSource": "A String", # Specifies the creative source for programmatic deals, PUBLISHER means creative is provided by seller and ADVERTISR means creative is provided by buyer. (buyer-readonly) + "kind": "adexchangebuyer#marketplaceDeal", # Identifies what kind of resource this is. Value: the fixed string "adexchangebuyer#marketplaceDeal". + "creativePreApprovalPolicy": "A String", # Specifies the creative pre-approval policy (buyer-readonly) + "name": "A String", # The name of the deal. (updatable) + "buyerPrivateData": { # Buyer private data (hidden from seller). + "referenceId": "A String", + "referencePayload": "A String", + }, + "syndicationProduct": "A String", # The syndication product associated with the deal. (readonly, except on create) + "productRevisionNumber": "A String", # The revision number of the product that the deal was created from (readonly, except on create) "flightStartTimeMs": "A String", # Proposed flight start time of the deal (ms since epoch) This will generally be stored in a granularity of a second. (updatable) - "terms": { # The negotiable terms of the deal. (updatable) - "brandingType": "A String", # Visibilty of the URL in bid requests. - "estimatedGrossSpend": { # Non-binding estimate of the estimated gross spend for this deal Can be set by buyer or seller. - "pricingType": "A String", # The pricing type for the deal/product. - "currencyCode": "A String", # The currency code for the price. - "amountMicros": 3.14, # The price value in micros. - }, - "estimatedImpressionsPerDay": "A String", # Non-binding estimate of the impressions served per day Can be set by buyer or seller. - "nonGuaranteedFixedPriceTerms": { # The terms for non-guaranteed fixed price deals. - "fixedPrices": [ # Fixed price for the specified buyer. - { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an product can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set. - "buyer": { # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer). - "accountId": "A String", # Adx account id of the buyer. - }, - "price": { # The specified price - "pricingType": "A String", # The pricing type for the deal/product. - "currencyCode": "A String", # The currency code for the price. - "amountMicros": 3.14, # The price value in micros. - }, - }, - ], + "dealServingMetadata": { # Metadata about the serving status of this deal (readonly, writes via custom actions) + "dealPauseStatus": { # Tracks which parties (if any) have paused a deal. The deal is considered paused if has_buyer_paused || has_seller_paused. Each of the has_buyer_paused or the has_seller_paused bits can be set independently. # Tracks which parties (if any) have paused a deal. (readonly, except via PauseResumeOrderDeals action) + "hasSellerPaused": True or False, + "hasBuyerPaused": True or False, + "firstPausedBy": "A String", # If the deal is paused, records which party paused the deal first. }, - "guaranteedFixedPriceTerms": { # The terms for guaranteed fixed price deals. - "guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage of guaranteed looks that the buyer is guaranteeing to buy. - "fixedPrices": [ # Fixed price for the specified buyer. - { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an product can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set. - "buyer": { # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer). - "accountId": "A String", # Adx account id of the buyer. - }, - "price": { # The specified price - "pricingType": "A String", # The pricing type for the deal/product. - "currencyCode": "A String", # The currency code for the price. - "amountMicros": 3.14, # The price value in micros. - }, - }, - ], - "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for product. - }, - "nonGuaranteedAuctionTerms": { # The terms for non-guaranteed auction deals. - "reservePricePerBuyers": [ # Reserve price for the specified buyer. - { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an product can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set. - "buyer": { # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer). - "accountId": "A String", # Adx account id of the buyer. - }, - "price": { # The specified price - "pricingType": "A String", # The pricing type for the deal/product. - "currencyCode": "A String", # The currency code for the price. - "amountMicros": 3.14, # The price value in micros. - }, - }, - ], - "privateAuctionId": "A String", # Id of the corresponding private auction. - }, - "description": "A String", # Description for the proposed terms of the deal. }, "creationTimeMs": "A String", # The time (ms since epoch) of the deal creation. (readonly) - "lastUpdateTimeMs": "A String", # The time (ms since epoch) when the deal was last updated. (readonly) - "externalDealId": "A String", # The external deal id assigned to this deal once the deal is finalized. This is the deal-id that shows up in serving/reporting etc. (readonly) - "inventoryDescription": "A String", # Description for the deal terms. (updatable) - "productId": "A String", # The product-id from which this deal was created. (readonly, except on create) }, ], + "orderRevisionNumber": "A String", # The latest revision number after the update has been applied. }
diff --git a/docs/dyn/adexchangebuyer_v1_4.marketplaceprivateauction.html b/docs/dyn/adexchangebuyer_v1_4.marketplaceprivateauction.html new file mode 100644 index 00000000000..566633bdea1 --- /dev/null +++ b/docs/dyn/adexchangebuyer_v1_4.marketplaceprivateauction.html @@ -0,0 +1,109 @@ + + + +

Ad Exchange Buyer API . marketplaceprivateauction

+

Instance Methods

+

+ updateproposal(privateAuctionId, body)

+

Update a given private auction proposal

+

Method Details

+
+ updateproposal(privateAuctionId, body) +
Update a given private auction proposal
+
+Args:
+  privateAuctionId: string, The private auction id to be updated. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "note": { # A proposal is associated with a bunch of notes which may optionally be associated with a deal and/or revision number. # Optional note to be added.
+      "kind": "adexchangebuyer#marketplaceNote", # Identifies what kind of resource this is. Value: the fixed string "adexchangebuyer#marketplaceNote".
+      "proposalRevisionNumber": "A String", # If the note is associated with a proposal revision number, then store that here. (readonly, except on create)
+      "dealId": "A String", # Notes can optionally be associated with a deal. (readonly, except on create)
+      "note": "A String", # The actual note to attach. (readonly, except on create)
+      "proposalId": "A String", # The proposalId that a note is attached to. (readonly)
+      "creatorRole": "A String", # The role of the person (buyer/seller) creating the note. (readonly)
+      "noteId": "A String", # The unique id for the note. (readonly)
+      "timestampMs": "A String", # The timestamp (ms since epoch) that this note was created. (readonly)
+    },
+    "externalDealId": "A String", # The externalDealId of the deal to be updated.
+    "proposalRevisionNumber": "A String", # The current revision number of the proposal to be updated.
+    "updateAction": "A String", # The proposed action on the private auction proposal.
+  }
+
+
+
+ + \ No newline at end of file diff --git a/docs/dyn/adexchangebuyer_v1_4.performanceReport.html b/docs/dyn/adexchangebuyer_v1_4.performanceReport.html index 0808b4ca7f5..824c345678b 100644 --- a/docs/dyn/adexchangebuyer_v1_4.performanceReport.html +++ b/docs/dyn/adexchangebuyer_v1_4.performanceReport.html @@ -92,7 +92,7 @@

Method Details

Returns: An object of the form: - { # The configuration data for an Ad Exchange performance report list. https://sites.google.com/a/google.com/adx-integration/Home/engineering/binary-releases/rtb-api-release https://cs.corp.google.com/#piper///depot/google3/contentads/adx/tools/rtb_api/adxrtb.py + { # The configuration data for an Ad Exchange performance report list. "kind": "adexchangebuyer#performanceReportList", # Resource type. "performanceReport": [ # A list of performance reports relevant for the account. { # The configuration data for an Ad Exchange performance report list. diff --git a/docs/dyn/adexchangebuyer_v1_4.products.html b/docs/dyn/adexchangebuyer_v1_4.products.html index 4677e705f86..a793a8ec68f 100644 --- a/docs/dyn/adexchangebuyer_v1_4.products.html +++ b/docs/dyn/adexchangebuyer_v1_4.products.html @@ -100,10 +100,132 @@

Method Details

"name": "A String", # The name of the contact. }, ], - "kind": "adexchangebuyer#product", # Identifies what kind of resource this is. Value: the fixed string "adexchangebuyer#product". + "publisherProvidedForecast": { # This message carries publisher provided forecasting information. # Publisher self-provided forecast information. + "weeklyImpressions": "A String", # Publisher provided weekly impressions. + "dimensions": [ # Publisher provided dimensions. E.g. geo, sizes etc... + { # This message carries publisher provided breakdown. E.g. {dimension_type: 'COUNTRY', [{dimension_value: {id: 1, name: 'US'}}, {dimension_value: {id: 2, name: 'UK'}}]} + "dimensionType": "A String", + "dimensionValues": [ + { # Value of the dimension. + "id": 42, # Id of the dimension. + "name": "A String", # Name of the dimension mainly for debugging purposes. + }, + ], + }, + ], + "weeklyUniques": "A String", # Publisher provided weekly uniques. + }, + "flightEndTimeMs": "A String", # The proposed end time for the deal (ms since epoch) (buyer-readonly) + "labels": [ # Optional List of labels for the product (optional, buyer-readonly). + { + "createTimeMs": "A String", # The creation time (in ms since epoch) for the label. + "deprecatedMarketplaceDealParty": { # Information about the party that created the label. + "buyer": { # The buyer/seller associated with the deal. One of buyer/seller is specified for a deal-party. + "accountId": "A String", # Adx account id of the buyer. + }, + "seller": { # The buyer/seller associated with the deal. One of buyer/seller is specified for a deal party. + "subAccountId": "A String", # Optional sub-account id for the seller. + "accountId": "A String", # The unique id for the seller. The seller fills in this field. The seller account id is then available to buyer in the product. + }, + }, + "label": "A String", # The label to use. + "accountId": "A String", # The accountId of the party that created the label. + }, + ], + "inventorySource": "A String", # What exchange will provide this inventory (readonly, except on create). + "publisherProfileId": "A String", # Id of the publisher profile for a given seller. A (seller.account_id, publisher_profile_id) pair uniquely identifies a publisher profile. Buyers can call the PublisherProfiles::List endpoint to get a list of publisher profiles for a given seller. + "revisionNumber": "A String", # The revision number of the product. (readonly) + "seller": { # Information about the seller that created this product (readonly, except on create) + "subAccountId": "A String", # Optional sub-account id for the seller. + "accountId": "A String", # The unique id for the seller. The seller fills in this field. The seller account id is then available to buyer in the product. + }, + "webPropertyCode": "A String", # The web property code for the seller. This field is meant to be copied over as is when creating deals. + "state": "A String", # The state of the product. (buyer-readonly) + "hasCreatorSignedOff": True or False, # If the creator has already signed off on the product, then the buyer can finalize the deal by accepting the product as is. When copying to a proposal, if any of the terms are changed, then auto_finalize is automatically set to false. + "productId": "A String", # The unique id for the product (readonly) + "deliveryControl": { # The set of fields around delivery control that are interesting for a buyer to see but are non-negotiable. These are set by the publisher. This message is assigned an id of 100 since some day we would want to model this as a protobuf extension. + "frequencyCaps": [ + { + "numTimeUnits": 42, + "timeUnitType": "A String", + "maxImpressions": 42, + }, + ], + "creativeBlockingLevel": "A String", + "deliveryRateType": "A String", + }, + "terms": { # The negotiable terms of the deal (buyer-readonly) + "brandingType": "A String", # Visibilty of the URL in bid requests. + "estimatedGrossSpend": { # Non-binding estimate of the estimated gross spend for this deal Can be set by buyer or seller. + "pricingType": "A String", # The pricing type for the deal/product. + "currencyCode": "A String", # The currency code for the price. + "amountMicros": 3.14, # The price value in micros. + }, + "sellerTimeZone": "A String", # For deals with Cost Per Day billing, defines the timezone used to mark the boundaries of a day (buyer-readonly) + "estimatedImpressionsPerDay": "A String", # Non-binding estimate of the impressions served per day Can be set by buyer or seller. + "nonGuaranteedFixedPriceTerms": { # The terms for non-guaranteed fixed price deals. + "fixedPrices": [ # Fixed price for the specified buyer. + { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an product can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set. + "auctionTier": "A String", # Optional access type for this buyer. + "buyer": { # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer). + "accountId": "A String", # Adx account id of the buyer. + }, + "price": { # The specified price + "pricingType": "A String", # The pricing type for the deal/product. + "currencyCode": "A String", # The currency code for the price. + "amountMicros": 3.14, # The price value in micros. + }, + }, + ], + }, + "guaranteedFixedPriceTerms": { # The terms for guaranteed fixed price deals. + "guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage of guaranteed looks that the buyer is guaranteeing to buy. + "fixedPrices": [ # Fixed price for the specified buyer. + { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an product can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set. + "auctionTier": "A String", # Optional access type for this buyer. + "buyer": { # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer). + "accountId": "A String", # Adx account id of the buyer. + }, + "price": { # The specified price + "pricingType": "A String", # The pricing type for the deal/product. + "currencyCode": "A String", # The currency code for the price. + "amountMicros": 3.14, # The price value in micros. + }, + }, + ], + "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for product. + "billingInfo": { # External billing info for this Deal. This field is relevant when external billing info such as price has a different currency code than DFP/AdX. + "price": { # The original reservation price for the deal, if the currency code is different from the one used in negotiation. + "pricingType": "A String", # The pricing type for the deal/product. + "currencyCode": "A String", # The currency code for the price. + "amountMicros": 3.14, # The price value in micros. + }, + "originalContractedQuantity": "A String", # The original contracted quantity (# impressions) for this deal. To ensure delivery, sometimes publisher will book the deal with a impression buffer, however clients are billed using the original contracted quantity. + "currencyConversionTimeMs": "A String", # The timestamp (in ms since epoch) when the original reservation price for the deal was first converted to DFP currency. This is used to convert the contracted price into advertiser's currency without discrepancy. + }, + }, + "nonGuaranteedAuctionTerms": { # The terms for non-guaranteed auction deals. + "autoOptimizePrivateAuction": True or False, # True if open auction buyers are allowed to compete with invited buyers in this private auction (buyer-readonly). + "reservePricePerBuyers": [ # Reserve price for the specified buyer. + { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an product can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set. + "auctionTier": "A String", # Optional access type for this buyer. + "buyer": { # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer). + "accountId": "A String", # Adx account id of the buyer. + }, + "price": { # The specified price + "pricingType": "A String", # The pricing type for the deal/product. + "currencyCode": "A String", # The currency code for the price. + "amountMicros": 3.14, # The price value in micros. + }, + }, + ], + }, + "description": "A String", # Description for the proposed terms of the deal. + }, + "privateAuctionId": "A String", # Optional private auction id if this offer is a private auction offer. "sharedTargetings": [ # Targeting that is shared between the buyer and the seller. Each targeting criteria has a specified key and for each key there is a list of inclusion value or exclusion values. (buyer-readonly) { - "inclusions": [ # The list of value to include as part of the targeting. + "inclusions": [ # The list of value to include as part of the targeting. Each value is OR'd together. { "longValue": "A String", # The long value to exclude/include. "dayPartTargetingValue": { # The daypart targeting to include / exclude. Filled in when the key is GOOG_DAYPART_TARGETING. @@ -134,7 +256,7 @@

Method Details

"stringValue": "A String", # The string value to exclude/include. }, ], - "exclusions": [ # The list of values to exclude from targeting. + "exclusions": [ # The list of values to exclude from targeting. Each value is AND'd together. { "longValue": "A String", # The long value to exclude/include. "dayPartTargetingValue": { # The daypart targeting to include / exclude. Filled in when the key is GOOG_DAYPART_TARGETING. @@ -168,93 +290,13 @@

Method Details

"key": "A String", # The key representing the shared targeting criterion. }, ], - "terms": { # The negotiable terms of the deal (buyer-readonly) - "brandingType": "A String", # Visibilty of the URL in bid requests. - "estimatedGrossSpend": { # Non-binding estimate of the estimated gross spend for this deal Can be set by buyer or seller. - "pricingType": "A String", # The pricing type for the deal/product. - "currencyCode": "A String", # The currency code for the price. - "amountMicros": 3.14, # The price value in micros. - }, - "estimatedImpressionsPerDay": "A String", # Non-binding estimate of the impressions served per day Can be set by buyer or seller. - "nonGuaranteedFixedPriceTerms": { # The terms for non-guaranteed fixed price deals. - "fixedPrices": [ # Fixed price for the specified buyer. - { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an product can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set. - "buyer": { # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer). - "accountId": "A String", # Adx account id of the buyer. - }, - "price": { # The specified price - "pricingType": "A String", # The pricing type for the deal/product. - "currencyCode": "A String", # The currency code for the price. - "amountMicros": 3.14, # The price value in micros. - }, - }, - ], - }, - "guaranteedFixedPriceTerms": { # The terms for guaranteed fixed price deals. - "guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage of guaranteed looks that the buyer is guaranteeing to buy. - "fixedPrices": [ # Fixed price for the specified buyer. - { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an product can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set. - "buyer": { # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer). - "accountId": "A String", # Adx account id of the buyer. - }, - "price": { # The specified price - "pricingType": "A String", # The pricing type for the deal/product. - "currencyCode": "A String", # The currency code for the price. - "amountMicros": 3.14, # The price value in micros. - }, - }, - ], - "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for product. - }, - "nonGuaranteedAuctionTerms": { # The terms for non-guaranteed auction deals. - "reservePricePerBuyers": [ # Reserve price for the specified buyer. - { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an product can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set. - "buyer": { # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer). - "accountId": "A String", # Adx account id of the buyer. - }, - "price": { # The specified price - "pricingType": "A String", # The pricing type for the deal/product. - "currencyCode": "A String", # The currency code for the price. - "amountMicros": 3.14, # The price value in micros. - }, - }, - ], - "privateAuctionId": "A String", # Id of the corresponding private auction. - }, - "description": "A String", # Description for the proposed terms of the deal. - }, + "lastUpdateTimeMs": "A String", # Time of last update in ms. since epoch (readonly) + "legacyOfferId": "A String", # Optional legacy offer id if this offer is a preferred deal offer. + "kind": "adexchangebuyer#product", # Identifies what kind of resource this is. Value: the fixed string "adexchangebuyer#product". "name": "A String", # The name for this product as set by the seller. (buyer-readonly) "syndicationProduct": "A String", # The syndication product associated with the deal. (readonly, except on create) - "flightEndTimeMs": "A String", # The proposed end time for the deal (ms since epoch) (buyer-readonly) - "labels": [ # Optional List of labels for the product (optional, buyer-readonly). - { - "createTimeMs": "A String", # The creation time (in ms since epoch) for the label. - "deprecatedMarketplaceDealParty": { # Information about the party that created the label. - "buyer": { # The buyer/seller associated with the deal. One of buyer/seller is specified for a deal-party. - "accountId": "A String", # Adx account id of the buyer. - }, - "seller": { # The buyer/seller associated with the deal. One of buyer/seller is specified for a deal party. - "subAccountId": "A String", # Optional sub-account id for the seller. - "accountId": "A String", # The unique id for the seller. The seller fills in this field. The seller account id is then available to buyer in the product. - }, - }, - "label": "A String", # The label to use. - "accountId": "A String", # The accountId of the party that created the label. - }, - ], - "seller": { # Information about the seller that created this product (readonly, except on create) - "subAccountId": "A String", # Optional sub-account id for the seller. - "accountId": "A String", # The unique id for the seller. The seller fills in this field. The seller account id is then available to buyer in the product. - }, - "webPropertyCode": "A String", - "state": "A String", # The state of the product. (buyer-readonly) - "hasCreatorSignedOff": True or False, # If the creator has already signed off on the product, then the buyer can finalize the deal by accepting the product as is. When copying to a proposal, if any of the terms are changed, then auto_finalize is automatically set to false. - "inventorySource": "A String", # What exchange will provide this inventory (readonly, except on create). "flightStartTimeMs": "A String", # Inventory availability dates. (times are in ms since epoch) The granularity is generally in the order of seconds. (buyer-readonly) "creationTimeMs": "A String", # Creation time in ms. since epoch (readonly) - "lastUpdateTimeMs": "A String", # Time of last update in ms. since epoch (readonly) - "revisionNumber": "A String", # The revision number of the product. (readonly) - "productId": "A String", # The unique id for the product (readonly) } @@ -279,10 +321,132 @@

Method Details

"name": "A String", # The name of the contact. }, ], - "kind": "adexchangebuyer#product", # Identifies what kind of resource this is. Value: the fixed string "adexchangebuyer#product". + "publisherProvidedForecast": { # This message carries publisher provided forecasting information. # Publisher self-provided forecast information. + "weeklyImpressions": "A String", # Publisher provided weekly impressions. + "dimensions": [ # Publisher provided dimensions. E.g. geo, sizes etc... + { # This message carries publisher provided breakdown. E.g. {dimension_type: 'COUNTRY', [{dimension_value: {id: 1, name: 'US'}}, {dimension_value: {id: 2, name: 'UK'}}]} + "dimensionType": "A String", + "dimensionValues": [ + { # Value of the dimension. + "id": 42, # Id of the dimension. + "name": "A String", # Name of the dimension mainly for debugging purposes. + }, + ], + }, + ], + "weeklyUniques": "A String", # Publisher provided weekly uniques. + }, + "flightEndTimeMs": "A String", # The proposed end time for the deal (ms since epoch) (buyer-readonly) + "labels": [ # Optional List of labels for the product (optional, buyer-readonly). + { + "createTimeMs": "A String", # The creation time (in ms since epoch) for the label. + "deprecatedMarketplaceDealParty": { # Information about the party that created the label. + "buyer": { # The buyer/seller associated with the deal. One of buyer/seller is specified for a deal-party. + "accountId": "A String", # Adx account id of the buyer. + }, + "seller": { # The buyer/seller associated with the deal. One of buyer/seller is specified for a deal party. + "subAccountId": "A String", # Optional sub-account id for the seller. + "accountId": "A String", # The unique id for the seller. The seller fills in this field. The seller account id is then available to buyer in the product. + }, + }, + "label": "A String", # The label to use. + "accountId": "A String", # The accountId of the party that created the label. + }, + ], + "inventorySource": "A String", # What exchange will provide this inventory (readonly, except on create). + "publisherProfileId": "A String", # Id of the publisher profile for a given seller. A (seller.account_id, publisher_profile_id) pair uniquely identifies a publisher profile. Buyers can call the PublisherProfiles::List endpoint to get a list of publisher profiles for a given seller. + "revisionNumber": "A String", # The revision number of the product. (readonly) + "seller": { # Information about the seller that created this product (readonly, except on create) + "subAccountId": "A String", # Optional sub-account id for the seller. + "accountId": "A String", # The unique id for the seller. The seller fills in this field. The seller account id is then available to buyer in the product. + }, + "webPropertyCode": "A String", # The web property code for the seller. This field is meant to be copied over as is when creating deals. + "state": "A String", # The state of the product. (buyer-readonly) + "hasCreatorSignedOff": True or False, # If the creator has already signed off on the product, then the buyer can finalize the deal by accepting the product as is. When copying to a proposal, if any of the terms are changed, then auto_finalize is automatically set to false. + "productId": "A String", # The unique id for the product (readonly) + "deliveryControl": { # The set of fields around delivery control that are interesting for a buyer to see but are non-negotiable. These are set by the publisher. This message is assigned an id of 100 since some day we would want to model this as a protobuf extension. + "frequencyCaps": [ + { + "numTimeUnits": 42, + "timeUnitType": "A String", + "maxImpressions": 42, + }, + ], + "creativeBlockingLevel": "A String", + "deliveryRateType": "A String", + }, + "terms": { # The negotiable terms of the deal (buyer-readonly) + "brandingType": "A String", # Visibilty of the URL in bid requests. + "estimatedGrossSpend": { # Non-binding estimate of the estimated gross spend for this deal Can be set by buyer or seller. + "pricingType": "A String", # The pricing type for the deal/product. + "currencyCode": "A String", # The currency code for the price. + "amountMicros": 3.14, # The price value in micros. + }, + "sellerTimeZone": "A String", # For deals with Cost Per Day billing, defines the timezone used to mark the boundaries of a day (buyer-readonly) + "estimatedImpressionsPerDay": "A String", # Non-binding estimate of the impressions served per day Can be set by buyer or seller. + "nonGuaranteedFixedPriceTerms": { # The terms for non-guaranteed fixed price deals. + "fixedPrices": [ # Fixed price for the specified buyer. + { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an product can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set. + "auctionTier": "A String", # Optional access type for this buyer. + "buyer": { # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer). + "accountId": "A String", # Adx account id of the buyer. + }, + "price": { # The specified price + "pricingType": "A String", # The pricing type for the deal/product. + "currencyCode": "A String", # The currency code for the price. + "amountMicros": 3.14, # The price value in micros. + }, + }, + ], + }, + "guaranteedFixedPriceTerms": { # The terms for guaranteed fixed price deals. + "guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage of guaranteed looks that the buyer is guaranteeing to buy. + "fixedPrices": [ # Fixed price for the specified buyer. + { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an product can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set. + "auctionTier": "A String", # Optional access type for this buyer. + "buyer": { # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer). + "accountId": "A String", # Adx account id of the buyer. + }, + "price": { # The specified price + "pricingType": "A String", # The pricing type for the deal/product. + "currencyCode": "A String", # The currency code for the price. + "amountMicros": 3.14, # The price value in micros. + }, + }, + ], + "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for product. + "billingInfo": { # External billing info for this Deal. This field is relevant when external billing info such as price has a different currency code than DFP/AdX. + "price": { # The original reservation price for the deal, if the currency code is different from the one used in negotiation. + "pricingType": "A String", # The pricing type for the deal/product. + "currencyCode": "A String", # The currency code for the price. + "amountMicros": 3.14, # The price value in micros. + }, + "originalContractedQuantity": "A String", # The original contracted quantity (# impressions) for this deal. To ensure delivery, sometimes publisher will book the deal with a impression buffer, however clients are billed using the original contracted quantity. + "currencyConversionTimeMs": "A String", # The timestamp (in ms since epoch) when the original reservation price for the deal was first converted to DFP currency. This is used to convert the contracted price into advertiser's currency without discrepancy. + }, + }, + "nonGuaranteedAuctionTerms": { # The terms for non-guaranteed auction deals. + "autoOptimizePrivateAuction": True or False, # True if open auction buyers are allowed to compete with invited buyers in this private auction (buyer-readonly). + "reservePricePerBuyers": [ # Reserve price for the specified buyer. + { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an product can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set. + "auctionTier": "A String", # Optional access type for this buyer. + "buyer": { # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer). + "accountId": "A String", # Adx account id of the buyer. + }, + "price": { # The specified price + "pricingType": "A String", # The pricing type for the deal/product. + "currencyCode": "A String", # The currency code for the price. + "amountMicros": 3.14, # The price value in micros. + }, + }, + ], + }, + "description": "A String", # Description for the proposed terms of the deal. + }, + "privateAuctionId": "A String", # Optional private auction id if this offer is a private auction offer. "sharedTargetings": [ # Targeting that is shared between the buyer and the seller. Each targeting criteria has a specified key and for each key there is a list of inclusion value or exclusion values. (buyer-readonly) { - "inclusions": [ # The list of value to include as part of the targeting. + "inclusions": [ # The list of value to include as part of the targeting. Each value is OR'd together. { "longValue": "A String", # The long value to exclude/include. "dayPartTargetingValue": { # The daypart targeting to include / exclude. Filled in when the key is GOOG_DAYPART_TARGETING. @@ -313,7 +477,7 @@

Method Details

"stringValue": "A String", # The string value to exclude/include. }, ], - "exclusions": [ # The list of values to exclude from targeting. + "exclusions": [ # The list of values to exclude from targeting. Each value is AND'd together. { "longValue": "A String", # The long value to exclude/include. "dayPartTargetingValue": { # The daypart targeting to include / exclude. Filled in when the key is GOOG_DAYPART_TARGETING. @@ -347,93 +511,13 @@

Method Details

"key": "A String", # The key representing the shared targeting criterion. }, ], - "terms": { # The negotiable terms of the deal (buyer-readonly) - "brandingType": "A String", # Visibilty of the URL in bid requests. - "estimatedGrossSpend": { # Non-binding estimate of the estimated gross spend for this deal Can be set by buyer or seller. - "pricingType": "A String", # The pricing type for the deal/product. - "currencyCode": "A String", # The currency code for the price. - "amountMicros": 3.14, # The price value in micros. - }, - "estimatedImpressionsPerDay": "A String", # Non-binding estimate of the impressions served per day Can be set by buyer or seller. - "nonGuaranteedFixedPriceTerms": { # The terms for non-guaranteed fixed price deals. - "fixedPrices": [ # Fixed price for the specified buyer. - { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an product can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set. - "buyer": { # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer). - "accountId": "A String", # Adx account id of the buyer. - }, - "price": { # The specified price - "pricingType": "A String", # The pricing type for the deal/product. - "currencyCode": "A String", # The currency code for the price. - "amountMicros": 3.14, # The price value in micros. - }, - }, - ], - }, - "guaranteedFixedPriceTerms": { # The terms for guaranteed fixed price deals. - "guaranteedImpressions": "A String", # Guaranteed impressions as a percentage. This is the percentage of guaranteed looks that the buyer is guaranteeing to buy. - "fixedPrices": [ # Fixed price for the specified buyer. - { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an product can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set. - "buyer": { # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer). - "accountId": "A String", # Adx account id of the buyer. - }, - "price": { # The specified price - "pricingType": "A String", # The pricing type for the deal/product. - "currencyCode": "A String", # The currency code for the price. - "amountMicros": 3.14, # The price value in micros. - }, - }, - ], - "guaranteedLooks": "A String", # Count of guaranteed looks. Required for deal, optional for product. - }, - "nonGuaranteedAuctionTerms": { # The terms for non-guaranteed auction deals. - "reservePricePerBuyers": [ # Reserve price for the specified buyer. - { # Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an product can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set. - "buyer": { # The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer). - "accountId": "A String", # Adx account id of the buyer. - }, - "price": { # The specified price - "pricingType": "A String", # The pricing type for the deal/product. - "currencyCode": "A String", # The currency code for the price. - "amountMicros": 3.14, # The price value in micros. - }, - }, - ], - "privateAuctionId": "A String", # Id of the corresponding private auction. - }, - "description": "A String", # Description for the proposed terms of the deal. - }, + "lastUpdateTimeMs": "A String", # Time of last update in ms. since epoch (readonly) + "legacyOfferId": "A String", # Optional legacy offer id if this offer is a preferred deal offer. + "kind": "adexchangebuyer#product", # Identifies what kind of resource this is. Value: the fixed string "adexchangebuyer#product". "name": "A String", # The name for this product as set by the seller. (buyer-readonly) "syndicationProduct": "A String", # The syndication product associated with the deal. (readonly, except on create) - "flightEndTimeMs": "A String", # The proposed end time for the deal (ms since epoch) (buyer-readonly) - "labels": [ # Optional List of labels for the product (optional, buyer-readonly). - { - "createTimeMs": "A String", # The creation time (in ms since epoch) for the label. - "deprecatedMarketplaceDealParty": { # Information about the party that created the label. - "buyer": { # The buyer/seller associated with the deal. One of buyer/seller is specified for a deal-party. - "accountId": "A String", # Adx account id of the buyer. - }, - "seller": { # The buyer/seller associated with the deal. One of buyer/seller is specified for a deal party. - "subAccountId": "A String", # Optional sub-account id for the seller. - "accountId": "A String", # The unique id for the seller. The seller fills in this field. The seller account id is then available to buyer in the product. - }, - }, - "label": "A String", # The label to use. - "accountId": "A String", # The accountId of the party that created the label. - }, - ], - "seller": { # Information about the seller that created this product (readonly, except on create) - "subAccountId": "A String", # Optional sub-account id for the seller. - "accountId": "A String", # The unique id for the seller. The seller fills in this field. The seller account id is then available to buyer in the product. - }, - "webPropertyCode": "A String", - "state": "A String", # The state of the product. (buyer-readonly) - "hasCreatorSignedOff": True or False, # If the creator has already signed off on the product, then the buyer can finalize the deal by accepting the product as is. When copying to a proposal, if any of the terms are changed, then auto_finalize is automatically set to false. - "inventorySource": "A String", # What exchange will provide this inventory (readonly, except on create). "flightStartTimeMs": "A String", # Inventory availability dates. (times are in ms since epoch) The granularity is generally in the order of seconds. (buyer-readonly) "creationTimeMs": "A String", # Creation time in ms. since epoch (readonly) - "lastUpdateTimeMs": "A String", # Time of last update in ms. since epoch (readonly) - "revisionNumber": "A String", # The revision number of the product. (readonly) - "productId": "A String", # The unique id for the product (readonly) }, ], } diff --git a/docs/dyn/adexchangebuyer_v1_4.proposals.html b/docs/dyn/adexchangebuyer_v1_4.proposals.html index c1e5e092510..974d218329f 100644 --- a/docs/dyn/adexchangebuyer_v1_4.proposals.html +++ b/docs/dyn/adexchangebuyer_v1_4.proposals.html @@ -86,6 +86,9 @@

Instance Methods

search(pqlQuery=None)

Search for proposals using pql query

+

+ setupcomplete(proposalId)

+

Update the given proposal to indicate that setup has been completed.

update(proposalId, revisionNumber, updateAction, body)

Update the given proposal

@@ -103,16 +106,6 @@

Method Details

{ # Represents a proposal in the marketplace. A proposal is the unit of negotiation between a seller and a buyer and contains deals which are served. Each field in a proposal can have one of the following setting: # # (readonly) - It is an error to try and set this field. (buyer-readonly) - Only the seller can set this field. (seller-readonly) - Only the buyer can set this field. (updatable) - The field is updatable at all times by either buyer or the seller. - "kind": "adexchangebuyer#proposal", # Identifies what kind of resource this is. Value: the fixed string "adexchangebuyer#proposal". - "proposalState": "A String", # The current state of the proposal. (readonly) - "name": "A String", # The name for the proposal (updatable) - "buyerPrivateData": { # Private data for buyer. (hidden from seller). - "referenceId": "A String", - "referencePayload": "A String", - }, - "billedBuyer": { # Reference to the buyer that will get billed for this proposal. (readonly) - "accountId": "A String", # Adx account id of the buyer. - }, "labels": [ # List of labels associated with the proposal. (readonly) { "createTimeMs": "A String", # The creation time (in ms since epoch) for the label. @@ -129,30 +122,41 @@

Method Details

"accountId": "A String", # The accountId of the party that created the label. }, ], - "originatorRole": "A String", # Indicates whether the buyer/seller created the proposal.(readonly) - "revisionTimeMs": "A String", # The time (ms since epoch) when the proposal was last revised (readonly). "sellerContacts": [ # Optional contact information for the seller (buyer-readonly). { "email": "A String", # Email address of the contact. "name": "A String", # The name of the contact. }, ], - "lastUpdaterRole": "A String", - "proposalId": "A String", # The unique id of the proposal. (readonly). + "negotiationId": "A String", # Optional negotiation id if this proposal is a preferred deal proposal. "inventorySource": "A String", # What exchange will provide this inventory (readonly, except on create). "revisionNumber": "A String", # The revision number for the proposal (readonly). - "hasSellerSignedOff": True or False, # When an proposal is in an accepted state, indicates whether the buyer has signed off Once both sides have signed off on a deal, the proposal can be finalized by the seller. (buyer-readonly) + "revisionTimeMs": "A String", # The time (ms since epoch) when the proposal was last revised (readonly). + "seller": { # Reference to the seller on the proposal. (readonly, except on create) + "subAccountId": "A String", # Optional sub-account id for the seller. + "accountId": "A String", # The unique id for the seller. The seller fills in this field. The seller account id is then available to buyer in the product. + }, + "proposalId": "A String", # The unique id of the proposal. (readonly). "isRenegotiating": True or False, # True if the proposal is being renegotiated (readonly). + "lastUpdaterOrCommentorRole": "A String", # The role of the last user that either updated the proposal or left a comment. (readonly) + "privateAuctionId": "A String", # Optional private auction id if this proposal is a private auction proposal. + "originatorRole": "A String", # Indicates whether the buyer/seller created the proposal.(readonly) + "hasSellerSignedOff": True or False, # When an proposal is in an accepted state, indicates whether the buyer has signed off Once both sides have signed off on a deal, the proposal can be finalized by the seller. (buyer-readonly) "buyer": { # Reference to the buyer on the proposal. (readonly, except on create) "accountId": "A String", # Adx account id of the buyer. }, "hasBuyerSignedOff": True or False, # When an proposal is in an accepted state, indicates whether the buyer has signed off Once both sides have signed off on a deal, the proposal can be finalized by the seller. (seller-readonly) - "isSetupComplete": True or False, # True, if the buyside inventory setup is complete for this proposal. (readonly) - "seller": { # Reference to the seller on the proposal. (readonly, except on create) - "subAccountId": "A String", # Optional sub-account id for the seller. - "accountId": "A String", # The unique id for the seller. The seller fills in this field. The seller account id is then available to buyer in the product. + "kind": "adexchangebuyer#proposal", # Identifies what kind of resource this is. Value: the fixed string "adexchangebuyer#proposal". + "proposalState": "A String", # The current state of the proposal. (readonly) + "name": "A String", # The name for the proposal (updatable) + "buyerPrivateData": { # Private data for buyer. (hidden from seller). + "referenceId": "A String", + "referencePayload": "A String", }, - "lastUpdaterOrCommentorRole": "A String", # The role of the last user that either updated the proposal or left a comment. (readonly) + "billedBuyer": { # Reference to the buyer that will get billed for this proposal. (readonly) + "accountId": "A String", # Adx account id of the buyer. + }, + "isSetupComplete": True or False, # True, if the buyside inventory setup is complete for this proposal. (readonly, except via OrderSetupCompleted action) "buyerContacts": [ # Optional contact information fort the buyer. (seller-readonly) { "email": "A String", # Email address of the contact. @@ -171,21 +175,11 @@

Method Details

The object takes the form of: { - "webPropertyCode": "A String", + "webPropertyCode": "A String", # Web property id of the seller creating these orders "proposals": [ # The list of proposals to create. { # Represents a proposal in the marketplace. A proposal is the unit of negotiation between a seller and a buyer and contains deals which are served. Each field in a proposal can have one of the following setting: # # (readonly) - It is an error to try and set this field. (buyer-readonly) - Only the seller can set this field. (seller-readonly) - Only the buyer can set this field. (updatable) - The field is updatable at all times by either buyer or the seller. - "kind": "adexchangebuyer#proposal", # Identifies what kind of resource this is. Value: the fixed string "adexchangebuyer#proposal". - "proposalState": "A String", # The current state of the proposal. (readonly) - "name": "A String", # The name for the proposal (updatable) - "buyerPrivateData": { # Private data for buyer. (hidden from seller). - "referenceId": "A String", - "referencePayload": "A String", - }, - "billedBuyer": { # Reference to the buyer that will get billed for this proposal. (readonly) - "accountId": "A String", # Adx account id of the buyer. - }, "labels": [ # List of labels associated with the proposal. (readonly) { "createTimeMs": "A String", # The creation time (in ms since epoch) for the label. @@ -202,30 +196,41 @@

Method Details

"accountId": "A String", # The accountId of the party that created the label. }, ], - "originatorRole": "A String", # Indicates whether the buyer/seller created the proposal.(readonly) - "revisionTimeMs": "A String", # The time (ms since epoch) when the proposal was last revised (readonly). "sellerContacts": [ # Optional contact information for the seller (buyer-readonly). { "email": "A String", # Email address of the contact. "name": "A String", # The name of the contact. }, ], - "lastUpdaterRole": "A String", - "proposalId": "A String", # The unique id of the proposal. (readonly). + "negotiationId": "A String", # Optional negotiation id if this proposal is a preferred deal proposal. "inventorySource": "A String", # What exchange will provide this inventory (readonly, except on create). "revisionNumber": "A String", # The revision number for the proposal (readonly). - "hasSellerSignedOff": True or False, # When an proposal is in an accepted state, indicates whether the buyer has signed off Once both sides have signed off on a deal, the proposal can be finalized by the seller. (buyer-readonly) + "revisionTimeMs": "A String", # The time (ms since epoch) when the proposal was last revised (readonly). + "seller": { # Reference to the seller on the proposal. (readonly, except on create) + "subAccountId": "A String", # Optional sub-account id for the seller. + "accountId": "A String", # The unique id for the seller. The seller fills in this field. The seller account id is then available to buyer in the product. + }, + "proposalId": "A String", # The unique id of the proposal. (readonly). "isRenegotiating": True or False, # True if the proposal is being renegotiated (readonly). + "lastUpdaterOrCommentorRole": "A String", # The role of the last user that either updated the proposal or left a comment. (readonly) + "privateAuctionId": "A String", # Optional private auction id if this proposal is a private auction proposal. + "originatorRole": "A String", # Indicates whether the buyer/seller created the proposal.(readonly) + "hasSellerSignedOff": True or False, # When an proposal is in an accepted state, indicates whether the buyer has signed off Once both sides have signed off on a deal, the proposal can be finalized by the seller. (buyer-readonly) "buyer": { # Reference to the buyer on the proposal. (readonly, except on create) "accountId": "A String", # Adx account id of the buyer. }, "hasBuyerSignedOff": True or False, # When an proposal is in an accepted state, indicates whether the buyer has signed off Once both sides have signed off on a deal, the proposal can be finalized by the seller. (seller-readonly) - "isSetupComplete": True or False, # True, if the buyside inventory setup is complete for this proposal. (readonly) - "seller": { # Reference to the seller on the proposal. (readonly, except on create) - "subAccountId": "A String", # Optional sub-account id for the seller. - "accountId": "A String", # The unique id for the seller. The seller fills in this field. The seller account id is then available to buyer in the product. + "kind": "adexchangebuyer#proposal", # Identifies what kind of resource this is. Value: the fixed string "adexchangebuyer#proposal". + "proposalState": "A String", # The current state of the proposal. (readonly) + "name": "A String", # The name for the proposal (updatable) + "buyerPrivateData": { # Private data for buyer. (hidden from seller). + "referenceId": "A String", + "referencePayload": "A String", }, - "lastUpdaterOrCommentorRole": "A String", # The role of the last user that either updated the proposal or left a comment. (readonly) + "billedBuyer": { # Reference to the buyer that will get billed for this proposal. (readonly) + "accountId": "A String", # Adx account id of the buyer. + }, + "isSetupComplete": True or False, # True, if the buyside inventory setup is complete for this proposal. (readonly, except via OrderSetupCompleted action) "buyerContacts": [ # Optional contact information fort the buyer. (seller-readonly) { "email": "A String", # Email address of the contact. @@ -245,16 +250,6 @@

Method Details

{ # Represents a proposal in the marketplace. A proposal is the unit of negotiation between a seller and a buyer and contains deals which are served. Each field in a proposal can have one of the following setting: # # (readonly) - It is an error to try and set this field. (buyer-readonly) - Only the seller can set this field. (seller-readonly) - Only the buyer can set this field. (updatable) - The field is updatable at all times by either buyer or the seller. - "kind": "adexchangebuyer#proposal", # Identifies what kind of resource this is. Value: the fixed string "adexchangebuyer#proposal". - "proposalState": "A String", # The current state of the proposal. (readonly) - "name": "A String", # The name for the proposal (updatable) - "buyerPrivateData": { # Private data for buyer. (hidden from seller). - "referenceId": "A String", - "referencePayload": "A String", - }, - "billedBuyer": { # Reference to the buyer that will get billed for this proposal. (readonly) - "accountId": "A String", # Adx account id of the buyer. - }, "labels": [ # List of labels associated with the proposal. (readonly) { "createTimeMs": "A String", # The creation time (in ms since epoch) for the label. @@ -271,30 +266,41 @@

Method Details

"accountId": "A String", # The accountId of the party that created the label. }, ], - "originatorRole": "A String", # Indicates whether the buyer/seller created the proposal.(readonly) - "revisionTimeMs": "A String", # The time (ms since epoch) when the proposal was last revised (readonly). "sellerContacts": [ # Optional contact information for the seller (buyer-readonly). { "email": "A String", # Email address of the contact. "name": "A String", # The name of the contact. }, ], - "lastUpdaterRole": "A String", - "proposalId": "A String", # The unique id of the proposal. (readonly). + "negotiationId": "A String", # Optional negotiation id if this proposal is a preferred deal proposal. "inventorySource": "A String", # What exchange will provide this inventory (readonly, except on create). "revisionNumber": "A String", # The revision number for the proposal (readonly). - "hasSellerSignedOff": True or False, # When an proposal is in an accepted state, indicates whether the buyer has signed off Once both sides have signed off on a deal, the proposal can be finalized by the seller. (buyer-readonly) + "revisionTimeMs": "A String", # The time (ms since epoch) when the proposal was last revised (readonly). + "seller": { # Reference to the seller on the proposal. (readonly, except on create) + "subAccountId": "A String", # Optional sub-account id for the seller. + "accountId": "A String", # The unique id for the seller. The seller fills in this field. The seller account id is then available to buyer in the product. + }, + "proposalId": "A String", # The unique id of the proposal. (readonly). "isRenegotiating": True or False, # True if the proposal is being renegotiated (readonly). + "lastUpdaterOrCommentorRole": "A String", # The role of the last user that either updated the proposal or left a comment. (readonly) + "privateAuctionId": "A String", # Optional private auction id if this proposal is a private auction proposal. + "originatorRole": "A String", # Indicates whether the buyer/seller created the proposal.(readonly) + "hasSellerSignedOff": True or False, # When an proposal is in an accepted state, indicates whether the buyer has signed off Once both sides have signed off on a deal, the proposal can be finalized by the seller. (buyer-readonly) "buyer": { # Reference to the buyer on the proposal. (readonly, except on create) "accountId": "A String", # Adx account id of the buyer. }, "hasBuyerSignedOff": True or False, # When an proposal is in an accepted state, indicates whether the buyer has signed off Once both sides have signed off on a deal, the proposal can be finalized by the seller. (seller-readonly) - "isSetupComplete": True or False, # True, if the buyside inventory setup is complete for this proposal. (readonly) - "seller": { # Reference to the seller on the proposal. (readonly, except on create) - "subAccountId": "A String", # Optional sub-account id for the seller. - "accountId": "A String", # The unique id for the seller. The seller fills in this field. The seller account id is then available to buyer in the product. + "kind": "adexchangebuyer#proposal", # Identifies what kind of resource this is. Value: the fixed string "adexchangebuyer#proposal". + "proposalState": "A String", # The current state of the proposal. (readonly) + "name": "A String", # The name for the proposal (updatable) + "buyerPrivateData": { # Private data for buyer. (hidden from seller). + "referenceId": "A String", + "referencePayload": "A String", }, - "lastUpdaterOrCommentorRole": "A String", # The role of the last user that either updated the proposal or left a comment. (readonly) + "billedBuyer": { # Reference to the buyer that will get billed for this proposal. (readonly) + "accountId": "A String", # Adx account id of the buyer. + }, + "isSetupComplete": True or False, # True, if the buyside inventory setup is complete for this proposal. (readonly, except via OrderSetupCompleted action) "buyerContacts": [ # Optional contact information fort the buyer. (seller-readonly) { "email": "A String", # Email address of the contact. @@ -326,16 +332,6 @@

Method Details

{ # Represents a proposal in the marketplace. A proposal is the unit of negotiation between a seller and a buyer and contains deals which are served. Each field in a proposal can have one of the following setting: # # (readonly) - It is an error to try and set this field. (buyer-readonly) - Only the seller can set this field. (seller-readonly) - Only the buyer can set this field. (updatable) - The field is updatable at all times by either buyer or the seller. - "kind": "adexchangebuyer#proposal", # Identifies what kind of resource this is. Value: the fixed string "adexchangebuyer#proposal". - "proposalState": "A String", # The current state of the proposal. (readonly) - "name": "A String", # The name for the proposal (updatable) - "buyerPrivateData": { # Private data for buyer. (hidden from seller). - "referenceId": "A String", - "referencePayload": "A String", - }, - "billedBuyer": { # Reference to the buyer that will get billed for this proposal. (readonly) - "accountId": "A String", # Adx account id of the buyer. - }, "labels": [ # List of labels associated with the proposal. (readonly) { "createTimeMs": "A String", # The creation time (in ms since epoch) for the label. @@ -352,30 +348,41 @@

Method Details

"accountId": "A String", # The accountId of the party that created the label. }, ], - "originatorRole": "A String", # Indicates whether the buyer/seller created the proposal.(readonly) - "revisionTimeMs": "A String", # The time (ms since epoch) when the proposal was last revised (readonly). "sellerContacts": [ # Optional contact information for the seller (buyer-readonly). { "email": "A String", # Email address of the contact. "name": "A String", # The name of the contact. }, ], - "lastUpdaterRole": "A String", - "proposalId": "A String", # The unique id of the proposal. (readonly). + "negotiationId": "A String", # Optional negotiation id if this proposal is a preferred deal proposal. "inventorySource": "A String", # What exchange will provide this inventory (readonly, except on create). "revisionNumber": "A String", # The revision number for the proposal (readonly). - "hasSellerSignedOff": True or False, # When an proposal is in an accepted state, indicates whether the buyer has signed off Once both sides have signed off on a deal, the proposal can be finalized by the seller. (buyer-readonly) + "revisionTimeMs": "A String", # The time (ms since epoch) when the proposal was last revised (readonly). + "seller": { # Reference to the seller on the proposal. (readonly, except on create) + "subAccountId": "A String", # Optional sub-account id for the seller. + "accountId": "A String", # The unique id for the seller. The seller fills in this field. The seller account id is then available to buyer in the product. + }, + "proposalId": "A String", # The unique id of the proposal. (readonly). "isRenegotiating": True or False, # True if the proposal is being renegotiated (readonly). + "lastUpdaterOrCommentorRole": "A String", # The role of the last user that either updated the proposal or left a comment. (readonly) + "privateAuctionId": "A String", # Optional private auction id if this proposal is a private auction proposal. + "originatorRole": "A String", # Indicates whether the buyer/seller created the proposal.(readonly) + "hasSellerSignedOff": True or False, # When an proposal is in an accepted state, indicates whether the buyer has signed off Once both sides have signed off on a deal, the proposal can be finalized by the seller. (buyer-readonly) "buyer": { # Reference to the buyer on the proposal. (readonly, except on create) "accountId": "A String", # Adx account id of the buyer. }, "hasBuyerSignedOff": True or False, # When an proposal is in an accepted state, indicates whether the buyer has signed off Once both sides have signed off on a deal, the proposal can be finalized by the seller. (seller-readonly) - "isSetupComplete": True or False, # True, if the buyside inventory setup is complete for this proposal. (readonly) - "seller": { # Reference to the seller on the proposal. (readonly, except on create) - "subAccountId": "A String", # Optional sub-account id for the seller. - "accountId": "A String", # The unique id for the seller. The seller fills in this field. The seller account id is then available to buyer in the product. + "kind": "adexchangebuyer#proposal", # Identifies what kind of resource this is. Value: the fixed string "adexchangebuyer#proposal". + "proposalState": "A String", # The current state of the proposal. (readonly) + "name": "A String", # The name for the proposal (updatable) + "buyerPrivateData": { # Private data for buyer. (hidden from seller). + "referenceId": "A String", + "referencePayload": "A String", }, - "lastUpdaterOrCommentorRole": "A String", # The role of the last user that either updated the proposal or left a comment. (readonly) + "billedBuyer": { # Reference to the buyer that will get billed for this proposal. (readonly) + "accountId": "A String", # Adx account id of the buyer. + }, + "isSetupComplete": True or False, # True, if the buyside inventory setup is complete for this proposal. (readonly, except via OrderSetupCompleted action) "buyerContacts": [ # Optional contact information fort the buyer. (seller-readonly) { "email": "A String", # Email address of the contact. @@ -391,16 +398,6 @@

Method Details

{ # Represents a proposal in the marketplace. A proposal is the unit of negotiation between a seller and a buyer and contains deals which are served. Each field in a proposal can have one of the following setting: # # (readonly) - It is an error to try and set this field. (buyer-readonly) - Only the seller can set this field. (seller-readonly) - Only the buyer can set this field. (updatable) - The field is updatable at all times by either buyer or the seller. - "kind": "adexchangebuyer#proposal", # Identifies what kind of resource this is. Value: the fixed string "adexchangebuyer#proposal". - "proposalState": "A String", # The current state of the proposal. (readonly) - "name": "A String", # The name for the proposal (updatable) - "buyerPrivateData": { # Private data for buyer. (hidden from seller). - "referenceId": "A String", - "referencePayload": "A String", - }, - "billedBuyer": { # Reference to the buyer that will get billed for this proposal. (readonly) - "accountId": "A String", # Adx account id of the buyer. - }, "labels": [ # List of labels associated with the proposal. (readonly) { "createTimeMs": "A String", # The creation time (in ms since epoch) for the label. @@ -417,30 +414,41 @@

Method Details

"accountId": "A String", # The accountId of the party that created the label. }, ], - "originatorRole": "A String", # Indicates whether the buyer/seller created the proposal.(readonly) - "revisionTimeMs": "A String", # The time (ms since epoch) when the proposal was last revised (readonly). "sellerContacts": [ # Optional contact information for the seller (buyer-readonly). { "email": "A String", # Email address of the contact. "name": "A String", # The name of the contact. }, ], - "lastUpdaterRole": "A String", - "proposalId": "A String", # The unique id of the proposal. (readonly). + "negotiationId": "A String", # Optional negotiation id if this proposal is a preferred deal proposal. "inventorySource": "A String", # What exchange will provide this inventory (readonly, except on create). "revisionNumber": "A String", # The revision number for the proposal (readonly). - "hasSellerSignedOff": True or False, # When an proposal is in an accepted state, indicates whether the buyer has signed off Once both sides have signed off on a deal, the proposal can be finalized by the seller. (buyer-readonly) + "revisionTimeMs": "A String", # The time (ms since epoch) when the proposal was last revised (readonly). + "seller": { # Reference to the seller on the proposal. (readonly, except on create) + "subAccountId": "A String", # Optional sub-account id for the seller. + "accountId": "A String", # The unique id for the seller. The seller fills in this field. The seller account id is then available to buyer in the product. + }, + "proposalId": "A String", # The unique id of the proposal. (readonly). "isRenegotiating": True or False, # True if the proposal is being renegotiated (readonly). + "lastUpdaterOrCommentorRole": "A String", # The role of the last user that either updated the proposal or left a comment. (readonly) + "privateAuctionId": "A String", # Optional private auction id if this proposal is a private auction proposal. + "originatorRole": "A String", # Indicates whether the buyer/seller created the proposal.(readonly) + "hasSellerSignedOff": True or False, # When an proposal is in an accepted state, indicates whether the buyer has signed off Once both sides have signed off on a deal, the proposal can be finalized by the seller. (buyer-readonly) "buyer": { # Reference to the buyer on the proposal. (readonly, except on create) "accountId": "A String", # Adx account id of the buyer. }, "hasBuyerSignedOff": True or False, # When an proposal is in an accepted state, indicates whether the buyer has signed off Once both sides have signed off on a deal, the proposal can be finalized by the seller. (seller-readonly) - "isSetupComplete": True or False, # True, if the buyside inventory setup is complete for this proposal. (readonly) - "seller": { # Reference to the seller on the proposal. (readonly, except on create) - "subAccountId": "A String", # Optional sub-account id for the seller. - "accountId": "A String", # The unique id for the seller. The seller fills in this field. The seller account id is then available to buyer in the product. + "kind": "adexchangebuyer#proposal", # Identifies what kind of resource this is. Value: the fixed string "adexchangebuyer#proposal". + "proposalState": "A String", # The current state of the proposal. (readonly) + "name": "A String", # The name for the proposal (updatable) + "buyerPrivateData": { # Private data for buyer. (hidden from seller). + "referenceId": "A String", + "referencePayload": "A String", }, - "lastUpdaterOrCommentorRole": "A String", # The role of the last user that either updated the proposal or left a comment. (readonly) + "billedBuyer": { # Reference to the buyer that will get billed for this proposal. (readonly) + "accountId": "A String", # Adx account id of the buyer. + }, + "isSetupComplete": True or False, # True, if the buyside inventory setup is complete for this proposal. (readonly, except via OrderSetupCompleted action) "buyerContacts": [ # Optional contact information fort the buyer. (seller-readonly) { "email": "A String", # Email address of the contact. @@ -465,16 +473,6 @@

Method Details

{ # Represents a proposal in the marketplace. A proposal is the unit of negotiation between a seller and a buyer and contains deals which are served. Each field in a proposal can have one of the following setting: # # (readonly) - It is an error to try and set this field. (buyer-readonly) - Only the seller can set this field. (seller-readonly) - Only the buyer can set this field. (updatable) - The field is updatable at all times by either buyer or the seller. - "kind": "adexchangebuyer#proposal", # Identifies what kind of resource this is. Value: the fixed string "adexchangebuyer#proposal". - "proposalState": "A String", # The current state of the proposal. (readonly) - "name": "A String", # The name for the proposal (updatable) - "buyerPrivateData": { # Private data for buyer. (hidden from seller). - "referenceId": "A String", - "referencePayload": "A String", - }, - "billedBuyer": { # Reference to the buyer that will get billed for this proposal. (readonly) - "accountId": "A String", # Adx account id of the buyer. - }, "labels": [ # List of labels associated with the proposal. (readonly) { "createTimeMs": "A String", # The creation time (in ms since epoch) for the label. @@ -491,30 +489,41 @@

Method Details

"accountId": "A String", # The accountId of the party that created the label. }, ], - "originatorRole": "A String", # Indicates whether the buyer/seller created the proposal.(readonly) - "revisionTimeMs": "A String", # The time (ms since epoch) when the proposal was last revised (readonly). "sellerContacts": [ # Optional contact information for the seller (buyer-readonly). { "email": "A String", # Email address of the contact. "name": "A String", # The name of the contact. }, ], - "lastUpdaterRole": "A String", - "proposalId": "A String", # The unique id of the proposal. (readonly). + "negotiationId": "A String", # Optional negotiation id if this proposal is a preferred deal proposal. "inventorySource": "A String", # What exchange will provide this inventory (readonly, except on create). "revisionNumber": "A String", # The revision number for the proposal (readonly). - "hasSellerSignedOff": True or False, # When an proposal is in an accepted state, indicates whether the buyer has signed off Once both sides have signed off on a deal, the proposal can be finalized by the seller. (buyer-readonly) + "revisionTimeMs": "A String", # The time (ms since epoch) when the proposal was last revised (readonly). + "seller": { # Reference to the seller on the proposal. (readonly, except on create) + "subAccountId": "A String", # Optional sub-account id for the seller. + "accountId": "A String", # The unique id for the seller. The seller fills in this field. The seller account id is then available to buyer in the product. + }, + "proposalId": "A String", # The unique id of the proposal. (readonly). "isRenegotiating": True or False, # True if the proposal is being renegotiated (readonly). + "lastUpdaterOrCommentorRole": "A String", # The role of the last user that either updated the proposal or left a comment. (readonly) + "privateAuctionId": "A String", # Optional private auction id if this proposal is a private auction proposal. + "originatorRole": "A String", # Indicates whether the buyer/seller created the proposal.(readonly) + "hasSellerSignedOff": True or False, # When an proposal is in an accepted state, indicates whether the buyer has signed off Once both sides have signed off on a deal, the proposal can be finalized by the seller. (buyer-readonly) "buyer": { # Reference to the buyer on the proposal. (readonly, except on create) "accountId": "A String", # Adx account id of the buyer. }, "hasBuyerSignedOff": True or False, # When an proposal is in an accepted state, indicates whether the buyer has signed off Once both sides have signed off on a deal, the proposal can be finalized by the seller. (seller-readonly) - "isSetupComplete": True or False, # True, if the buyside inventory setup is complete for this proposal. (readonly) - "seller": { # Reference to the seller on the proposal. (readonly, except on create) - "subAccountId": "A String", # Optional sub-account id for the seller. - "accountId": "A String", # The unique id for the seller. The seller fills in this field. The seller account id is then available to buyer in the product. + "kind": "adexchangebuyer#proposal", # Identifies what kind of resource this is. Value: the fixed string "adexchangebuyer#proposal". + "proposalState": "A String", # The current state of the proposal. (readonly) + "name": "A String", # The name for the proposal (updatable) + "buyerPrivateData": { # Private data for buyer. (hidden from seller). + "referenceId": "A String", + "referencePayload": "A String", }, - "lastUpdaterOrCommentorRole": "A String", # The role of the last user that either updated the proposal or left a comment. (readonly) + "billedBuyer": { # Reference to the buyer that will get billed for this proposal. (readonly) + "accountId": "A String", # Adx account id of the buyer. + }, + "isSetupComplete": True or False, # True, if the buyside inventory setup is complete for this proposal. (readonly, except via OrderSetupCompleted action) "buyerContacts": [ # Optional contact information fort the buyer. (seller-readonly) { "email": "A String", # Email address of the contact. @@ -526,6 +535,15 @@

Method Details

} +
+ setupcomplete(proposalId) +
Update the given proposal to indicate that setup has been completed.
+
+Args:
+  proposalId: string, The proposal id for which the setup is complete (required)
+
+
+
update(proposalId, revisionNumber, updateAction, body)
Update the given proposal
@@ -546,16 +564,6 @@ 

Method Details

{ # Represents a proposal in the marketplace. A proposal is the unit of negotiation between a seller and a buyer and contains deals which are served. Each field in a proposal can have one of the following setting: # # (readonly) - It is an error to try and set this field. (buyer-readonly) - Only the seller can set this field. (seller-readonly) - Only the buyer can set this field. (updatable) - The field is updatable at all times by either buyer or the seller. - "kind": "adexchangebuyer#proposal", # Identifies what kind of resource this is. Value: the fixed string "adexchangebuyer#proposal". - "proposalState": "A String", # The current state of the proposal. (readonly) - "name": "A String", # The name for the proposal (updatable) - "buyerPrivateData": { # Private data for buyer. (hidden from seller). - "referenceId": "A String", - "referencePayload": "A String", - }, - "billedBuyer": { # Reference to the buyer that will get billed for this proposal. (readonly) - "accountId": "A String", # Adx account id of the buyer. - }, "labels": [ # List of labels associated with the proposal. (readonly) { "createTimeMs": "A String", # The creation time (in ms since epoch) for the label. @@ -572,30 +580,41 @@

Method Details

"accountId": "A String", # The accountId of the party that created the label. }, ], - "originatorRole": "A String", # Indicates whether the buyer/seller created the proposal.(readonly) - "revisionTimeMs": "A String", # The time (ms since epoch) when the proposal was last revised (readonly). "sellerContacts": [ # Optional contact information for the seller (buyer-readonly). { "email": "A String", # Email address of the contact. "name": "A String", # The name of the contact. }, ], - "lastUpdaterRole": "A String", - "proposalId": "A String", # The unique id of the proposal. (readonly). + "negotiationId": "A String", # Optional negotiation id if this proposal is a preferred deal proposal. "inventorySource": "A String", # What exchange will provide this inventory (readonly, except on create). "revisionNumber": "A String", # The revision number for the proposal (readonly). - "hasSellerSignedOff": True or False, # When an proposal is in an accepted state, indicates whether the buyer has signed off Once both sides have signed off on a deal, the proposal can be finalized by the seller. (buyer-readonly) + "revisionTimeMs": "A String", # The time (ms since epoch) when the proposal was last revised (readonly). + "seller": { # Reference to the seller on the proposal. (readonly, except on create) + "subAccountId": "A String", # Optional sub-account id for the seller. + "accountId": "A String", # The unique id for the seller. The seller fills in this field. The seller account id is then available to buyer in the product. + }, + "proposalId": "A String", # The unique id of the proposal. (readonly). "isRenegotiating": True or False, # True if the proposal is being renegotiated (readonly). + "lastUpdaterOrCommentorRole": "A String", # The role of the last user that either updated the proposal or left a comment. (readonly) + "privateAuctionId": "A String", # Optional private auction id if this proposal is a private auction proposal. + "originatorRole": "A String", # Indicates whether the buyer/seller created the proposal.(readonly) + "hasSellerSignedOff": True or False, # When an proposal is in an accepted state, indicates whether the buyer has signed off Once both sides have signed off on a deal, the proposal can be finalized by the seller. (buyer-readonly) "buyer": { # Reference to the buyer on the proposal. (readonly, except on create) "accountId": "A String", # Adx account id of the buyer. }, "hasBuyerSignedOff": True or False, # When an proposal is in an accepted state, indicates whether the buyer has signed off Once both sides have signed off on a deal, the proposal can be finalized by the seller. (seller-readonly) - "isSetupComplete": True or False, # True, if the buyside inventory setup is complete for this proposal. (readonly) - "seller": { # Reference to the seller on the proposal. (readonly, except on create) - "subAccountId": "A String", # Optional sub-account id for the seller. - "accountId": "A String", # The unique id for the seller. The seller fills in this field. The seller account id is then available to buyer in the product. + "kind": "adexchangebuyer#proposal", # Identifies what kind of resource this is. Value: the fixed string "adexchangebuyer#proposal". + "proposalState": "A String", # The current state of the proposal. (readonly) + "name": "A String", # The name for the proposal (updatable) + "buyerPrivateData": { # Private data for buyer. (hidden from seller). + "referenceId": "A String", + "referencePayload": "A String", }, - "lastUpdaterOrCommentorRole": "A String", # The role of the last user that either updated the proposal or left a comment. (readonly) + "billedBuyer": { # Reference to the buyer that will get billed for this proposal. (readonly) + "accountId": "A String", # Adx account id of the buyer. + }, + "isSetupComplete": True or False, # True, if the buyside inventory setup is complete for this proposal. (readonly, except via OrderSetupCompleted action) "buyerContacts": [ # Optional contact information fort the buyer. (seller-readonly) { "email": "A String", # Email address of the contact. @@ -611,16 +630,6 @@

Method Details

{ # Represents a proposal in the marketplace. A proposal is the unit of negotiation between a seller and a buyer and contains deals which are served. Each field in a proposal can have one of the following setting: # # (readonly) - It is an error to try and set this field. (buyer-readonly) - Only the seller can set this field. (seller-readonly) - Only the buyer can set this field. (updatable) - The field is updatable at all times by either buyer or the seller. - "kind": "adexchangebuyer#proposal", # Identifies what kind of resource this is. Value: the fixed string "adexchangebuyer#proposal". - "proposalState": "A String", # The current state of the proposal. (readonly) - "name": "A String", # The name for the proposal (updatable) - "buyerPrivateData": { # Private data for buyer. (hidden from seller). - "referenceId": "A String", - "referencePayload": "A String", - }, - "billedBuyer": { # Reference to the buyer that will get billed for this proposal. (readonly) - "accountId": "A String", # Adx account id of the buyer. - }, "labels": [ # List of labels associated with the proposal. (readonly) { "createTimeMs": "A String", # The creation time (in ms since epoch) for the label. @@ -637,30 +646,41 @@

Method Details

"accountId": "A String", # The accountId of the party that created the label. }, ], - "originatorRole": "A String", # Indicates whether the buyer/seller created the proposal.(readonly) - "revisionTimeMs": "A String", # The time (ms since epoch) when the proposal was last revised (readonly). "sellerContacts": [ # Optional contact information for the seller (buyer-readonly). { "email": "A String", # Email address of the contact. "name": "A String", # The name of the contact. }, ], - "lastUpdaterRole": "A String", - "proposalId": "A String", # The unique id of the proposal. (readonly). + "negotiationId": "A String", # Optional negotiation id if this proposal is a preferred deal proposal. "inventorySource": "A String", # What exchange will provide this inventory (readonly, except on create). "revisionNumber": "A String", # The revision number for the proposal (readonly). - "hasSellerSignedOff": True or False, # When an proposal is in an accepted state, indicates whether the buyer has signed off Once both sides have signed off on a deal, the proposal can be finalized by the seller. (buyer-readonly) + "revisionTimeMs": "A String", # The time (ms since epoch) when the proposal was last revised (readonly). + "seller": { # Reference to the seller on the proposal. (readonly, except on create) + "subAccountId": "A String", # Optional sub-account id for the seller. + "accountId": "A String", # The unique id for the seller. The seller fills in this field. The seller account id is then available to buyer in the product. + }, + "proposalId": "A String", # The unique id of the proposal. (readonly). "isRenegotiating": True or False, # True if the proposal is being renegotiated (readonly). + "lastUpdaterOrCommentorRole": "A String", # The role of the last user that either updated the proposal or left a comment. (readonly) + "privateAuctionId": "A String", # Optional private auction id if this proposal is a private auction proposal. + "originatorRole": "A String", # Indicates whether the buyer/seller created the proposal.(readonly) + "hasSellerSignedOff": True or False, # When an proposal is in an accepted state, indicates whether the buyer has signed off Once both sides have signed off on a deal, the proposal can be finalized by the seller. (buyer-readonly) "buyer": { # Reference to the buyer on the proposal. (readonly, except on create) "accountId": "A String", # Adx account id of the buyer. }, "hasBuyerSignedOff": True or False, # When an proposal is in an accepted state, indicates whether the buyer has signed off Once both sides have signed off on a deal, the proposal can be finalized by the seller. (seller-readonly) - "isSetupComplete": True or False, # True, if the buyside inventory setup is complete for this proposal. (readonly) - "seller": { # Reference to the seller on the proposal. (readonly, except on create) - "subAccountId": "A String", # Optional sub-account id for the seller. - "accountId": "A String", # The unique id for the seller. The seller fills in this field. The seller account id is then available to buyer in the product. + "kind": "adexchangebuyer#proposal", # Identifies what kind of resource this is. Value: the fixed string "adexchangebuyer#proposal". + "proposalState": "A String", # The current state of the proposal. (readonly) + "name": "A String", # The name for the proposal (updatable) + "buyerPrivateData": { # Private data for buyer. (hidden from seller). + "referenceId": "A String", + "referencePayload": "A String", }, - "lastUpdaterOrCommentorRole": "A String", # The role of the last user that either updated the proposal or left a comment. (readonly) + "billedBuyer": { # Reference to the buyer that will get billed for this proposal. (readonly) + "accountId": "A String", # Adx account id of the buyer. + }, + "isSetupComplete": True or False, # True, if the buyside inventory setup is complete for this proposal. (readonly, except via OrderSetupCompleted action) "buyerContacts": [ # Optional contact information fort the buyer. (seller-readonly) { "email": "A String", # Email address of the contact. diff --git a/docs/dyn/adexchangebuyer_v1_4.pubprofiles.html b/docs/dyn/adexchangebuyer_v1_4.pubprofiles.html new file mode 100644 index 00000000000..e4271c07deb --- /dev/null +++ b/docs/dyn/adexchangebuyer_v1_4.pubprofiles.html @@ -0,0 +1,143 @@ + + + +

Ad Exchange Buyer API . pubprofiles

+

Instance Methods

+

+ list(accountId)

+

Gets the requested publisher profile(s) by publisher accountId.

+

Method Details

+
+ list(accountId) +
Gets the requested publisher profile(s) by publisher accountId.
+
+Args:
+  accountId: integer, The accountId of the publisher to get profiles for. (required)
+
+Returns:
+  An object of the form:
+
+    {
+    "profiles": [ # Profiles for the requested publisher
+      {
+        "googlePlusLink": "A String", # Link to publisher's Google+ page.
+        "mediaKitLink": "A String", # The url for additional marketing and sales materials.
+        "publisherProvidedForecast": { # This message carries publisher provided forecasting information. # Publisher provided forecasting information.
+          "weeklyImpressions": "A String", # Publisher provided weekly impressions.
+          "dimensions": [ # Publisher provided dimensions. E.g. geo, sizes etc...
+            { # This message carries publisher provided breakdown. E.g. {dimension_type: 'COUNTRY', [{dimension_value: {id: 1, name: 'US'}}, {dimension_value: {id: 2, name: 'UK'}}]}
+              "dimensionType": "A String",
+              "dimensionValues": [
+                { # Value of the dimension.
+                  "id": 42, # Id of the dimension.
+                  "name": "A String", # Name of the dimension mainly for debugging purposes.
+                },
+              ],
+            },
+          ],
+          "weeklyUniques": "A String", # Publisher provided weekly uniques.
+        },
+        "overview": "A String", # Publisher provided overview.
+        "buyerPitchStatement": "A String", # A pitch statement for the buyer
+        "isParent": True or False, # True, if this is the parent profile, which represents all domains owned by the publisher.
+        "topHeadlines": [ # Publisher provided key metrics and rankings.
+          "A String",
+        ],
+        "publisherProfileId": "A String", # Unique Id for publisher profile.
+        "accountId": "A String", # The account id of the seller.
+        "programmaticContact": "A String", # Programmatic contact for the publisher profile.
+        "rateCardInfoLink": "A String", # Link to publisher rate card
+        "seller": { # Seller of the publisher profile.
+          "subAccountId": "A String", # Optional sub-account id for the seller.
+          "accountId": "A String", # The unique id for the seller. The seller fills in this field. The seller account id is then available to buyer in the product.
+        },
+        "directContact": "A String", # Direct contact for the publisher profile.
+        "samplePageLink": "A String", # Link for a sample content page.
+        "state": "A String", # State of the publisher profile.
+        "exchange": "A String", # Exchange where this publisher profile is from. E.g. AdX, Rubicon etc...
+        "kind": "adexchangebuyer#publisherProfileApiProto", # Identifies what kind of resource this is. Value: the fixed string "adexchangebuyer#publisherProfileApiProto".
+        "name": "A String",
+        "publisherDomains": [ # The list of domains represented in this publisher profile. Empty if this is a parent profile.
+          "A String",
+        ],
+        "isPublished": True or False, # True, if this profile is published. Deprecated for state.
+        "audience": "A String", # Publisher provided info on its audience.
+        "logoUrl": "A String", # The url to the logo for the publisher.
+        "profileId": 42, # The pair of (seller.account_id, profile_id) uniquely identifies a publisher profile for a given publisher.
+      },
+    ],
+  }
+
+ + \ No newline at end of file diff --git a/docs/dyn/analytics_v3.management.accountSummaries.html b/docs/dyn/analytics_v3.management.accountSummaries.html index 2114c3f832e..f01e419566e 100644 --- a/docs/dyn/analytics_v3.management.accountSummaries.html +++ b/docs/dyn/analytics_v3.management.accountSummaries.html @@ -94,6 +94,7 @@

Method Details

"kind": "analytics#accountSummaries", # Collection type. "items": [ # A list of AccountSummaries. { # JSON template for an Analytics AccountSummary. An AccountSummary is a lightweight tree comprised of properties/profiles. + "starred": True or False, # Indicates whether this account is starred or not. "kind": "analytics#accountSummary", # Resource type for Analytics AccountSummary. "webProperties": [ # List of web properties under this account. { # JSON template for an Analytics WebPropertySummary. WebPropertySummary returns basic information (i.e., summary) for a web property. @@ -102,6 +103,7 @@

Method Details

"level": "A String", # Level for this web property. Possible values are STANDARD or PREMIUM. "profiles": [ # List of profiles under this web property. { # JSON template for an Analytics ProfileSummary. ProfileSummary returns basic information (i.e., summary) for a profile. + "starred": True or False, # Indicates whether this view (profile) is starred or not. "kind": "analytics#profileSummary", # Resource type for Analytics ProfileSummary. "type": "A String", # View (Profile) type. Supported types: WEB or APP. "id": "A String", # View (profile) ID. @@ -110,6 +112,7 @@

Method Details

], "websiteUrl": "A String", # Website url for this web property. "internalWebPropertyId": "A String", # Internal ID for this web property. + "starred": True or False, # Indicates whether this web property is starred or not. "id": "A String", # Web property ID of the form UA-XXXXX-YY. }, ], diff --git a/docs/dyn/analytics_v3.management.accounts.html b/docs/dyn/analytics_v3.management.accounts.html index f3dca44945b..a005cc2b10d 100644 --- a/docs/dyn/analytics_v3.management.accounts.html +++ b/docs/dyn/analytics_v3.management.accounts.html @@ -102,6 +102,7 @@

Method Details

"href": "A String", # Link to the list of web properties for this account. "type": "analytics#webproperties", # Type of the child link. Its value is "analytics#webproperties". }, + "starred": True or False, # Indicates whether this account is starred or not. "id": "A String", # Account ID. "selfLink": "A String", # Link for this account. "permissions": { # Permissions the user has for this account. diff --git a/docs/dyn/analytics_v3.management.goals.html b/docs/dyn/analytics_v3.management.goals.html index 249639da232..35fa3602cc0 100644 --- a/docs/dyn/analytics_v3.management.goals.html +++ b/docs/dyn/analytics_v3.management.goals.html @@ -85,10 +85,10 @@

Instance Methods

Lists goals to which the user has access.

patch(accountId, webPropertyId, profileId, goalId, body)

-

Updates an existing view (profile). This method supports patch semantics.

+

Updates an existing goal. This method supports patch semantics.

update(accountId, webPropertyId, profileId, goalId, body)

-

Updates an existing view (profile).

+

Updates an existing goal.

Method Details

get(accountId, webPropertyId, profileId, goalId) @@ -360,7 +360,7 @@

Method Details

patch(accountId, webPropertyId, profileId, goalId, body) -
Updates an existing view (profile). This method supports patch semantics.
+  
Updates an existing goal. This method supports patch semantics.
 
 Args:
   accountId: string, Account ID to update the goal. (required)
@@ -483,7 +483,7 @@ 

Method Details

update(accountId, webPropertyId, profileId, goalId, body) -
Updates an existing view (profile).
+  
Updates an existing goal.
 
 Args:
   accountId: string, Account ID to update the goal. (required)
diff --git a/docs/dyn/analytics_v3.management.profiles.html b/docs/dyn/analytics_v3.management.profiles.html
index daf686f27e7..be50130fedc 100644
--- a/docs/dyn/analytics_v3.management.profiles.html
+++ b/docs/dyn/analytics_v3.management.profiles.html
@@ -109,9 +109,9 @@ 

Method Details

Gets a view (profile) to which the user has access.
 
 Args:
-  accountId: string, Account ID to retrieve the goal for. (required)
-  webPropertyId: string, Web property ID to retrieve the goal for. (required)
-  profileId: string, View (Profile) ID to retrieve the goal for. (required)
+  accountId: string, Account ID to retrieve the view (profile) for. (required)
+  webPropertyId: string, Web property ID to retrieve the view (profile) for. (required)
+  profileId: string, View (Profile) ID to retrieve the view (profile) for. (required)
 
 Returns:
   An object of the form:
@@ -136,6 +136,10 @@ 

Method Details

"type": "analytics#goals", # Value is "analytics#goals". }, "enhancedECommerceTracking": True or False, # Indicates whether enhanced ecommerce tracking is enabled for this view (profile). This property can only be enabled if ecommerce tracking is enabled. + "parentLink": { # Parent link for this view (profile). Points to the web property to which this view (profile) belongs. + "href": "A String", # Link to the web property to which this view (profile) belongs. + "type": "analytics#webproperty", # Value is "analytics#webproperty". + }, "permissions": { # Permissions the user has for this view (profile). "effective": [ # All the permissions that the user has for this view (profile). These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent web property. "A String", @@ -148,10 +152,7 @@

Method Details

"created": "A String", # Time this view (profile) was created. "siteSearchQueryParameters": "A String", # The site search query parameters for this view (profile). "websiteUrl": "A String", # Website URL for this view (profile). - "parentLink": { # Parent link for this view (profile). Points to the web property to which this view (profile) belongs. - "href": "A String", # Link to the web property to which this view (profile) belongs. - "type": "analytics#webproperty", # Value is "analytics#webproperty". - }, + "starred": True or False, # Indicates whether this view (profile) is starred or not. "selfLink": "A String", # Link for this view (profile). }
@@ -186,6 +187,10 @@

Method Details

"type": "analytics#goals", # Value is "analytics#goals". }, "enhancedECommerceTracking": True or False, # Indicates whether enhanced ecommerce tracking is enabled for this view (profile). This property can only be enabled if ecommerce tracking is enabled. + "parentLink": { # Parent link for this view (profile). Points to the web property to which this view (profile) belongs. + "href": "A String", # Link to the web property to which this view (profile) belongs. + "type": "analytics#webproperty", # Value is "analytics#webproperty". + }, "permissions": { # Permissions the user has for this view (profile). "effective": [ # All the permissions that the user has for this view (profile). These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent web property. "A String", @@ -198,10 +203,7 @@

Method Details

"created": "A String", # Time this view (profile) was created. "siteSearchQueryParameters": "A String", # The site search query parameters for this view (profile). "websiteUrl": "A String", # Website URL for this view (profile). - "parentLink": { # Parent link for this view (profile). Points to the web property to which this view (profile) belongs. - "href": "A String", # Link to the web property to which this view (profile) belongs. - "type": "analytics#webproperty", # Value is "analytics#webproperty". - }, + "starred": True or False, # Indicates whether this view (profile) is starred or not. "selfLink": "A String", # Link for this view (profile). } @@ -229,6 +231,10 @@

Method Details

"type": "analytics#goals", # Value is "analytics#goals". }, "enhancedECommerceTracking": True or False, # Indicates whether enhanced ecommerce tracking is enabled for this view (profile). This property can only be enabled if ecommerce tracking is enabled. + "parentLink": { # Parent link for this view (profile). Points to the web property to which this view (profile) belongs. + "href": "A String", # Link to the web property to which this view (profile) belongs. + "type": "analytics#webproperty", # Value is "analytics#webproperty". + }, "permissions": { # Permissions the user has for this view (profile). "effective": [ # All the permissions that the user has for this view (profile). These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent web property. "A String", @@ -241,10 +247,7 @@

Method Details

"created": "A String", # Time this view (profile) was created. "siteSearchQueryParameters": "A String", # The site search query parameters for this view (profile). "websiteUrl": "A String", # Website URL for this view (profile). - "parentLink": { # Parent link for this view (profile). Points to the web property to which this view (profile) belongs. - "href": "A String", # Link to the web property to which this view (profile) belongs. - "type": "analytics#webproperty", # Value is "analytics#webproperty". - }, + "starred": True or False, # Indicates whether this view (profile) is starred or not. "selfLink": "A String", # Link for this view (profile). }
@@ -286,6 +289,10 @@

Method Details

"type": "analytics#goals", # Value is "analytics#goals". }, "enhancedECommerceTracking": True or False, # Indicates whether enhanced ecommerce tracking is enabled for this view (profile). This property can only be enabled if ecommerce tracking is enabled. + "parentLink": { # Parent link for this view (profile). Points to the web property to which this view (profile) belongs. + "href": "A String", # Link to the web property to which this view (profile) belongs. + "type": "analytics#webproperty", # Value is "analytics#webproperty". + }, "permissions": { # Permissions the user has for this view (profile). "effective": [ # All the permissions that the user has for this view (profile). These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent web property. "A String", @@ -298,10 +305,7 @@

Method Details

"created": "A String", # Time this view (profile) was created. "siteSearchQueryParameters": "A String", # The site search query parameters for this view (profile). "websiteUrl": "A String", # Website URL for this view (profile). - "parentLink": { # Parent link for this view (profile). Points to the web property to which this view (profile) belongs. - "href": "A String", # Link to the web property to which this view (profile) belongs. - "type": "analytics#webproperty", # Value is "analytics#webproperty". - }, + "starred": True or False, # Indicates whether this view (profile) is starred or not. "selfLink": "A String", # Link for this view (profile). }, ], @@ -344,6 +348,10 @@

Method Details

"type": "analytics#goals", # Value is "analytics#goals". }, "enhancedECommerceTracking": True or False, # Indicates whether enhanced ecommerce tracking is enabled for this view (profile). This property can only be enabled if ecommerce tracking is enabled. + "parentLink": { # Parent link for this view (profile). Points to the web property to which this view (profile) belongs. + "href": "A String", # Link to the web property to which this view (profile) belongs. + "type": "analytics#webproperty", # Value is "analytics#webproperty". + }, "permissions": { # Permissions the user has for this view (profile). "effective": [ # All the permissions that the user has for this view (profile). These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent web property. "A String", @@ -356,10 +364,7 @@

Method Details

"created": "A String", # Time this view (profile) was created. "siteSearchQueryParameters": "A String", # The site search query parameters for this view (profile). "websiteUrl": "A String", # Website URL for this view (profile). - "parentLink": { # Parent link for this view (profile). Points to the web property to which this view (profile) belongs. - "href": "A String", # Link to the web property to which this view (profile) belongs. - "type": "analytics#webproperty", # Value is "analytics#webproperty". - }, + "starred": True or False, # Indicates whether this view (profile) is starred or not. "selfLink": "A String", # Link for this view (profile). } @@ -387,6 +392,10 @@

Method Details

"type": "analytics#goals", # Value is "analytics#goals". }, "enhancedECommerceTracking": True or False, # Indicates whether enhanced ecommerce tracking is enabled for this view (profile). This property can only be enabled if ecommerce tracking is enabled. + "parentLink": { # Parent link for this view (profile). Points to the web property to which this view (profile) belongs. + "href": "A String", # Link to the web property to which this view (profile) belongs. + "type": "analytics#webproperty", # Value is "analytics#webproperty". + }, "permissions": { # Permissions the user has for this view (profile). "effective": [ # All the permissions that the user has for this view (profile). These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent web property. "A String", @@ -399,10 +408,7 @@

Method Details

"created": "A String", # Time this view (profile) was created. "siteSearchQueryParameters": "A String", # The site search query parameters for this view (profile). "websiteUrl": "A String", # Website URL for this view (profile). - "parentLink": { # Parent link for this view (profile). Points to the web property to which this view (profile) belongs. - "href": "A String", # Link to the web property to which this view (profile) belongs. - "type": "analytics#webproperty", # Value is "analytics#webproperty". - }, + "starred": True or False, # Indicates whether this view (profile) is starred or not. "selfLink": "A String", # Link for this view (profile). }
@@ -438,6 +444,10 @@

Method Details

"type": "analytics#goals", # Value is "analytics#goals". }, "enhancedECommerceTracking": True or False, # Indicates whether enhanced ecommerce tracking is enabled for this view (profile). This property can only be enabled if ecommerce tracking is enabled. + "parentLink": { # Parent link for this view (profile). Points to the web property to which this view (profile) belongs. + "href": "A String", # Link to the web property to which this view (profile) belongs. + "type": "analytics#webproperty", # Value is "analytics#webproperty". + }, "permissions": { # Permissions the user has for this view (profile). "effective": [ # All the permissions that the user has for this view (profile). These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent web property. "A String", @@ -450,10 +460,7 @@

Method Details

"created": "A String", # Time this view (profile) was created. "siteSearchQueryParameters": "A String", # The site search query parameters for this view (profile). "websiteUrl": "A String", # Website URL for this view (profile). - "parentLink": { # Parent link for this view (profile). Points to the web property to which this view (profile) belongs. - "href": "A String", # Link to the web property to which this view (profile) belongs. - "type": "analytics#webproperty", # Value is "analytics#webproperty". - }, + "starred": True or False, # Indicates whether this view (profile) is starred or not. "selfLink": "A String", # Link for this view (profile). } @@ -481,6 +488,10 @@

Method Details

"type": "analytics#goals", # Value is "analytics#goals". }, "enhancedECommerceTracking": True or False, # Indicates whether enhanced ecommerce tracking is enabled for this view (profile). This property can only be enabled if ecommerce tracking is enabled. + "parentLink": { # Parent link for this view (profile). Points to the web property to which this view (profile) belongs. + "href": "A String", # Link to the web property to which this view (profile) belongs. + "type": "analytics#webproperty", # Value is "analytics#webproperty". + }, "permissions": { # Permissions the user has for this view (profile). "effective": [ # All the permissions that the user has for this view (profile). These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent web property. "A String", @@ -493,10 +504,7 @@

Method Details

"created": "A String", # Time this view (profile) was created. "siteSearchQueryParameters": "A String", # The site search query parameters for this view (profile). "websiteUrl": "A String", # Website URL for this view (profile). - "parentLink": { # Parent link for this view (profile). Points to the web property to which this view (profile) belongs. - "href": "A String", # Link to the web property to which this view (profile) belongs. - "type": "analytics#webproperty", # Value is "analytics#webproperty". - }, + "starred": True or False, # Indicates whether this view (profile) is starred or not. "selfLink": "A String", # Link for this view (profile). } diff --git a/docs/dyn/analytics_v3.management.webproperties.html b/docs/dyn/analytics_v3.management.webproperties.html index a1a5f854dd9..e5c7eb7adde 100644 --- a/docs/dyn/analytics_v3.management.webproperties.html +++ b/docs/dyn/analytics_v3.management.webproperties.html @@ -116,6 +116,7 @@

Method Details

"type": "analytics#profiles", # Type of the parent link. Its value is "analytics#profiles". }, "industryVertical": "A String", # The industry vertical/category selected for this web property. + "starred": True or False, # Indicates whether this web property is starred or not. "parentLink": { # Parent link for this web property. Points to the account to which this web property belongs. "href": "A String", # Link to the account for this web property. "type": "analytics#account", # Type of the parent link. Its value is "analytics#account". @@ -155,6 +156,7 @@

Method Details

"type": "analytics#profiles", # Type of the parent link. Its value is "analytics#profiles". }, "industryVertical": "A String", # The industry vertical/category selected for this web property. + "starred": True or False, # Indicates whether this web property is starred or not. "parentLink": { # Parent link for this web property. Points to the account to which this web property belongs. "href": "A String", # Link to the account for this web property. "type": "analytics#account", # Type of the parent link. Its value is "analytics#account". @@ -188,6 +190,7 @@

Method Details

"type": "analytics#profiles", # Type of the parent link. Its value is "analytics#profiles". }, "industryVertical": "A String", # The industry vertical/category selected for this web property. + "starred": True or False, # Indicates whether this web property is starred or not. "parentLink": { # Parent link for this web property. Points to the account to which this web property belongs. "href": "A String", # Link to the account for this web property. "type": "analytics#account", # Type of the parent link. Its value is "analytics#account". @@ -234,6 +237,7 @@

Method Details

"type": "analytics#profiles", # Type of the parent link. Its value is "analytics#profiles". }, "industryVertical": "A String", # The industry vertical/category selected for this web property. + "starred": True or False, # Indicates whether this web property is starred or not. "parentLink": { # Parent link for this web property. Points to the account to which this web property belongs. "href": "A String", # Link to the account for this web property. "type": "analytics#account", # Type of the parent link. Its value is "analytics#account". @@ -281,6 +285,7 @@

Method Details

"type": "analytics#profiles", # Type of the parent link. Its value is "analytics#profiles". }, "industryVertical": "A String", # The industry vertical/category selected for this web property. + "starred": True or False, # Indicates whether this web property is starred or not. "parentLink": { # Parent link for this web property. Points to the account to which this web property belongs. "href": "A String", # Link to the account for this web property. "type": "analytics#account", # Type of the parent link. Its value is "analytics#account". @@ -314,6 +319,7 @@

Method Details

"type": "analytics#profiles", # Type of the parent link. Its value is "analytics#profiles". }, "industryVertical": "A String", # The industry vertical/category selected for this web property. + "starred": True or False, # Indicates whether this web property is starred or not. "parentLink": { # Parent link for this web property. Points to the account to which this web property belongs. "href": "A String", # Link to the account for this web property. "type": "analytics#account", # Type of the parent link. Its value is "analytics#account". @@ -354,6 +360,7 @@

Method Details

"type": "analytics#profiles", # Type of the parent link. Its value is "analytics#profiles". }, "industryVertical": "A String", # The industry vertical/category selected for this web property. + "starred": True or False, # Indicates whether this web property is starred or not. "parentLink": { # Parent link for this web property. Points to the account to which this web property belongs. "href": "A String", # Link to the account for this web property. "type": "analytics#account", # Type of the parent link. Its value is "analytics#account". @@ -387,6 +394,7 @@

Method Details

"type": "analytics#profiles", # Type of the parent link. Its value is "analytics#profiles". }, "industryVertical": "A String", # The industry vertical/category selected for this web property. + "starred": True or False, # Indicates whether this web property is starred or not. "parentLink": { # Parent link for this web property. Points to the account to which this web property belongs. "href": "A String", # Link to the account for this web property. "type": "analytics#account", # Type of the parent link. Its value is "analytics#account". diff --git a/docs/dyn/analytics_v3.provisioning.html b/docs/dyn/analytics_v3.provisioning.html index e16a6007c46..542940d3895 100644 --- a/docs/dyn/analytics_v3.provisioning.html +++ b/docs/dyn/analytics_v3.provisioning.html @@ -107,6 +107,10 @@

Method Details

"type": "analytics#goals", # Value is "analytics#goals". }, "enhancedECommerceTracking": True or False, # Indicates whether enhanced ecommerce tracking is enabled for this view (profile). This property can only be enabled if ecommerce tracking is enabled. + "parentLink": { # Parent link for this view (profile). Points to the web property to which this view (profile) belongs. + "href": "A String", # Link to the web property to which this view (profile) belongs. + "type": "analytics#webproperty", # Value is "analytics#webproperty". + }, "permissions": { # Permissions the user has for this view (profile). "effective": [ # All the permissions that the user has for this view (profile). These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent web property. "A String", @@ -119,10 +123,7 @@

Method Details

"created": "A String", # Time this view (profile) was created. "siteSearchQueryParameters": "A String", # The site search query parameters for this view (profile). "websiteUrl": "A String", # Website URL for this view (profile). - "parentLink": { # Parent link for this view (profile). Points to the web property to which this view (profile) belongs. - "href": "A String", # Link to the web property to which this view (profile) belongs. - "type": "analytics#webproperty", # Value is "analytics#webproperty". - }, + "starred": True or False, # Indicates whether this view (profile) is starred or not. "selfLink": "A String", # Link for this view (profile). }, "account": { # JSON template for Analytics account entry. # Account for this ticket. @@ -134,6 +135,7 @@

Method Details

"href": "A String", # Link to the list of web properties for this account. "type": "analytics#webproperties", # Type of the child link. Its value is "analytics#webproperties". }, + "starred": True or False, # Indicates whether this account is starred or not. "id": "A String", # Account ID. "selfLink": "A String", # Link for this account. "permissions": { # Permissions the user has for this account. @@ -157,6 +159,7 @@

Method Details

"type": "analytics#profiles", # Type of the parent link. Its value is "analytics#profiles". }, "industryVertical": "A String", # The industry vertical/category selected for this web property. + "starred": True or False, # Indicates whether this web property is starred or not. "parentLink": { # Parent link for this web property. Points to the account to which this web property belongs. "href": "A String", # Link to the account for this web property. "type": "analytics#account", # Type of the parent link. Its value is "analytics#account". @@ -200,6 +203,10 @@

Method Details

"type": "analytics#goals", # Value is "analytics#goals". }, "enhancedECommerceTracking": True or False, # Indicates whether enhanced ecommerce tracking is enabled for this view (profile). This property can only be enabled if ecommerce tracking is enabled. + "parentLink": { # Parent link for this view (profile). Points to the web property to which this view (profile) belongs. + "href": "A String", # Link to the web property to which this view (profile) belongs. + "type": "analytics#webproperty", # Value is "analytics#webproperty". + }, "permissions": { # Permissions the user has for this view (profile). "effective": [ # All the permissions that the user has for this view (profile). These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent web property. "A String", @@ -212,10 +219,7 @@

Method Details

"created": "A String", # Time this view (profile) was created. "siteSearchQueryParameters": "A String", # The site search query parameters for this view (profile). "websiteUrl": "A String", # Website URL for this view (profile). - "parentLink": { # Parent link for this view (profile). Points to the web property to which this view (profile) belongs. - "href": "A String", # Link to the web property to which this view (profile) belongs. - "type": "analytics#webproperty", # Value is "analytics#webproperty". - }, + "starred": True or False, # Indicates whether this view (profile) is starred or not. "selfLink": "A String", # Link for this view (profile). }, "account": { # JSON template for Analytics account entry. # Account for this ticket. @@ -227,6 +231,7 @@

Method Details

"href": "A String", # Link to the list of web properties for this account. "type": "analytics#webproperties", # Type of the child link. Its value is "analytics#webproperties". }, + "starred": True or False, # Indicates whether this account is starred or not. "id": "A String", # Account ID. "selfLink": "A String", # Link for this account. "permissions": { # Permissions the user has for this account. @@ -250,6 +255,7 @@

Method Details

"type": "analytics#profiles", # Type of the parent link. Its value is "analytics#profiles". }, "industryVertical": "A String", # The industry vertical/category selected for this web property. + "starred": True or False, # Indicates whether this web property is starred or not. "parentLink": { # Parent link for this web property. Points to the account to which this web property belongs. "href": "A String", # Link to the account for this web property. "type": "analytics#account", # Type of the parent link. Its value is "analytics#account". diff --git a/docs/dyn/analyticsreporting_v4.html b/docs/dyn/analyticsreporting_v4.html new file mode 100644 index 00000000000..46eb435e964 --- /dev/null +++ b/docs/dyn/analyticsreporting_v4.html @@ -0,0 +1,103 @@ + + + +

Google Analytics Reporting API

+

Instance Methods

+

+ reports() +

+

Returns the reports Resource.

+ +

+ new_batch_http_request()

+

Create a BatchHttpRequest object based on the discovery document.

+

Method Details

+
+ new_batch_http_request() +
Create a BatchHttpRequest object based on the discovery document.
+
+        Args:
+          callback: callable, A callback to be called for each response, of the
+            form callback(id, response, exception). The first parameter is the
+            request id, and the second is the deserialized response object. The
+            third is an apiclient.errors.HttpError exception object if an HTTP
+            error occurred while processing the request, or None if no error
+            occurred.
+
+        Returns:
+          A BatchHttpRequest object based on the discovery document.
+        
+
+ + \ No newline at end of file diff --git a/docs/dyn/analyticsreporting_v4.reports.html b/docs/dyn/analyticsreporting_v4.reports.html new file mode 100644 index 00000000000..780479c708e --- /dev/null +++ b/docs/dyn/analyticsreporting_v4.reports.html @@ -0,0 +1,839 @@ + + + +

Google Analytics Reporting API . reports

+

Instance Methods

+

+ batchGet(body, x__xgafv=None)

+

Returns the Analytics data.

+

Method Details

+
+ batchGet(body, x__xgafv=None) +
Returns the Analytics data.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # The batch request containing multiple report request.
+    "reportRequests": [ # Requests, each request will have a separate response.
+        # There can be a maximum of 5 requests. All requests should have the same
+        # `dateRange`, `viewId`, `segments`, `samplingLevel`, and `cohortGroup`.
+      { # The main request class which specifies the Reporting API request.
+        "pivots": [ # The pivot definitions.
+          { # The Pivot describes the pivot section in the request.
+              # The Pivot helps rearrange the information in the table for certain reports
+              # by pivoting your data on a second dimension.
+            "metrics": [ # Metrics to aggregate and return.
+              { # A metric in the request.
+                "alias": "A String", # An alias for the metric expression is an alternate name for the
+                    # expression. The alias can be used for filtering and sorting. This field
+                    # is optional and is useful if the expression is not a single metric but
+                    # a complex expression which cannot be used in filtering and sorting.
+                    # The alias is also used in the response column header.
+                "expression": "A String", # A metric expression in the request. An expression is constructed from one
+                    # or more metrics and numbers. Accepted operators include: Plus (+), Minus
+                    # (-), Negation (Unary -), Divided by (/), Multiplied by (*), Parenthesis,
+                    # Positive cardinal numbers (0-9), can include decimals and is limited to
+                    # 1024 characters. Example `ga:totalRefunds/ga:users`, in most cases the
+                    # metric expression is just a single metric name like `ga:users`.
+                    # Adding mixed `MetricType` (E.g., `CURRENCY` + `PERCENTAGE`) metrics
+                    # will result in unexpected results.
+                "formattingType": "A String", # Specifies how the metric expression should be formatted, for example
+                    # `INTEGER`.
+              },
+            ],
+            "startGroup": 42, # If k metrics were requested, then the response will contain some
+                # data-dependent multiple of k columns in the report.  E.g., if you pivoted
+                # on the dimension `ga:browser` then you'd get k columns for "Firefox", k
+                # columns for "IE", k columns for "Chrome", etc. The ordering of the groups
+                # of columns is determined by descending order of "total" for the first of
+                # the k values.  Ties are broken by lexicographic ordering of the first
+                # pivot dimension, then lexicographic ordering of the second pivot
+                # dimension, and so on.  E.g., if the totals for the first value for
+                # Firefox, IE, and Chrome were 8, 2, 8, respectively, the order of columns
+                # would be Chrome, Firefox, IE.
+                #
+                # The following let you choose which of the groups of k columns are
+                # included in the response.
+            "dimensions": [ # A list of dimensions to show as pivot columns.
+              { # A dimension in the request.
+                "name": "A String", # Name of the dimension to fetch, for example `ga:browser`.
+                "histogramBuckets": [ # If non-empty, we place dimension values into buckets after string to
+                    # int64. Dimension values that are not the string representation of an
+                    # integral value will be converted to zero.  The bucket values have to be in
+                    # increasing order.  Each bucket is closed on the lower end, and open on the
+                    # upper end. The "first" bucket includes all values less than the first
+                    # boundary, the "last" bucket includes all values up to infinity. Dimension
+                    # values that fall in a bucket get transformed to a new dimension value. For
+                    # example, if one gives a list of "0, 1, 3, 4, 7", then we return the
+                    # following buckets:
+                    #
+                    # - bucket #1: values < 0, dimension value "<0"
+                    # - bucket #2: values in [0,1), dimension value "0"
+                    # - bucket #3: values in [1,3), dimension value "1-2"
+                    # - bucket #4: values in [3,4), dimension value "3"
+                    # - bucket #5: values in [4,7), dimension value "4-6"
+                    # - bucket #6: values >= 7, dimension value "7+"
+                    #
+                    # NOTE: If you are applying histogram mutation on any dimension, and using
+                    # that dimension in sort, you will want to use the sort type
+                    # `HISTOGRAM_BUCKET` for that purpose. Without that the dimension values
+                    # will be sorted according to dictionary
+                    # (lexicographic) order. For example the ascending dictionary order is:
+                    #
+                    #    "<50", "1001+", "121-1000", "50-120"
+                    #
+                    # And the ascending `HISTOGRAM_BUCKET` order is:
+                    #
+                    #    "<50", "50-120", "121-1000", "1001+"
+                    #
+                    # The client has to explicitly request `"orderType": "HISTOGRAM_BUCKET"`
+                    # for a histogram-mutated dimension.
+                  "A String",
+                ],
+              },
+            ],
+            "dimensionFilterClauses": [ # DimensionFilterClauses are logically combined with an `AND` operator: only
+                # data that is included by all these DimensionFilterClauses contributes to
+                # the values in this pivot region. Dimension filters can be used to restrict
+                # the columns shown in the pivot region. For example if you have
+                # `ga:browser` as the requested dimension in the pivot region, and you
+                # specify key filters to restrict `ga:browser` to only "IE" or "Firefox",
+                # then only those two browsers would show up as columns.
+              { # A group of dimension filters. Set the operator value to specify how
+                  # the filters are logically combined.
+                "operator": "A String", # The operator for combining multiple dimension filters. If unspecified, it
+                    # is treated as an `OR`.
+                "filters": [ # The repeated set of filters. They are logically combined based on the
+                    # operator specified.
+                  { # Dimension filter specifies the filtering options on a dimension.
+                    "dimensionName": "A String", # The dimension to filter on. A DimensionFilter must contain a dimension.
+                    "operator": "A String", # How to match the dimension to the expression. The default is REGEXP.
+                    "expressions": [ # Strings or regular expression to match against. Only the first value of
+                        # the list is used for comparison unless the operator is `IN_LIST`.
+                        # If `IN_LIST` operator, then the entire list is used to filter the
+                        # dimensions as explained in the description of the `IN_LIST` operator.
+                      "A String",
+                    ],
+                    "not": True or False, # Logical `NOT` operator. If this boolean is set to true, then the matching
+                        # dimension values will be excluded in the report. The default is false.
+                    "caseSensitive": True or False, # Should the match be case sensitive? Default is false.
+                  },
+                ],
+              },
+            ],
+            "maxGroupCount": 42, # Specifies the maximum number of groups to return.
+                # The default value is 10, also the maximum value is 1,000.
+          },
+        ],
+        "hideTotals": True or False, # If set to true, hides the total of all metrics for all the matching rows,
+            # for every date range. The default false and will return the totals.
+        "metrics": [ # Metrics, the quantitative measurements, requested in the request.
+            # Requests must specify at least one metric.
+          { # A metric in the request.
+            "alias": "A String", # An alias for the metric expression is an alternate name for the
+                # expression. The alias can be used for filtering and sorting. This field
+                # is optional and is useful if the expression is not a single metric but
+                # a complex expression which cannot be used in filtering and sorting.
+                # The alias is also used in the response column header.
+            "expression": "A String", # A metric expression in the request. An expression is constructed from one
+                # or more metrics and numbers. Accepted operators include: Plus (+), Minus
+                # (-), Negation (Unary -), Divided by (/), Multiplied by (*), Parenthesis,
+                # Positive cardinal numbers (0-9), can include decimals and is limited to
+                # 1024 characters. Example `ga:totalRefunds/ga:users`, in most cases the
+                # metric expression is just a single metric name like `ga:users`.
+                # Adding mixed `MetricType` (E.g., `CURRENCY` + `PERCENTAGE`) metrics
+                # will result in unexpected results.
+            "formattingType": "A String", # Specifies how the metric expression should be formatted, for example
+                # `INTEGER`.
+          },
+        ],
+        "dimensions": [ # Dimensions requested in the request.
+          { # A dimension in the request.
+            "name": "A String", # Name of the dimension to fetch, for example `ga:browser`.
+            "histogramBuckets": [ # If non-empty, we place dimension values into buckets after string to
+                # int64. Dimension values that are not the string representation of an
+                # integral value will be converted to zero.  The bucket values have to be in
+                # increasing order.  Each bucket is closed on the lower end, and open on the
+                # upper end. The "first" bucket includes all values less than the first
+                # boundary, the "last" bucket includes all values up to infinity. Dimension
+                # values that fall in a bucket get transformed to a new dimension value. For
+                # example, if one gives a list of "0, 1, 3, 4, 7", then we return the
+                # following buckets:
+                #
+                # - bucket #1: values < 0, dimension value "<0"
+                # - bucket #2: values in [0,1), dimension value "0"
+                # - bucket #3: values in [1,3), dimension value "1-2"
+                # - bucket #4: values in [3,4), dimension value "3"
+                # - bucket #5: values in [4,7), dimension value "4-6"
+                # - bucket #6: values >= 7, dimension value "7+"
+                #
+                # NOTE: If you are applying histogram mutation on any dimension, and using
+                # that dimension in sort, you will want to use the sort type
+                # `HISTOGRAM_BUCKET` for that purpose. Without that the dimension values
+                # will be sorted according to dictionary
+                # (lexicographic) order. For example the ascending dictionary order is:
+                #
+                #    "<50", "1001+", "121-1000", "50-120"
+                #
+                # And the ascending `HISTOGRAM_BUCKET` order is:
+                #
+                #    "<50", "50-120", "121-1000", "1001+"
+                #
+                # The client has to explicitly request `"orderType": "HISTOGRAM_BUCKET"`
+                # for a histogram-mutated dimension.
+              "A String",
+            ],
+          },
+        ],
+        "dimensionFilterClauses": [ # The dimension filter clauses for filtering Dimension Values. They are
+            # logically combined with the `AND` operator. Note that filtering occurs
+            # before any dimensions are aggregated, so that the returned metrics
+            # represent the total for only the relevant dimensions.
+          { # A group of dimension filters. Set the operator value to specify how
+              # the filters are logically combined.
+            "operator": "A String", # The operator for combining multiple dimension filters. If unspecified, it
+                # is treated as an `OR`.
+            "filters": [ # The repeated set of filters. They are logically combined based on the
+                # operator specified.
+              { # Dimension filter specifies the filtering options on a dimension.
+                "dimensionName": "A String", # The dimension to filter on. A DimensionFilter must contain a dimension.
+                "operator": "A String", # How to match the dimension to the expression. The default is REGEXP.
+                "expressions": [ # Strings or regular expression to match against. Only the first value of
+                    # the list is used for comparison unless the operator is `IN_LIST`.
+                    # If `IN_LIST` operator, then the entire list is used to filter the
+                    # dimensions as explained in the description of the `IN_LIST` operator.
+                  "A String",
+                ],
+                "not": True or False, # Logical `NOT` operator. If this boolean is set to true, then the matching
+                    # dimension values will be excluded in the report. The default is false.
+                "caseSensitive": True or False, # Should the match be case sensitive? Default is false.
+              },
+            ],
+          },
+        ],
+        "includeEmptyRows": True or False, # If set to false, the response does not include rows if all the retrieved
+            # metrics are equal to zero. The default is false which will exclude these
+            # rows.
+        "filtersExpression": "A String", # Dimension or metric filters that restrict the data returned for your
+            # request. To use the `filtersExpression`, supply a dimension or metric on
+            # which to filter, followed by the filter expression. For example, the
+            # following expression selects `ga:browser` dimension which starts with
+            # Firefox; `ga:browser=~^Firefox`. For more information on dimensions
+            # and metric filters, see
+            # [Filters reference](https://developers.google.com/analytics/devguides/reporting/core/v3/reference#filters).
+        "segments": [ # Segment the data returned for the request. A segment definition helps look
+            # at a subset of the segment request. A request can contain up to four
+            # segments. All requests should have the same segment definitions. Requests
+            # with segments must have the `ga:segment` dimension.
+          { # The segment definition, if the report needs to be segmented.
+              # A Segment is a subset of the Analytics data. For example, of the entire
+              # set of users, one Segment might be users from a particular country or city.
+            "dynamicSegment": { # Dynamic segment definition for defining the segment within the request. # A dynamic segment definition in the request.
+                # A segment can select users, sessions or both.
+              "sessionSegment": { # SegmentDefinition defines the segment to be a set of SegmentFilters which # Session Segment to select sessions to include in the segment.
+                  # are combined together with a logical `AND` operation.
+                "segmentFilters": [ # A segment is defined by a set of segment filters which are combined
+                    # together with a logical `AND` operation.
+                  { # SegmentFilter defines the segment to be either a simple or a sequence
+                      # segment. A simple segment condition contains dimension and metric conditions
+                      # to select the sessions or users. A sequence segment condition can be used to
+                      # select users or sessions based on sequential conditions.
+                    "not": True or False, # If true, match the complement of simple or sequence segment.
+                        # For example, to match all visits not from "New York", we can define the
+                        # segment as follows:
+                        #
+                        #       "sessionSegment": {
+                        #         "segmentFilters": [{
+                        #           "simpleSegment" :{
+                        #             "orFiltersForSegment": [{
+                        #               "segmentFilterClauses":[{
+                        #                 "dimensionFilter": {
+                        #                   "dimensionName": "ga:city",
+                        #                   "expressions": ["New York"]
+                        #                 }
+                        #               }]
+                        #             }]
+                        #           },
+                        #           "not": "True"
+                        #         }]
+                        #       },
+                    "simpleSegment": { # A Simple segment conditions consist of one or more dimension/metric # A Simple segment conditions consist of one or more dimension/metric
+                        # conditions that can be combined
+                        # conditions that can be combined.
+                      "orFiltersForSegment": [ # A list of segment filters groups which are combined with logical `AND`
+                          # operator.
+                        { # A list of segment filters in the `OR` group are combined with the logical OR
+                            # operator.
+                          "segmentFilterClauses": [ # List of segment filters to be combined with a `OR` operator.
+                            { # Filter Clause to be used in a segment definition, can be wither a metric or
+                                # a dimension filter.
+                              "not": True or False, # Matches the complement (`!`) of the filter.
+                              "dimensionFilter": { # Dimension filter specifies the filtering options on a dimension. # Dimension Filter for the segment definition.
+                                "minComparisonValue": "A String", # Minimum comparison values for `BETWEEN` match type.
+                                "maxComparisonValue": "A String", # Maximum comparison values for `BETWEEN` match type.
+                                "dimensionName": "A String", # Name of the dimension for which the filter is being applied.
+                                "caseSensitive": True or False, # Should the match be case sensitive, ignored for `IN_LIST` operator.
+                                "operator": "A String", # The operator to use to match the dimension with the expressions.
+                                "expressions": [ # The list of expressions, only the first element is used for all operators
+                                  "A String",
+                                ],
+                              },
+                              "metricFilter": { # Metric filter to be used in a segment filter clause. # Metric Filter for the segment definition.
+                                "operator": "A String", # Specifies is the operation to perform to compare the metric. The default
+                                    # is `EQUAL`.
+                                "scope": "A String", # Scope for a metric defines the level at which that metric is defined.  The
+                                    # specified metric scope must be equal to or greater than its primary scope
+                                    # as defined in the data model. The primary scope is defined by if the
+                                    # segment is selecting users or sessions.
+                                "comparisonValue": "A String", # The value to compare against. If the operator is `BETWEEN`, this value is
+                                    # treated as minimum comparison value.
+                                "maxComparisonValue": "A String", # Max comparison value is only used for `BETWEEN` operator.
+                                "metricName": "A String", # The metric that will be filtered on. A `metricFilter` must contain a
+                                    # metric name.
+                              },
+                            },
+                          ],
+                        },
+                      ],
+                    },
+                    "sequenceSegment": { # Sequence conditions consist of one or more steps, where each step is defined # Sequence conditions consist of one or more steps, where each step is
+                        # defined by one or more dimension/metric conditions. Multiple steps can
+                        # be combined with special sequence operators.
+                        # by one or more dimension/metric conditions. Multiple steps can be combined
+                        # with special sequence operators.
+                      "firstStepShouldMatchFirstHit": True or False, # If set, first step condition must match the first hit of the visitor (in
+                          # the date range).
+                      "segmentSequenceSteps": [ # The list of steps in the sequence.
+                        { # A segment sequence definition.
+                          "matchType": "A String", # Specifies if the step immediately precedes or can be any time before the
+                              # next step.
+                          "orFiltersForSegment": [ # A sequence is specified with a list of Or grouped filters which are
+                              # combined with `AND` operator.
+                            { # A list of segment filters in the `OR` group are combined with the logical OR
+                                # operator.
+                              "segmentFilterClauses": [ # List of segment filters to be combined with a `OR` operator.
+                                { # Filter Clause to be used in a segment definition, can be wither a metric or
+                                    # a dimension filter.
+                                  "not": True or False, # Matches the complement (`!`) of the filter.
+                                  "dimensionFilter": { # Dimension filter specifies the filtering options on a dimension. # Dimension Filter for the segment definition.
+                                    "minComparisonValue": "A String", # Minimum comparison values for `BETWEEN` match type.
+                                    "maxComparisonValue": "A String", # Maximum comparison values for `BETWEEN` match type.
+                                    "dimensionName": "A String", # Name of the dimension for which the filter is being applied.
+                                    "caseSensitive": True or False, # Should the match be case sensitive, ignored for `IN_LIST` operator.
+                                    "operator": "A String", # The operator to use to match the dimension with the expressions.
+                                    "expressions": [ # The list of expressions, only the first element is used for all operators
+                                      "A String",
+                                    ],
+                                  },
+                                  "metricFilter": { # Metric filter to be used in a segment filter clause. # Metric Filter for the segment definition.
+                                    "operator": "A String", # Specifies is the operation to perform to compare the metric. The default
+                                        # is `EQUAL`.
+                                    "scope": "A String", # Scope for a metric defines the level at which that metric is defined.  The
+                                        # specified metric scope must be equal to or greater than its primary scope
+                                        # as defined in the data model. The primary scope is defined by if the
+                                        # segment is selecting users or sessions.
+                                    "comparisonValue": "A String", # The value to compare against. If the operator is `BETWEEN`, this value is
+                                        # treated as minimum comparison value.
+                                    "maxComparisonValue": "A String", # Max comparison value is only used for `BETWEEN` operator.
+                                    "metricName": "A String", # The metric that will be filtered on. A `metricFilter` must contain a
+                                        # metric name.
+                                  },
+                                },
+                              ],
+                            },
+                          ],
+                        },
+                      ],
+                    },
+                  },
+                ],
+              },
+              "name": "A String", # The name of the dynamic segment.
+              "userSegment": { # SegmentDefinition defines the segment to be a set of SegmentFilters which # User Segment to select users to include in the segment.
+                  # are combined together with a logical `AND` operation.
+                "segmentFilters": [ # A segment is defined by a set of segment filters which are combined
+                    # together with a logical `AND` operation.
+                  { # SegmentFilter defines the segment to be either a simple or a sequence
+                      # segment. A simple segment condition contains dimension and metric conditions
+                      # to select the sessions or users. A sequence segment condition can be used to
+                      # select users or sessions based on sequential conditions.
+                    "not": True or False, # If true, match the complement of simple or sequence segment.
+                        # For example, to match all visits not from "New York", we can define the
+                        # segment as follows:
+                        #
+                        #       "sessionSegment": {
+                        #         "segmentFilters": [{
+                        #           "simpleSegment" :{
+                        #             "orFiltersForSegment": [{
+                        #               "segmentFilterClauses":[{
+                        #                 "dimensionFilter": {
+                        #                   "dimensionName": "ga:city",
+                        #                   "expressions": ["New York"]
+                        #                 }
+                        #               }]
+                        #             }]
+                        #           },
+                        #           "not": "True"
+                        #         }]
+                        #       },
+                    "simpleSegment": { # A Simple segment conditions consist of one or more dimension/metric # A Simple segment conditions consist of one or more dimension/metric
+                        # conditions that can be combined
+                        # conditions that can be combined.
+                      "orFiltersForSegment": [ # A list of segment filters groups which are combined with logical `AND`
+                          # operator.
+                        { # A list of segment filters in the `OR` group are combined with the logical OR
+                            # operator.
+                          "segmentFilterClauses": [ # List of segment filters to be combined with a `OR` operator.
+                            { # Filter Clause to be used in a segment definition, can be wither a metric or
+                                # a dimension filter.
+                              "not": True or False, # Matches the complement (`!`) of the filter.
+                              "dimensionFilter": { # Dimension filter specifies the filtering options on a dimension. # Dimension Filter for the segment definition.
+                                "minComparisonValue": "A String", # Minimum comparison values for `BETWEEN` match type.
+                                "maxComparisonValue": "A String", # Maximum comparison values for `BETWEEN` match type.
+                                "dimensionName": "A String", # Name of the dimension for which the filter is being applied.
+                                "caseSensitive": True or False, # Should the match be case sensitive, ignored for `IN_LIST` operator.
+                                "operator": "A String", # The operator to use to match the dimension with the expressions.
+                                "expressions": [ # The list of expressions, only the first element is used for all operators
+                                  "A String",
+                                ],
+                              },
+                              "metricFilter": { # Metric filter to be used in a segment filter clause. # Metric Filter for the segment definition.
+                                "operator": "A String", # Specifies is the operation to perform to compare the metric. The default
+                                    # is `EQUAL`.
+                                "scope": "A String", # Scope for a metric defines the level at which that metric is defined.  The
+                                    # specified metric scope must be equal to or greater than its primary scope
+                                    # as defined in the data model. The primary scope is defined by if the
+                                    # segment is selecting users or sessions.
+                                "comparisonValue": "A String", # The value to compare against. If the operator is `BETWEEN`, this value is
+                                    # treated as minimum comparison value.
+                                "maxComparisonValue": "A String", # Max comparison value is only used for `BETWEEN` operator.
+                                "metricName": "A String", # The metric that will be filtered on. A `metricFilter` must contain a
+                                    # metric name.
+                              },
+                            },
+                          ],
+                        },
+                      ],
+                    },
+                    "sequenceSegment": { # Sequence conditions consist of one or more steps, where each step is defined # Sequence conditions consist of one or more steps, where each step is
+                        # defined by one or more dimension/metric conditions. Multiple steps can
+                        # be combined with special sequence operators.
+                        # by one or more dimension/metric conditions. Multiple steps can be combined
+                        # with special sequence operators.
+                      "firstStepShouldMatchFirstHit": True or False, # If set, first step condition must match the first hit of the visitor (in
+                          # the date range).
+                      "segmentSequenceSteps": [ # The list of steps in the sequence.
+                        { # A segment sequence definition.
+                          "matchType": "A String", # Specifies if the step immediately precedes or can be any time before the
+                              # next step.
+                          "orFiltersForSegment": [ # A sequence is specified with a list of Or grouped filters which are
+                              # combined with `AND` operator.
+                            { # A list of segment filters in the `OR` group are combined with the logical OR
+                                # operator.
+                              "segmentFilterClauses": [ # List of segment filters to be combined with a `OR` operator.
+                                { # Filter Clause to be used in a segment definition, can be wither a metric or
+                                    # a dimension filter.
+                                  "not": True or False, # Matches the complement (`!`) of the filter.
+                                  "dimensionFilter": { # Dimension filter specifies the filtering options on a dimension. # Dimension Filter for the segment definition.
+                                    "minComparisonValue": "A String", # Minimum comparison values for `BETWEEN` match type.
+                                    "maxComparisonValue": "A String", # Maximum comparison values for `BETWEEN` match type.
+                                    "dimensionName": "A String", # Name of the dimension for which the filter is being applied.
+                                    "caseSensitive": True or False, # Should the match be case sensitive, ignored for `IN_LIST` operator.
+                                    "operator": "A String", # The operator to use to match the dimension with the expressions.
+                                    "expressions": [ # The list of expressions, only the first element is used for all operators
+                                      "A String",
+                                    ],
+                                  },
+                                  "metricFilter": { # Metric filter to be used in a segment filter clause. # Metric Filter for the segment definition.
+                                    "operator": "A String", # Specifies is the operation to perform to compare the metric. The default
+                                        # is `EQUAL`.
+                                    "scope": "A String", # Scope for a metric defines the level at which that metric is defined.  The
+                                        # specified metric scope must be equal to or greater than its primary scope
+                                        # as defined in the data model. The primary scope is defined by if the
+                                        # segment is selecting users or sessions.
+                                    "comparisonValue": "A String", # The value to compare against. If the operator is `BETWEEN`, this value is
+                                        # treated as minimum comparison value.
+                                    "maxComparisonValue": "A String", # Max comparison value is only used for `BETWEEN` operator.
+                                    "metricName": "A String", # The metric that will be filtered on. A `metricFilter` must contain a
+                                        # metric name.
+                                  },
+                                },
+                              ],
+                            },
+                          ],
+                        },
+                      ],
+                    },
+                  },
+                ],
+              },
+            },
+            "segmentId": "A String", # The segment ID of a built-in or custom segment, for example `gaid::-3`.
+          },
+        ],
+        "hideValueRanges": True or False, # If set to true, hides the minimum and maximum across all matching rows.
+            # The default is false and the value ranges are returned.
+        "orderBys": [ # Sort order on output rows. To compare two rows, the elements of the
+            # following are applied in order until a difference is found.  All date
+            # ranges in the output get the same row order.
+          { # Specifies the sorting options.
+            "orderType": "A String", # The order type. The default orderType is `VALUE`.
+            "fieldName": "A String", # The field which to sort by. The default sort order is ascending. Example:
+                # `ga:browser`.
+                # Note, that you can only specify one field for sort here. For example,
+                # `ga:browser, ga:city` is not valid.
+            "sortOrder": "A String", # The sorting order for the field.
+          },
+        ],
+        "cohortGroup": { # Defines a cohort group. # Cohort group associated with this request. If there is a cohort group
+            # in the request the `ga:cohort` dimension must be present. All requests
+            # should have the same cohort definitions.
+            # For example:
+            #
+            #     "cohortGroup": {
+            #       "cohorts": [{
+            #         "name": "cohort 1",
+            #         "type": "FIRST_VISIT_DATE",
+            #         "dateRange": { "startDate": "2015-08-01", "endDate": "2015-08-01" }
+            #       },{
+            #         "name": "cohort 2"
+            #          "type": "FIRST_VISIT_DATE"
+            #          "dateRange": { "startDate": "2015-07-01", "endDate": "2015-07-01" }
+            #       }]
+            #     }
+          "cohorts": [ # The definition for the cohort.
+            { # Defines a cohort. A cohort is a group of users who share a common
+                # characteristic. For example, all users with the same acquisition date
+                # belong to the same cohort.
+              "dateRange": { # A contiguous set of days: startDate, startDate + 1 day, ..., endDate. # This is used for `FIRST_VISIT_DATE` cohort, the cohort selects users
+                  # whose first visit date is between start date and end date defined in the
+                  # DateRange. The date ranges should be aligned for cohort requests. If the
+                  # request contains `ga:cohortNthDay` it should be exactly one day long,
+                  # if `ga:cohortNthWeek` it should be aligned to the week boundary (starting
+                  # at Sunday and ending Saturday), and for `ga:cohortNthMonth` the date range
+                  # should be aligned to the month (starting at the first and ending on the
+                  # last day of the month).
+                  # For LTV requests there are no such restrictions.
+                  # You do not need to supply a date range for the
+                  # `reportsRequest.dateRanges` field.
+                  # The start and end dates are specified in
+                  # [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) date format `YYYY-MM-DD`.
+                "startDate": "A String", # The start date for the query in the format `YYYY-MM-DD`.
+                "endDate": "A String", # The end date for the query in the format `YYYY-MM-DD`.
+              },
+              "type": "A String", # Type of the cohort. The only supported type as of now is
+                  # `FIRST_VISIT_DATE`. If this field is unspecified the cohort is treated
+                  # as `FIRST_VISIT_DATE` type cohort.
+              "name": "A String", # A unique name for the cohort. If not defined name will be auto-generated
+                  # with values cohort_[1234...].
+            },
+          ],
+          "lifetimeValue": True or False, # Enable Life Time Value (LTV).  LTV measures lifetime value for users
+              # acquired through different channels.
+              # Please see:
+              # [Cohort Analysis](https://support.google.com/analytics/answer/6074676) and
+              # [Lifetime Value](https://support.google.com/analytics/answer/6182550)
+              # If the value of lifetimeValue is false:
+              #
+              # - The metric values are similar to the values in the web interface cohort
+              #   report.
+              # - The cohort definition date ranges must be aligned to the calendar week
+              #   and month. i.e. while requesting `ga:cohortNthWeek` the `startDate` in
+              #   the cohort definition should be a Sunday and the `endDate` should be the
+              #   following Saturday, and for `ga:cohortNthMonth`, the `startDate`
+              #   should be the 1st of the month and `endDate` should be the last day
+              #   of the month.
+              #
+              # When the lifetimeValue is true:
+              #
+              # - The metric values will correspond to the values in the web interface
+              #   LifeTime value report.
+              # - The Lifetime Value report shows you how user value (Revenue) and
+              #   engagement (Appviews, Goal Completions, Sessions, and Session Duration)
+              #   grow during the 90 days after a user is acquired.
+              # - The metrics are calculated as a cumulative average per user per the time
+              #   increment.
+              # - The cohort definition date ranges need not be aligned to the calendar
+              #   week and month boundaries.
+              # - The `viewId` must be an
+              #   [app view ID](https://support.google.com/analytics/answer/2649553#WebVersusAppViews)
+        },
+        "dateRanges": [ # Date ranges in the request. The request can have a maximum of 2 date
+            # ranges. The response will contain a set of metric values for each
+            # combination of the dimensions for each date range in the request. So, if
+            # there are two date ranges, there will be two set of metric values, one for
+            # the original date range and one for the second date range.
+            # The `reportRequest.dateRanges` field should not be specified for cohorts
+            # or Lifetime value requests.
+            # If a date range is not provided, the default date range is (startDate:
+            # current date - 7 days, endDate: current date - 1 day)
+          { # A contiguous set of days: startDate, startDate + 1 day, ..., endDate.
+              # The start and end dates are specified in
+              # [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) date format `YYYY-MM-DD`.
+            "startDate": "A String", # The start date for the query in the format `YYYY-MM-DD`.
+            "endDate": "A String", # The end date for the query in the format `YYYY-MM-DD`.
+          },
+        ],
+        "pageToken": "A String", # A continuation token to get the next page of the results. Adding this to
+            # the request will return the rows after the pageToken. The pageToken should
+            # be the value returned in the nextPageToken parameter in the response to
+            # the GetReports request.
+        "samplingLevel": "A String", # The desired sampling level. If the sampling level is not specified the
+            # DEFAULT sampling level will be used. All requests should have same
+            # `samplingLevel`.
+        "pageSize": 42, # Page size is for paging and specifies the maximum number of returned rows.
+            # Page size should be >= 0. A query returns the default of 1,000 rows.
+            # The Analytics Core Reporting API returns a maximum of 10,000 rows per
+            # request, no matter how many you ask for. It can also return fewer rows
+            # than requested, if there aren't as many dimension segments as you expect.
+            # For instance, there are fewer than 300 possible values for `ga:country`,
+            # so when segmenting only by country, you can't get more than 300 rows,
+            # even if you set `pageSize` to a higher value.
+        "metricFilterClauses": [ # The metric filter clauses. They are logically combined with the `AND`
+            # operator.  Metric filters look at only the first date range and not the
+            # comparing date range. Note that filtering on metrics occurs after the
+            # metrics are aggregated.
+          { # Represents a group of metric filters.
+              # Set the operator value to specify how the filters are logically combined.
+            "operator": "A String", # The operator for combining multiple metric filters. If unspecified, it is
+                # treated as an `OR`.
+            "filters": [ # The repeated set of filters. They are logically combined based on the
+                # operator specified.
+              { # MetricFilter specifies the filter on a metric.
+                "operator": "A String", # Is the metric `EQUAL`, `LESS_THAN` or `GREATER_THAN` the
+                    # comparisonValue, the default is `EQUAL`. If the operator is
+                    # `IS_MISSING`, checks if the metric is missing and would ignore the
+                    # comparisonValue.
+                "not": True or False, # Logical `NOT` operator. If this boolean is set to true, then the matching
+                    # metric values will be excluded in the report. The default is false.
+                "comparisonValue": "A String", # The value to compare against.
+                "metricName": "A String", # The metric that will be filtered on. A metricFilter must contain a metric
+                    # name. A metric name can be an alias earlier defined as a metric or it can
+                    # also be a metric expression.
+              },
+            ],
+          },
+        ],
+        "viewId": "A String", # Unique View Id for retrieving Analytics data.
+      },
+    ],
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The main response class which holds the reports from the Reporting API
+      # `batchGet` call.
+    "reports": [ # Responses corresponding to each of the request.
+      { # The data response corresponding to the request.
+        "nextPageToken": "A String", # Page token to retrieve the next page of results in the list.
+        "data": { # The data part of the report. # Response data.
+          "rows": [ # There's one ReportRow for every unique combination of dimensions.
+            { # A row in the report.
+              "metrics": [ # List of metrics for each requested DateRange
+                { # Used to return a list of metrics for a single DateRange / dimension
+                    # combination
+                  "values": [ # Each value corresponds to each Metric in the request.
+                    "A String",
+                  ],
+                  "pivotValueRegions": [ # The values of each pivot region.
+                    { # The metric values in the pivot region.
+                      "values": [ # The values of the metrics in each of the pivot regions.
+                        "A String",
+                      ],
+                    },
+                  ],
+                },
+              ],
+              "dimensions": [ # List of requested dimensions.
+                "A String",
+              ],
+            },
+          ],
+          "maximums": [ # Minimum and maximum values seen over all matching rows. These are both
+              # empty when `hideValueRanges` in the request is false, or when
+              # rowCount is zero.
+            { # Used to return a list of metrics for a single DateRange / dimension
+                # combination
+              "values": [ # Each value corresponds to each Metric in the request.
+                "A String",
+              ],
+              "pivotValueRegions": [ # The values of each pivot region.
+                { # The metric values in the pivot region.
+                  "values": [ # The values of the metrics in each of the pivot regions.
+                    "A String",
+                  ],
+                },
+              ],
+            },
+          ],
+          "minimums": [ # Minimum and maximum values seen over all matching rows. These are both
+              # empty when `hideValueRanges` in the request is false, or when
+              # rowCount is zero.
+            { # Used to return a list of metrics for a single DateRange / dimension
+                # combination
+              "values": [ # Each value corresponds to each Metric in the request.
+                "A String",
+              ],
+              "pivotValueRegions": [ # The values of each pivot region.
+                { # The metric values in the pivot region.
+                  "values": [ # The values of the metrics in each of the pivot regions.
+                    "A String",
+                  ],
+                },
+              ],
+            },
+          ],
+          "isDataGolden": True or False, # Indicates if response to this request is golden or not. Data is
+              # golden when the exact same request will not produce any new results if
+              # asked at a later point in time.
+          "samplingSpaceSizes": [ # If sampling was enabled, this returns the total number of samples
+              # present, one entry per date range.
+            "A String",
+          ],
+          "totals": [ # For each requested date range, for the set of all rows that match
+              # the query, every requested value format gets a total. The total
+              # for a value format is computed by first totaling the metrics
+              # mentioned in the value format and then evaluating the value
+              # format as a scalar expression.  E.g., The "totals" for
+              # `3 / (ga:sessions + 2)` we compute
+              # `3 / ((sum of all relevant ga:sessions) + 2)`.
+              # Totals are computed before pagination.
+            { # Used to return a list of metrics for a single DateRange / dimension
+                # combination
+              "values": [ # Each value corresponds to each Metric in the request.
+                "A String",
+              ],
+              "pivotValueRegions": [ # The values of each pivot region.
+                { # The metric values in the pivot region.
+                  "values": [ # The values of the metrics in each of the pivot regions.
+                    "A String",
+                  ],
+                },
+              ],
+            },
+          ],
+          "rowCount": 42, # Total number of matching rows for this query.
+          "samplesReadCounts": [ # If sampling was enabled, this returns the total number of samples
+              # read, one entry per date range
+            "A String",
+          ],
+        },
+        "columnHeader": { # Column headers. # The column headers.
+          "dimensions": [ # The dimension names in the response.
+            "A String",
+          ],
+          "metricHeader": { # The headers for the metrics. # Metric headers for the metrics in the response.
+            "pivotHeaders": [ # Headers for the pivots in the response.
+              { # The headers for each of the pivot sections defined in the request.
+                "totalPivotGroupsCount": 42, # The total number of groups for this pivot.
+                "pivotHeaderEntries": [ # A single pivot section header.
+                  { # The headers for the each of the metric column corresponding to the metrics
+                      # requested in the pivots section of the response.
+                    "dimensionValues": [ # The values for the dimensions in the pivot.
+                      "A String",
+                    ],
+                    "dimensionNames": [ # The name of the dimensions in the pivotDimensionValues field in the
+                        # response.
+                      "A String",
+                    ],
+                    "metric": { # Header for the metrics. # The metric header for the metric in the pivot.
+                      "type": "A String", # The type of the metric, for example `INTEGER`.
+                      "name": "A String", # The name of the header.
+                    },
+                  },
+                ],
+              },
+            ],
+            "metricHeaderEntries": [ # Headers for the metrics in the response.
+              { # Header for the metrics.
+                "type": "A String", # The type of the metric, for example `INTEGER`.
+                "name": "A String", # The name of the header.
+              },
+            ],
+          },
+        },
+      },
+    ],
+  }
+
+ + \ No newline at end of file diff --git a/docs/dyn/androidenterprise_v1.collectionviewers.html b/docs/dyn/androidenterprise_v1.collectionviewers.html index b5bc9619df9..94439b1eedb 100644 --- a/docs/dyn/androidenterprise_v1.collectionviewers.html +++ b/docs/dyn/androidenterprise_v1.collectionviewers.html @@ -119,7 +119,7 @@

Method Details

# # The ID for a user is an opaque string. It can be retrieved using the list method queried by the user's primary email address. "kind": "androidenterprise#user", # Identifies what kind of resource this is. Value: the fixed string "androidenterprise#user". - "primaryEmail": "A String", # The user's primary email, e.g. "jsmith@example.com". Will always be set for Google managed users and not set for EMM managed users. + "primaryEmail": "A String", # The user's primary email, e.g. "jsmith@example.com". "id": "A String", # The unique ID for the user. } @@ -144,7 +144,7 @@

Method Details

# # The ID for a user is an opaque string. It can be retrieved using the list method queried by the user's primary email address. "kind": "androidenterprise#user", # Identifies what kind of resource this is. Value: the fixed string "androidenterprise#user". - "primaryEmail": "A String", # The user's primary email, e.g. "jsmith@example.com". Will always be set for Google managed users and not set for EMM managed users. + "primaryEmail": "A String", # The user's primary email, e.g. "jsmith@example.com". "id": "A String", # The unique ID for the user. }, ], @@ -168,7 +168,7 @@

Method Details

# # The ID for a user is an opaque string. It can be retrieved using the list method queried by the user's primary email address. "kind": "androidenterprise#user", # Identifies what kind of resource this is. Value: the fixed string "androidenterprise#user". - "primaryEmail": "A String", # The user's primary email, e.g. "jsmith@example.com". Will always be set for Google managed users and not set for EMM managed users. + "primaryEmail": "A String", # The user's primary email, e.g. "jsmith@example.com". "id": "A String", # The unique ID for the user. } @@ -182,7 +182,7 @@

Method Details

# # The ID for a user is an opaque string. It can be retrieved using the list method queried by the user's primary email address. "kind": "androidenterprise#user", # Identifies what kind of resource this is. Value: the fixed string "androidenterprise#user". - "primaryEmail": "A String", # The user's primary email, e.g. "jsmith@example.com". Will always be set for Google managed users and not set for EMM managed users. + "primaryEmail": "A String", # The user's primary email, e.g. "jsmith@example.com". "id": "A String", # The unique ID for the user. } @@ -204,7 +204,7 @@

Method Details

# # The ID for a user is an opaque string. It can be retrieved using the list method queried by the user's primary email address. "kind": "androidenterprise#user", # Identifies what kind of resource this is. Value: the fixed string "androidenterprise#user". - "primaryEmail": "A String", # The user's primary email, e.g. "jsmith@example.com". Will always be set for Google managed users and not set for EMM managed users. + "primaryEmail": "A String", # The user's primary email, e.g. "jsmith@example.com". "id": "A String", # The unique ID for the user. } @@ -218,7 +218,7 @@

Method Details

# # The ID for a user is an opaque string. It can be retrieved using the list method queried by the user's primary email address. "kind": "androidenterprise#user", # Identifies what kind of resource this is. Value: the fixed string "androidenterprise#user". - "primaryEmail": "A String", # The user's primary email, e.g. "jsmith@example.com". Will always be set for Google managed users and not set for EMM managed users. + "primaryEmail": "A String", # The user's primary email, e.g. "jsmith@example.com". "id": "A String", # The unique ID for the user. } diff --git a/docs/dyn/androidenterprise_v1.devices.html b/docs/dyn/androidenterprise_v1.devices.html index 5fc4fd554db..5c0d3123515 100644 --- a/docs/dyn/androidenterprise_v1.devices.html +++ b/docs/dyn/androidenterprise_v1.devices.html @@ -103,7 +103,7 @@

Method Details

# # This collection cannot be modified via the API; it is automatically populated as devices are set up to be managed. "kind": "androidenterprise#device", # Identifies what kind of resource this is. Value: the fixed string "androidenterprise#device". - "managementType": "A String", # The mechanism by which this device is managed by the EMM. "managedDevice" means that the EMM's app is a device owner. "managedProfile" means that the EMM's app is the profile owner (and there is a separate personal profile which is not managed). "containerApp" means that the EMM's app is managing the Android for Work container app on the device. + "managementType": "A String", # The mechanism by which this device is managed by the EMM. "managedDevice" means that the EMM's app is a device owner. "managedProfile" means that the EMM's app is the profile owner (and there is a separate personal profile which is not managed). "containerApp" means that the EMM's app is managing the Android for Work container app on the device. ?unmanagedProfile? means that the EMM?s app is managing a managed user on an unmanaged device "androidId": "A String", # The Google Play Services Android ID for the device encoded as a lowercase hex string, e.g. "123456789abcdef0". } @@ -143,7 +143,7 @@

Method Details

# # This collection cannot be modified via the API; it is automatically populated as devices are set up to be managed. "kind": "androidenterprise#device", # Identifies what kind of resource this is. Value: the fixed string "androidenterprise#device". - "managementType": "A String", # The mechanism by which this device is managed by the EMM. "managedDevice" means that the EMM's app is a device owner. "managedProfile" means that the EMM's app is the profile owner (and there is a separate personal profile which is not managed). "containerApp" means that the EMM's app is managing the Android for Work container app on the device. + "managementType": "A String", # The mechanism by which this device is managed by the EMM. "managedDevice" means that the EMM's app is a device owner. "managedProfile" means that the EMM's app is the profile owner (and there is a separate personal profile which is not managed). "containerApp" means that the EMM's app is managing the Android for Work container app on the device. ?unmanagedProfile? means that the EMM?s app is managing a managed user on an unmanaged device "androidId": "A String", # The Google Play Services Android ID for the device encoded as a lowercase hex string, e.g. "123456789abcdef0". }, ], diff --git a/docs/dyn/androidenterprise_v1.enterprises.html b/docs/dyn/androidenterprise_v1.enterprises.html index 8e7baa80ed2..70930bd5ece 100644 --- a/docs/dyn/androidenterprise_v1.enterprises.html +++ b/docs/dyn/androidenterprise_v1.enterprises.html @@ -123,7 +123,7 @@

Method Details

body: object, The request body. (required) The object takes the form of: -{ # An enterprise resource represents a binding between an organisation and their EMM. +{ # An enterprise resource represents a binding between an organization and their EMM. # # To create an enterprise, an admin of the enterprise must first go through a Play for Work sign-up flow. At the end of this the admin will be presented with a token (a short opaque alphanumeric string). They must then present this to the EMM, who then supplies it to the enroll method. Until this is done the EMM will not have any access to the enterprise. # @@ -142,7 +142,7 @@

Method Details

Returns: An object of the form: - { # An enterprise resource represents a binding between an organisation and their EMM. + { # An enterprise resource represents a binding between an organization and their EMM. # # To create an enterprise, an admin of the enterprise must first go through a Play for Work sign-up flow. At the end of this the admin will be presented with a token (a short opaque alphanumeric string). They must then present this to the EMM, who then supplies it to the enroll method. Until this is done the EMM will not have any access to the enterprise. # @@ -168,7 +168,7 @@

Method Details

Returns: An object of the form: - { # An enterprise resource represents a binding between an organisation and their EMM. + { # An enterprise resource represents a binding between an organization and their EMM. # # To create an enterprise, an admin of the enterprise must first go through a Play for Work sign-up flow. At the end of this the admin will be presented with a token (a short opaque alphanumeric string). They must then present this to the EMM, who then supplies it to the enroll method. Until this is done the EMM will not have any access to the enterprise. # @@ -213,7 +213,7 @@

Method Details

body: object, The request body. (required) The object takes the form of: -{ # An enterprise resource represents a binding between an organisation and their EMM. +{ # An enterprise resource represents a binding between an organization and their EMM. # # To create an enterprise, an admin of the enterprise must first go through a Play for Work sign-up flow. At the end of this the admin will be presented with a token (a short opaque alphanumeric string). They must then present this to the EMM, who then supplies it to the enroll method. Until this is done the EMM will not have any access to the enterprise. # @@ -232,7 +232,7 @@

Method Details

Returns: An object of the form: - { # An enterprise resource represents a binding between an organisation and their EMM. + { # An enterprise resource represents a binding between an organization and their EMM. # # To create an enterprise, an admin of the enterprise must first go through a Play for Work sign-up flow. At the end of this the admin will be presented with a token (a short opaque alphanumeric string). They must then present this to the EMM, who then supplies it to the enroll method. Until this is done the EMM will not have any access to the enterprise. # @@ -261,7 +261,7 @@

Method Details

{ # The matching enterprise resources. "kind": "androidenterprise#enterprisesListResponse", # Identifies what kind of resource this is. Value: the fixed string "androidenterprise#enterprisesListResponse". "enterprise": [ # An enterprise. - { # An enterprise resource represents a binding between an organisation and their EMM. + { # An enterprise resource represents a binding between an organization and their EMM. # # To create an enterprise, an admin of the enterprise must first go through a Play for Work sign-up flow. At the end of this the admin will be presented with a token (a short opaque alphanumeric string). They must then present this to the EMM, who then supplies it to the enroll method. Until this is done the EMM will not have any access to the enterprise. # diff --git a/docs/dyn/androidenterprise_v1.entitlements.html b/docs/dyn/androidenterprise_v1.entitlements.html index 3db74dcd62d..47fe56ba29a 100644 --- a/docs/dyn/androidenterprise_v1.entitlements.html +++ b/docs/dyn/androidenterprise_v1.entitlements.html @@ -97,7 +97,7 @@

Method Details

Args: enterpriseId: string, The ID of the enterprise. (required) userId: string, The ID of the user. (required) - entitlementId: string, The ID of the entitlement, e.g. "app:com.google.android.gm". (required) + entitlementId: string, The ID of the entitlement (a product ID), e.g. "app:com.google.android.gm". (required) @@ -108,7 +108,7 @@

Method Details

Args: enterpriseId: string, The ID of the enterprise. (required) userId: string, The ID of the user. (required) - entitlementId: string, The ID of the entitlement, e.g. "app:com.google.android.gm". (required) + entitlementId: string, The ID of the entitlement (a product ID), e.g. "app:com.google.android.gm". (required) Returns: An object of the form: @@ -166,7 +166,7 @@

Method Details

Args: enterpriseId: string, The ID of the enterprise. (required) userId: string, The ID of the user. (required) - entitlementId: string, The ID of the entitlement, e.g. "app:com.google.android.gm". (required) + entitlementId: string, The ID of the entitlement (a product ID), e.g. "app:com.google.android.gm". (required) body: object, The request body. (required) The object takes the form of: @@ -211,7 +211,7 @@

Method Details

Args: enterpriseId: string, The ID of the enterprise. (required) userId: string, The ID of the user. (required) - entitlementId: string, The ID of the entitlement, e.g. "app:com.google.android.gm". (required) + entitlementId: string, The ID of the entitlement (a product ID), e.g. "app:com.google.android.gm". (required) body: object, The request body. (required) The object takes the form of: diff --git a/docs/dyn/androidenterprise_v1.grouplicenseusers.html b/docs/dyn/androidenterprise_v1.grouplicenseusers.html index d803c9f97cb..7f19d6c4a13 100644 --- a/docs/dyn/androidenterprise_v1.grouplicenseusers.html +++ b/docs/dyn/androidenterprise_v1.grouplicenseusers.html @@ -98,7 +98,7 @@

Method Details

# # The ID for a user is an opaque string. It can be retrieved using the list method queried by the user's primary email address. "kind": "androidenterprise#user", # Identifies what kind of resource this is. Value: the fixed string "androidenterprise#user". - "primaryEmail": "A String", # The user's primary email, e.g. "jsmith@example.com". Will always be set for Google managed users and not set for EMM managed users. + "primaryEmail": "A String", # The user's primary email, e.g. "jsmith@example.com". "id": "A String", # The unique ID for the user. }, ], diff --git a/docs/dyn/androidenterprise_v1.products.html b/docs/dyn/androidenterprise_v1.products.html index 6b50b19c65e..a7ac162d6c9 100644 --- a/docs/dyn/androidenterprise_v1.products.html +++ b/docs/dyn/androidenterprise_v1.products.html @@ -76,7 +76,7 @@

Google Play EMM API . approve(enterpriseId, productId, body)

-

Approves the specified product (and the relevant app permissions, if any).

+

Approves the specified product and the relevant app permissions, if any. The maximum number of products that you can approve per enterprise customer is 1,000.

generateApprovalUrl(enterpriseId, productId, languageCode=None)

Generates a URL that can be rendered in an iframe to display the permissions (if any) of a product. An enterprise admin must view these permissions and accept them on behalf of their organization in order to approve that product.

@@ -89,13 +89,18 @@

Instance Methods

getPermissions(enterpriseId, productId)

Retrieves the Android app permissions required by this app.

+

+ list(enterpriseId, language=None, maxResults=None, token=None, query=None, approved=None)

+

Finds approved products that match a query.

updatePermissions(enterpriseId, productId, body)

This method has been deprecated. To programmatically approve applications, you must use the iframe mechanism via the generateApprovalUrl and approve methods of the Products resource. For more information, see the Play EMM API usage requirements.

Method Details

approve(enterpriseId, productId, body) -
Approves the specified product (and the relevant app permissions, if any).
+  
Approves the specified product and the relevant app permissions, if any. The maximum number of products that you can approve per enterprise customer is 1,000.
+
+To learn how to use Google Play for Work to design and create a store layout to display approved products to your users, see Store Layout Design.
 
 Args:
   enterpriseId: string, The ID of the enterprise. (required)
@@ -147,6 +152,7 @@ 

Method Details

{ # A product represents an app in the Google Play Store that is available to at least some users in the enterprise. (Some apps are restricted to a single enterprise, and no information about them is made available outside that enterprise.) # # The information provided for each product (localized name, icon, link to the full Google Play details page) is intended to allow a basic representation of the product within an EMM user interface. + "smallIconUrl": "A String", # A link to a smaller image that can be used as an icon for the product. This image is suitable for use at up to 128px x 128px. "kind": "androidenterprise#product", # Identifies what kind of resource this is. Value: the fixed string "androidenterprise#product". "distributionChannel": "A String", # How and to whom the package is made available. The value publicGoogleHosted means that the package is available through the Play Store and not restricted to a specific enterprise. The value privateGoogleHosted means that the package is a private app (restricted to an enterprise) but hosted by Google. The value privateSelfHosted means that the package is a private app (restricted to an enterprise) and is privately hosted. "title": "A String", # The name of the product. @@ -158,7 +164,7 @@

Method Details

}, ], "productPricing": "A String", # Whether this product is free, free with in-app purchases, or paid. - "iconUrl": "A String", # A link to an image that can be used as an icon for the product. + "iconUrl": "A String", # A link to an image that can be used as an icon for the product. This image is suitable for use at up to 512px x 512px. "authorName": "A String", # The name of the author of the product (e.g. the app developer). "requiresContainerApp": True or False, # Whether this app can only be installed on devices using the Android for Work container app. "detailsUrl": "A String", # A link to the (consumer) Google Play details page for the product. @@ -231,6 +237,58 @@

Method Details

}
+
+ list(enterpriseId, language=None, maxResults=None, token=None, query=None, approved=None) +
Finds approved products that match a query.
+
+Args:
+  enterpriseId: string, The ID of the enterprise. (required)
+  language: string, The BCP47 tag for the user's preferred language (e.g. "en-US", "de"). Results are returned in the language best matching the preferred language.
+  maxResults: integer, Specifies the maximum number of products that can be returned per request. If not specified, uses a default value of 100, which is also the maximum retrievable within a single response.
+  token: string, A pagination token is contained in a requestÂ’s response when there are more products. The token can be used in a subsequent request to obtain more products, and so forth. This parameter cannot be used in the initial request.
+  query: string, The search query as typed in the Google Play Store search box. If omitted, all approved apps will be returned (using the pagination parameters).
+  approved: boolean, Specifies whether to search among all products (false) or among only products that have been approved (true). Only "true" is supported, and should be specified.
+
+Returns:
+  An object of the form:
+
+    { # The matching products.
+    "product": [ # Information about a product (e.g. an app) in the Google Play Store, for display to an enterprise admin.
+      { # A product represents an app in the Google Play Store that is available to at least some users in the enterprise. (Some apps are restricted to a single enterprise, and no information about them is made available outside that enterprise.)
+          #
+          # The information provided for each product (localized name, icon, link to the full Google Play details page) is intended to allow a basic representation of the product within an EMM user interface.
+        "smallIconUrl": "A String", # A link to a smaller image that can be used as an icon for the product. This image is suitable for use at up to 128px x 128px.
+        "kind": "androidenterprise#product", # Identifies what kind of resource this is. Value: the fixed string "androidenterprise#product".
+        "distributionChannel": "A String", # How and to whom the package is made available. The value publicGoogleHosted means that the package is available through the Play Store and not restricted to a specific enterprise. The value privateGoogleHosted means that the package is a private app (restricted to an enterprise) but hosted by Google. The value privateSelfHosted means that the package is a private app (restricted to an enterprise) and is privately hosted.
+        "title": "A String", # The name of the product.
+        "workDetailsUrl": "A String", # A link to the Google Play for Work details page for the product, for use by an Enterprise administrator.
+        "appVersion": [ # App versions currently available for this product. The returned list contains only public versions. Alpha and beta versions are not included.
+          { # This represents a single version of the app.
+            "versionCode": 42, # Unique increasing identifier for the app version.
+            "versionString": "A String", # The string used in the Play Store by the app developer to identify the version. The string is not necessarily unique or localized (for example, the string could be "1.4").
+          },
+        ],
+        "productPricing": "A String", # Whether this product is free, free with in-app purchases, or paid.
+        "iconUrl": "A String", # A link to an image that can be used as an icon for the product. This image is suitable for use at up to 512px x 512px.
+        "authorName": "A String", # The name of the author of the product (e.g. the app developer).
+        "requiresContainerApp": True or False, # Whether this app can only be installed on devices using the Android for Work container app.
+        "detailsUrl": "A String", # A link to the (consumer) Google Play details page for the product.
+        "productId": "A String", # A string of the form app:. For example, app:com.google.android.gm represents the Gmail app.
+      },
+    ],
+    "kind": "androidenterprise#productsListResponse", # Identifies what kind of resource this is. Value: the fixed string "androidenterprise#productsListResponse".
+    "tokenPagination": { # Pagination information for token pagination.
+      "nextPageToken": "A String",
+      "previousPageToken": "A String",
+    },
+    "pageInfo": { # General pagination information.
+      "totalResults": 42,
+      "startIndex": 42,
+      "resultPerPage": 42,
+    },
+  }
+
+
updatePermissions(enterpriseId, productId, body)
This method has been deprecated. To programmatically approve applications, you must use the iframe mechanism via the  generateApprovalUrl and  approve methods of the Products resource. For more information, see the  Play EMM API usage requirements.
diff --git a/docs/dyn/androidenterprise_v1.storelayoutclusters.html b/docs/dyn/androidenterprise_v1.storelayoutclusters.html
index b175361a85f..85b4a9a09f6 100644
--- a/docs/dyn/androidenterprise_v1.storelayoutclusters.html
+++ b/docs/dyn/androidenterprise_v1.storelayoutclusters.html
@@ -120,7 +120,7 @@ 

Method Details

"kind": "androidenterprise#storeCluster", # Identifies what kind of resource this is. Value: the fixed string "androidenterprise#storeCluster". "orderInPage": "A String", # String (US-ASCII only) used to determine order of this cluster within the parent page's elements. Page elements are sorted in lexicographic order of this field. Duplicated values are allowed, but ordering between elements with duplicate order is undefined. # - # The value of this field is never visible to a user, it is used solely for the purpose of defining an ordering. Maximum length is 20 characters. + # The value of this field is never visible to a user, it is used solely for the purpose of defining an ordering. Maximum length is 256 characters. "productId": [ # List of products in the order they are displayed in the cluster. There should not be duplicates within a cluster. "A String", ], @@ -148,7 +148,7 @@

Method Details

"kind": "androidenterprise#storeCluster", # Identifies what kind of resource this is. Value: the fixed string "androidenterprise#storeCluster". "orderInPage": "A String", # String (US-ASCII only) used to determine order of this cluster within the parent page's elements. Page elements are sorted in lexicographic order of this field. Duplicated values are allowed, but ordering between elements with duplicate order is undefined. # - # The value of this field is never visible to a user, it is used solely for the purpose of defining an ordering. Maximum length is 20 characters. + # The value of this field is never visible to a user, it is used solely for the purpose of defining an ordering. Maximum length is 256 characters. "productId": [ # List of products in the order they are displayed in the cluster. There should not be duplicates within a cluster. "A String", ], @@ -169,7 +169,7 @@

Method Details

"kind": "androidenterprise#storeCluster", # Identifies what kind of resource this is. Value: the fixed string "androidenterprise#storeCluster". "orderInPage": "A String", # String (US-ASCII only) used to determine order of this cluster within the parent page's elements. Page elements are sorted in lexicographic order of this field. Duplicated values are allowed, but ordering between elements with duplicate order is undefined. # - # The value of this field is never visible to a user, it is used solely for the purpose of defining an ordering. Maximum length is 20 characters. + # The value of this field is never visible to a user, it is used solely for the purpose of defining an ordering. Maximum length is 256 characters. "productId": [ # List of products in the order they are displayed in the cluster. There should not be duplicates within a cluster. "A String", ], @@ -200,7 +200,7 @@

Method Details

"kind": "androidenterprise#storeCluster", # Identifies what kind of resource this is. Value: the fixed string "androidenterprise#storeCluster". "orderInPage": "A String", # String (US-ASCII only) used to determine order of this cluster within the parent page's elements. Page elements are sorted in lexicographic order of this field. Duplicated values are allowed, but ordering between elements with duplicate order is undefined. # - # The value of this field is never visible to a user, it is used solely for the purpose of defining an ordering. Maximum length is 20 characters. + # The value of this field is never visible to a user, it is used solely for the purpose of defining an ordering. Maximum length is 256 characters. "productId": [ # List of products in the order they are displayed in the cluster. There should not be duplicates within a cluster. "A String", ], @@ -232,7 +232,7 @@

Method Details

"kind": "androidenterprise#storeCluster", # Identifies what kind of resource this is. Value: the fixed string "androidenterprise#storeCluster". "orderInPage": "A String", # String (US-ASCII only) used to determine order of this cluster within the parent page's elements. Page elements are sorted in lexicographic order of this field. Duplicated values are allowed, but ordering between elements with duplicate order is undefined. # - # The value of this field is never visible to a user, it is used solely for the purpose of defining an ordering. Maximum length is 20 characters. + # The value of this field is never visible to a user, it is used solely for the purpose of defining an ordering. Maximum length is 256 characters. "productId": [ # List of products in the order they are displayed in the cluster. There should not be duplicates within a cluster. "A String", ], @@ -253,7 +253,7 @@

Method Details

"kind": "androidenterprise#storeCluster", # Identifies what kind of resource this is. Value: the fixed string "androidenterprise#storeCluster". "orderInPage": "A String", # String (US-ASCII only) used to determine order of this cluster within the parent page's elements. Page elements are sorted in lexicographic order of this field. Duplicated values are allowed, but ordering between elements with duplicate order is undefined. # - # The value of this field is never visible to a user, it is used solely for the purpose of defining an ordering. Maximum length is 20 characters. + # The value of this field is never visible to a user, it is used solely for the purpose of defining an ordering. Maximum length is 256 characters. "productId": [ # List of products in the order they are displayed in the cluster. There should not be duplicates within a cluster. "A String", ], @@ -282,7 +282,7 @@

Method Details

"kind": "androidenterprise#storeCluster", # Identifies what kind of resource this is. Value: the fixed string "androidenterprise#storeCluster". "orderInPage": "A String", # String (US-ASCII only) used to determine order of this cluster within the parent page's elements. Page elements are sorted in lexicographic order of this field. Duplicated values are allowed, but ordering between elements with duplicate order is undefined. # - # The value of this field is never visible to a user, it is used solely for the purpose of defining an ordering. Maximum length is 20 characters. + # The value of this field is never visible to a user, it is used solely for the purpose of defining an ordering. Maximum length is 256 characters. "productId": [ # List of products in the order they are displayed in the cluster. There should not be duplicates within a cluster. "A String", ], @@ -303,7 +303,7 @@

Method Details

"kind": "androidenterprise#storeCluster", # Identifies what kind of resource this is. Value: the fixed string "androidenterprise#storeCluster". "orderInPage": "A String", # String (US-ASCII only) used to determine order of this cluster within the parent page's elements. Page elements are sorted in lexicographic order of this field. Duplicated values are allowed, but ordering between elements with duplicate order is undefined. # - # The value of this field is never visible to a user, it is used solely for the purpose of defining an ordering. Maximum length is 20 characters. + # The value of this field is never visible to a user, it is used solely for the purpose of defining an ordering. Maximum length is 256 characters. "productId": [ # List of products in the order they are displayed in the cluster. There should not be duplicates within a cluster. "A String", ], diff --git a/docs/dyn/androidenterprise_v1.users.html b/docs/dyn/androidenterprise_v1.users.html index ed911d59cc2..45fafdaddd5 100644 --- a/docs/dyn/androidenterprise_v1.users.html +++ b/docs/dyn/androidenterprise_v1.users.html @@ -130,7 +130,7 @@

Method Details

# # The ID for a user is an opaque string. It can be retrieved using the list method queried by the user's primary email address. "kind": "androidenterprise#user", # Identifies what kind of resource this is. Value: the fixed string "androidenterprise#user". - "primaryEmail": "A String", # The user's primary email, e.g. "jsmith@example.com". Will always be set for Google managed users and not set for EMM managed users. + "primaryEmail": "A String", # The user's primary email, e.g. "jsmith@example.com". "id": "A String", # The unique ID for the user. }
@@ -174,7 +174,7 @@

Method Details

# # The ID for a user is an opaque string. It can be retrieved using the list method queried by the user's primary email address. "kind": "androidenterprise#user", # Identifies what kind of resource this is. Value: the fixed string "androidenterprise#user". - "primaryEmail": "A String", # The user's primary email, e.g. "jsmith@example.com". Will always be set for Google managed users and not set for EMM managed users. + "primaryEmail": "A String", # The user's primary email, e.g. "jsmith@example.com". "id": "A String", # The unique ID for the user. }, ], diff --git a/docs/dyn/androidpublisher_v2.html b/docs/dyn/androidpublisher_v2.html index 6b8a16569ae..85fad870082 100644 --- a/docs/dyn/androidpublisher_v2.html +++ b/docs/dyn/androidpublisher_v2.html @@ -94,6 +94,11 @@

Instance Methods

Returns the purchases Resource.

+

+ reviews() +

+

Returns the reviews Resource.

+

new_batch_http_request()

Create a BatchHttpRequest object based on the discovery document.

diff --git a/docs/dyn/androidpublisher_v2.purchases.subscriptions.html b/docs/dyn/androidpublisher_v2.purchases.subscriptions.html index f77d1ce9a9a..e4610c598d6 100644 --- a/docs/dyn/androidpublisher_v2.purchases.subscriptions.html +++ b/docs/dyn/androidpublisher_v2.purchases.subscriptions.html @@ -141,10 +141,20 @@

Method Details

An object of the form: { # A SubscriptionPurchase resource indicates the status of a user's subscription purchase. - "expiryTimeMillis": "A String", # Time at which the subscription will expire, in milliseconds since Epoch. "kind": "androidpublisher#subscriptionPurchase", # This kind represents a subscriptionPurchase object in the androidpublisher service. + "countryCode": "A String", # ISO 3166-1 alpha-2 billing country/region code of the user at the time the subscription was granted. + "developerPayload": "A String", # A developer-specified string that contains supplemental information about an order. "autoRenewing": True or False, # Whether the subscription will automatically be renewed when it reaches its current expiry time. + "paymentState": 42, # The payment state of the subscription. Possible values are: + # - Payment pending + # - Payment received + "priceCurrencyCode": "A String", # ISO 4217 currency code for the subscription price. For example, if the price is specified in British pounds sterling, price_currency_code is "GBP". + "expiryTimeMillis": "A String", # Time at which the subscription will expire, in milliseconds since Epoch. + "cancelReason": 42, # The cancel reason of the subscription, if the subscription is not auto renewing. Possible values are: + # - User cancelled the subscription + # - Subscription was cancelled by the system, for example because of a billing problem "startTimeMillis": "A String", # Time at which the subscription was granted, in milliseconds since Epoch. + "priceAmountMicros": "A String", # Price of the subscription, not including tax. Price is expressed in micro-units, where 1,000,000 micro-units equal one unit of the currency. For example, if the subscription price is €1.99, price_amount_micros is 1990000. } diff --git a/docs/dyn/androidpublisher_v2.reviews.html b/docs/dyn/androidpublisher_v2.reviews.html new file mode 100644 index 00000000000..0e8d71b2af4 --- /dev/null +++ b/docs/dyn/androidpublisher_v2.reviews.html @@ -0,0 +1,213 @@ + + + +

Google Play Developer API . reviews

+

Instance Methods

+

+ get(packageName, reviewId)

+

Returns a single review.

+

+ list(packageName, token=None, maxResults=None, startIndex=None)

+

Returns a list of reviews.

+

+ reply(packageName, reviewId, body)

+

Reply to a single review, or update an existing reply.

+

Method Details

+
+ get(packageName, reviewId) +
Returns a single review.
+
+Args:
+  packageName: string, Unique identifier for the Android app for which we want reviews; for example, "com.spiffygame". (required)
+  reviewId: string, A parameter (required)
+
+Returns:
+  An object of the form:
+
+    {
+    "authorName": "A String", # The name of the user who wrote the review.
+    "reviewId": "A String", # Unique identifier for this review.
+    "comments": [ # A repeated field containing comments for the review.
+      {
+        "developerComment": { # A comment from a developer.
+          "lastModified": { # The last time at which this comment was updated.
+            "nanos": 42,
+            "seconds": "A String",
+          },
+          "text": "A String", # The content of the comment, i.e. reply body.
+        },
+        "userComment": { # A comment from a user.
+          "appVersionCode": 42, # Integer version code of the app as installed at the time the review was written. May be absent.
+          "reviewerLanguage": "A String", # Language code for the reviewer. This is taken from the device settings so is not guaranteed to match the language the review is written in. May be absent.
+          "lastModified": { # The last time at which this comment was updated.
+            "nanos": 42,
+            "seconds": "A String",
+          },
+          "starRating": 42, # The star rating associated with the review, from 1 to 5.
+          "text": "A String", # The content of the comment, i.e. review body. In some cases users have been able to write a review with separate title and body; in those cases the title and body are concatenated and separated by a tab character.
+          "device": "A String", # Codename for the reviewer's device, e.g. klte, flounder. May be absent.
+          "androidOsVersion": 42, # Integer Android SDK version of the user's device at the time the review was written, e.g. 23 is Marshmallow. May be absent.
+          "appVersionName": "A String", # String version name of the app as installed at the time the review was written. May be absent.
+        },
+      },
+    ],
+  }
+
+ +
+ list(packageName, token=None, maxResults=None, startIndex=None) +
Returns a list of reviews.
+
+Args:
+  packageName: string, Unique identifier for the Android app for which we want reviews; for example, "com.spiffygame". (required)
+  token: string, A parameter
+  maxResults: integer, A parameter
+  startIndex: integer, A parameter
+
+Returns:
+  An object of the form:
+
+    {
+    "reviews": [
+      {
+        "authorName": "A String", # The name of the user who wrote the review.
+        "reviewId": "A String", # Unique identifier for this review.
+        "comments": [ # A repeated field containing comments for the review.
+          {
+            "developerComment": { # A comment from a developer.
+              "lastModified": { # The last time at which this comment was updated.
+                "nanos": 42,
+                "seconds": "A String",
+              },
+              "text": "A String", # The content of the comment, i.e. reply body.
+            },
+            "userComment": { # A comment from a user.
+              "appVersionCode": 42, # Integer version code of the app as installed at the time the review was written. May be absent.
+              "reviewerLanguage": "A String", # Language code for the reviewer. This is taken from the device settings so is not guaranteed to match the language the review is written in. May be absent.
+              "lastModified": { # The last time at which this comment was updated.
+                "nanos": 42,
+                "seconds": "A String",
+              },
+              "starRating": 42, # The star rating associated with the review, from 1 to 5.
+              "text": "A String", # The content of the comment, i.e. review body. In some cases users have been able to write a review with separate title and body; in those cases the title and body are concatenated and separated by a tab character.
+              "device": "A String", # Codename for the reviewer's device, e.g. klte, flounder. May be absent.
+              "androidOsVersion": 42, # Integer Android SDK version of the user's device at the time the review was written, e.g. 23 is Marshmallow. May be absent.
+              "appVersionName": "A String", # String version name of the app as installed at the time the review was written. May be absent.
+            },
+          },
+        ],
+      },
+    ],
+    "tokenPagination": {
+      "nextPageToken": "A String",
+      "previousPageToken": "A String",
+    },
+    "pageInfo": {
+      "totalResults": 42,
+      "startIndex": 42,
+      "resultPerPage": 42,
+    },
+  }
+
+ +
+ reply(packageName, reviewId, body) +
Reply to a single review, or update an existing reply.
+
+Args:
+  packageName: string, Unique identifier for the Android app for which we want reviews; for example, "com.spiffygame". (required)
+  reviewId: string, A parameter (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "replyText": "A String", # The text to set as the reply. Replies of more than approximately 350 characters will be rejected. HTML tags will be stripped.
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+    "result": {
+      "replyText": "A String", # The reply text that was applied.
+      "lastEdited": { # The time at which the reply took effect.
+        "nanos": 42,
+        "seconds": "A String",
+      },
+    },
+  }
+
+ + \ No newline at end of file diff --git a/docs/dyn/appengine_v1beta5.apps.html b/docs/dyn/appengine_v1beta5.apps.html index 61839b7a632..4445bfee8e9 100644 --- a/docs/dyn/appengine_v1beta5.apps.html +++ b/docs/dyn/appengine_v1beta5.apps.html @@ -101,18 +101,21 @@

Method Details

An object of the form: { # An Application contains the top-level configuration of an App Engine application. + "defaultHostname": "A String", # The hostname used to reach the application, as resolved by App Engine. @OutputOnly "name": "A String", # The full path to the application in the API. Example: "apps/myapp". @OutputOnly "codeBucket": "A String", # A Google Cloud Storage bucket which can be used for storing files associated with an application. This bucket is associated with the application and can be used by the gcloud deployment commands. @OutputOnly "defaultBucket": "A String", # A Google Cloud Storage bucket which can be used by the application to store content. @OutputOnly - "dispatchRules": [ # HTTP path dispatch rules for requests to the app that do not explicitly target a service or version. The rules are order-dependent. + "dispatchRules": [ # HTTP path dispatch rules for requests to the app that do not explicitly target a service or version. The rules are order-dependent. @OutputOnly { # Rules to match an HTTP request and dispatch that request to a service. "path": "A String", # The pathname within the host. This must start with a '/'. A single '*' (glob) can be included at the end of the path. The sum of the lengths of the domain and path may not exceed 100 characters. "domain": "A String", # The domain name to match on. Supports '*' (glob) wildcarding on the left-hand side of a '.'. If empty, all domains will be matched (the same as '*'). "service": "A String", # The resource id of a Service in this application that should service the matched request. The Service must already exist. Example: "default". }, ], - "location": "A String", # The location from which the application will be run. Choices are "us" for United States and "eu" for European Union. Application instances will run out of data centers in the chosen location and all of the application's End User Content will be stored at rest in the chosen location. The default is "us". - "id": "A String", # The relative name/path of the application. Example: "myapp". @OutputOnly + "defaultCookieExpiration": "A String", # Determines the cookie expiration policy for the application. @OutputOnly + "location": "A String", # The location from which the application will be run. Application instances will run out of data centers in the chosen location and all of the application's End User Content will be stored at rest. The default is "us-central". Choices are: "us-central" - Central US "europe-west" - Western Europe "us-east1" - Eastern US + "authDomain": "A String", # If set, only users from the specified Google Apps authentication domain may access the application. If not set, any Google Account may access the application. + "id": "A String", # The relative name/path of the application. Example: "myapp". } diff --git a/docs/dyn/appengine_v1beta5.apps.operations.html b/docs/dyn/appengine_v1beta5.apps.operations.html index d03b6dee38e..5dca89f1f7d 100644 --- a/docs/dyn/appengine_v1beta5.apps.operations.html +++ b/docs/dyn/appengine_v1beta5.apps.operations.html @@ -110,7 +110,7 @@

Method Details

], }, "done": True or False, # If the value is `false`, it means the operation is still in progress. If true, the operation is completed, and either `error` or `response` is available. - "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping above, the `name` should have the format of `operations/some/unique/name`. + "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should have the format of `operations/some/unique/name`. "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. "a_key": "", # Properties of the object. Contains field @ype with type URL. }, @@ -147,7 +147,7 @@

Method Details

], }, "done": True or False, # If the value is `false`, it means the operation is still in progress. If true, the operation is completed, and either `error` or `response` is available. - "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping above, the `name` should have the format of `operations/some/unique/name`. + "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should have the format of `operations/some/unique/name`. "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. "a_key": "", # Properties of the object. Contains field @ype with type URL. }, diff --git a/docs/dyn/appengine_v1beta5.apps.services.html b/docs/dyn/appengine_v1beta5.apps.services.html index 705e8b7fc72..2aa5b2c69a5 100644 --- a/docs/dyn/appengine_v1beta5.apps.services.html +++ b/docs/dyn/appengine_v1beta5.apps.services.html @@ -121,7 +121,7 @@

Method Details

], }, "done": True or False, # If the value is `false`, it means the operation is still in progress. If true, the operation is completed, and either `error` or `response` is available. - "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping above, the `name` should have the format of `operations/some/unique/name`. + "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should have the format of `operations/some/unique/name`. "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. "a_key": "", # Properties of the object. Contains field @ype with type URL. }, @@ -238,7 +238,7 @@

Method Details

], }, "done": True or False, # If the value is `false`, it means the operation is still in progress. If true, the operation is completed, and either `error` or `response` is available. - "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping above, the `name` should have the format of `operations/some/unique/name`. + "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should have the format of `operations/some/unique/name`. "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. "a_key": "", # Properties of the object. Contains field @ype with type URL. }, diff --git a/docs/dyn/appengine_v1beta5.apps.services.versions.html b/docs/dyn/appengine_v1beta5.apps.services.versions.html index 9585a72a4eb..5011f628c7a 100644 --- a/docs/dyn/appengine_v1beta5.apps.services.versions.html +++ b/docs/dyn/appengine_v1beta5.apps.services.versions.html @@ -74,6 +74,11 @@

Google App Engine Admin API . apps . services . versions

Instance Methods

+

+ instances() +

+

Returns the instances Resource.

+

create(appsId, servicesId, body, x__xgafv=None)

Deploys new code and resource files to a version.

@@ -89,6 +94,9 @@

Instance Methods

list_next(previous_request, previous_response)

Retrieves the next page of results.

+

+ patch(appsId, servicesId, versionsId, body, mask=None, x__xgafv=None)

+

Updates an existing version. Note: UNIMPLEMENTED.

Method Details

create(appsId, servicesId, body, x__xgafv=None) @@ -266,7 +274,7 @@

Method Details

], }, "done": True or False, # If the value is `false`, it means the operation is still in progress. If true, the operation is completed, and either `error` or `response` is available. - "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping above, the `name` should have the format of `operations/some/unique/name`. + "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should have the format of `operations/some/unique/name`. "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. "a_key": "", # Properties of the object. Contains field @ype with type URL. }, @@ -300,7 +308,7 @@

Method Details

], }, "done": True or False, # If the value is `false`, it means the operation is still in progress. If true, the operation is completed, and either `error` or `response` is available. - "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping above, the `name` should have the format of `operations/some/unique/name`. + "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should have the format of `operations/some/unique/name`. "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. "a_key": "", # Properties of the object. Contains field @ype with type URL. }, @@ -651,4 +659,189 @@

Method Details

+
+ patch(appsId, servicesId, versionsId, body, mask=None, x__xgafv=None) +
Updates an existing version. Note: UNIMPLEMENTED.
+
+Args:
+  appsId: string, Part of `name`. Name of the resource to update. For example: "apps/myapp/services/default/versions/1". (required)
+  servicesId: string, Part of `name`. See documentation of `appsId`. (required)
+  versionsId: string, Part of `name`. See documentation of `appsId`. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A Version is a specific set of source code and configuration files deployed to a service.
+    "basicScaling": { # A service with basic scaling will create an instance when the application receives a request. The instance will be turned down when the app becomes idle. Basic scaling is ideal for work that is intermittent or driven by user activity. # A service with basic scaling will create an instance when the application receives a request. The instance will be turned down when the app becomes idle. Basic scaling is ideal for work that is intermittent or driven by user activity.
+      "idleTimeout": "A String", # The instance will be shut down this amount of time after receiving its last request.
+      "maxInstances": 42, # The maximum number of instances for App Engine to create for this version.
+    },
+    "betaSettings": { # Beta settings supplied to the application via metadata.
+      "a_key": "A String",
+    },
+    "vm": True or False, # Whether to deploy this app in a VM container.
+    "instanceClass": "A String", # The instance class to use to run this app. Valid values for AutomaticScaling are `[F1, F2, F4, F4_1G]`. Valid values for ManualScaling and BasicScaling are `[B1, B2, B4, B8, B4_1G]`. Default: "F1" for AutomaticScaling, "B1" for ManualScaling and BasicScaling
+    "errorHandlers": [ # Custom static error pages instead of these generic error pages, (limit 10 KB/page) Only returned in `GET` requests if `view=FULL` is set. May only be set on create requests; once created, is immutable.
+      { # A custom static error page to be served when an error occurs.
+        "errorCode": "A String", # The error condition this handler applies to.
+        "mimeType": "A String", # MIME type of file. If unspecified, "text/html" is assumed.
+        "staticFile": "A String", # Static file content to be served for this error.
+      },
+    ],
+    "id": "A String", # The relative name/path of the Version within the service. Example: "v1". Version specifiers can contain lowercase letters, digits, and hyphens. It cannot begin with the prefix `ah-` and the names `default` and `latest` are reserved and cannot be used.
+    "apiConfig": { # API Serving configuration for Cloud Endpoints. # Serving configuration for Google Cloud Endpoints. Only returned in `GET` requests if `view=FULL` is set. May only be set on create requests; once created, is immutable.
+      "url": "A String", # URL to serve the endpoint at.
+      "securityLevel": "A String", # Configures whether security (HTTPS) should be enforced for this URL.
+      "authFailAction": "A String", # For users not logged in, how to handle access to resources with required login. Defaults to "redirect".
+      "login": "A String", # What level of login is required to access this resource. Default is "optional".
+      "script": "A String", # Specifies the path to the script from the application root directory.
+    },
+    "threadsafe": True or False, # If true, multiple requests can be dispatched to the app at once.
+    "healthCheck": { # Configure health checking for the VM instances. Unhealthy VM instances will be killed and replaced with new instances. # Configure health checking for the VM instances. Unhealthy VM instances will be stopped and replaced with new instances. Only returned in `GET` requests if `view=FULL` is set. May only be set on create requests; once created, is immutable.
+      "restartThreshold": 42, # The number of consecutive failed health checks before an instance is restarted.
+      "checkInterval": "A String", # The interval between health checks.
+      "unhealthyThreshold": 42, # The number of consecutive failed health checks before removing traffic.
+      "healthyThreshold": 42, # The number of consecutive successful health checks before receiving traffic.
+      "host": "A String", # The host header to send when performing an HTTP health check (e.g. myapp.appspot.com)
+      "timeout": "A String", # The amount of time before the health check is considered failed.
+      "disableHealthCheck": True or False, # Whether to explicitly disable health checks for this instance.
+    },
+    "defaultExpiration": "A String", # The length of time a static file served by a static file handler ought to be cached by web proxies and browsers, if the handler does not specify its own expiration. Only returned in `GET` requests if `view=FULL` is set. May only be set on create requests; once created, is immutable.
+    "libraries": [ # Configuration for Python runtime third-party libraries required by the application. Only returned in `GET` requests if `view=FULL` is set. May only be set on create requests; once created, is immutable.
+      { # A Python runtime third-party library required by the application.
+        "version": "A String", # The version of the library to select, or "latest".
+        "name": "A String", # The name of the library, e.g. "PIL" or "django".
+      },
+    ],
+    "deployer": "A String", # The email address of the user who created this version. @OutputOnly
+    "env": "A String", # The App Engine execution environment to use for this version. Default: "1"
+    "diskUsageBytes": "A String", # Total size of version files hosted on App Engine disk in bytes. @OutputOnly
+    "automaticScaling": { # Automatic scaling is the scaling policy that App Engine has used since its inception. It is based on request rate, response latencies, and other application metrics. # Automatic scaling is the scaling policy that App Engine has used since its inception. It is based on request rate, response latencies, and other application metrics.
+      "minPendingLatency": "A String", # The minimum amount of time that App Engine should allow a request to wait in the pending queue before starting a new instance to handle it.
+      "networkUtilization": { # Target scaling by network usage (for VM runtimes only). # Target scaling by network usage.
+        "targetReceivedBytesPerSec": 42, # Target bytes per second received.
+        "targetSentBytesPerSec": 42, # Target bytes per second sent.
+        "targetReceivedPacketsPerSec": 42, # Target packets per second received.
+        "targetSentPacketsPerSec": 42, # Target packets per second sent.
+      },
+      "diskUtilization": { # Target scaling by disk usage (for VM runtimes only). # Target scaling by disk usage.
+        "targetWriteOpsPerSec": 42, # Target ops per second written.
+        "targetReadBytesPerSec": 42, # Target bytes per second read.
+        "targetReadOpsPerSec": 42, # Target ops per second read.
+        "targetWriteBytesPerSec": 42, # Target bytes per second written.
+      },
+      "maxPendingLatency": "A String", # The maximum amount of time that App Engine should allow a request to wait in the pending queue before starting a new instance to handle it.
+      "maxIdleInstances": 42, # The maximum number of idle instances that App Engine should maintain for this version.
+      "minIdleInstances": 42, # The minimum number of idle instances that App Engine should maintain for this version. Only applies to the default version of a service, since other versions are not expected to receive significant traffic.
+      "requestUtilization": { # Target scaling by request utilization (for VM runtimes only). # Target scaling by request utilization.
+        "targetConcurrentRequests": 42, # Target number of concurrent requests.
+        "targetRequestCountPerSec": 42, # Target requests per second.
+      },
+      "coolDownPeriod": "A String", # The amount of time that the [Autoscaler](https://cloud.google.com/compute/docs/autoscaler/) should wait between changes to the number of virtual machines. Applies only to the VM runtime.
+      "maxTotalInstances": 42, # Max number of instances that App Engine should start to handle requests.
+      "maxConcurrentRequests": 42, # The number of concurrent requests an automatic scaling instance can accept before the scheduler spawns a new instance. Default value is chosen based on the runtime.
+      "minTotalInstances": 42, # Minimum number of instances that App Engine should maintain.
+      "cpuUtilization": { # Target scaling by CPU usage. # Target scaling by CPU usage.
+        "targetUtilization": 3.14, # Target (0-1) CPU utilization ratio to maintain when scaling.
+        "aggregationWindowLength": "A String", # The period of time over which CPU utilization is calculated.
+      },
+    },
+    "envVariables": { # Environment variables made available to the application. Only returned in `GET` requests if `view=FULL` is set. May only be set on create requests; once created, is immutable.
+      "a_key": "A String",
+    },
+    "resources": { # Used to specify how many machine resources an app version needs. # Used to specify how many machine resources an app version needs (for VM runtimes only).
+      "diskGb": 3.14, # How much disk size, in GB, an app version needs.
+      "cpu": 3.14, # How many CPU cores an app version needs.
+      "memoryGb": 3.14, # How much memory, in GB, an app version needs.
+    },
+    "manualScaling": { # A service with manual scaling runs continuously, allowing you to perform complex initialization and rely on the state of its memory over time. # A service with manual scaling runs continuously, allowing you to perform complex initialization and rely on the state of its memory over time.
+      "instances": 42, # The number of instances to assign to the service at the start. This number can later be altered by using the [Modules API](https://cloud.google.com/appengine/docs/python/modules/functions) `set_num_instances()` function.
+    },
+    "inboundServices": [ # Before an application can receive email or XMPP messages, the application must be configured to enable the service.
+      "A String",
+    ],
+    "deployment": { # Code and application artifacts used to deploy a version to App Engine. # Code and application artifacts that make up this version. Only returned in `GET` requests if `view=FULL` is set. May only be set on create requests; once created, is immutable.
+      "files": { # A manifest of files stored in Google Cloud Storage which should be included as part of this application. All files must be readable using the credentials supplied with this call.
+        "a_key": { # A single source file which is part of the application to be deployed.
+          "mimeType": "A String", # The MIME type of the file; if unspecified, the value from Google Cloud Storage will be used.
+          "sourceUrl": "A String", # The URL source to use to fetch this file. Must be a URL to a resource in Google Cloud Storage in the form 'http(s)://storage.googleapis.com/\/\'.
+          "sha1Sum": "A String", # The SHA1 (160 bits) hash of the file in hex.
+        },
+      },
+      "sourceReferences": [ # The origin of the source code for this deployment. There can be more than one source reference per Version if source code is distributed among multiple repositories.
+        { # A reference to a particular snapshot of the source tree used to build and deploy the application.
+          "revisionId": "A String", # The canonical (and persistent) identifier of the deployed revision, i.e. any kind of aliases including tags or branch names are not allowed. Example (git): "2198322f89e0bb2e25021667c2ed489d1fd34e6b"
+          "repository": "A String", # Optional. A URI string identifying the repository. Example: "https://source.developers.google.com/p/app-123/r/default"
+        },
+      ],
+      "container": { # A Docker (container) image which should be used to start the application. # If supplied, a docker (container) image which should be used to start the application. Only applicable to the 'vm' runtime.
+        "image": "A String", # Reference to a hosted container image. Must be a URI to a resource in a Docker repository. Must be fully qualified, including tag or digest. e.g. gcr.io/my-project/image:tag or gcr.io/my-project/image@digest
+      },
+    },
+    "network": { # Used to specify extra network settings (for VM runtimes only). # Used to specify extra network settings (for VM runtimes only).
+      "instanceTag": "A String", # A tag to apply to the VM instance during creation.
+      "forwardedPorts": [ # A list of ports (or port pairs) to forward from the VM into the app container.
+        "A String",
+      ],
+      "name": "A String", # The Google Compute Engine network where the VMs will be created. If not specified, or empty, the network named "default" will be used. (The short name should be specified, not the resource path.)
+    },
+    "nobuildFilesRegex": "A String", # Go only. Files that match this pattern will not be built into the app. May only be set on create requests.
+    "name": "A String", # The full path to the Version resource in the API. Example: "apps/myapp/services/default/versions/v1". @OutputOnly
+    "handlers": [ # An ordered list of URL Matching patterns that should be applied to incoming requests. The first matching URL consumes the request, and subsequent handlers are not attempted. Only returned in `GET` requests if `view=FULL` is set. May only be set on create requests; once created, is immutable.
+      { # A URL pattern and description of how it should be handled. App Engine can handle URLs by executing application code, or by serving static files uploaded with the code, such as images, CSS or JavaScript.
+        "securityLevel": "A String", # Configures whether security (HTTPS) should be enforced for this URL.
+        "authFailAction": "A String", # For users not logged in, how to handle access to resources with required login. Defaults to "redirect".
+        "urlRegex": "A String", # A URL prefix. This value uses regular expression syntax (and so regexp special characters must be escaped), but it should not contain groupings. All URLs that begin with this prefix are handled by this handler, using the portion of the URL after the prefix as part of the file path. This is always required.
+        "script": { # Executes a script to handle the request that matches the URL pattern. # Executes a script to handle the request that matches the URL pattern.
+          "scriptPath": "A String", # Specifies the path to the script from the application root directory.
+        },
+        "staticFiles": { # Files served directly to the user for a given URL, such as images, CSS stylesheets, or JavaScript source files. Static file handlers describe which files in the application directory are static files, and which URLs serve them. # Returns the contents of a file, such as an image, as the response.
+          "mimeType": "A String", # If specified, all files served by this handler will be served using the specified MIME type. If not specified, the MIME type for a file will be derived from the file's filename extension.
+          "applicationReadable": True or False, # By default, files declared in static file handlers are uploaded as static data and are only served to end users, they cannot be read by an application. If this field is set to true, the files are also uploaded as code data so your application can read them. Both uploads are charged against your code and static data storage resource quotas.
+          "expiration": "A String", # The length of time a static file served by this handler ought to be cached by web proxies and browsers.
+          "requireMatchingFile": True or False, # If true, this UrlMap entry does not match the request unless the file referenced by the handler also exists. If no such file exists, processing will continue with the next UrlMap that matches the requested URL.
+          "uploadPathRegex": "A String", # A regular expression that matches the file paths for all files that will be referenced by this handler.
+          "path": "A String", # The path to the static files matched by the URL pattern, from the application root directory. The path can refer to text matched in groupings in the URL pattern.
+          "httpHeaders": { # HTTP headers to use for all responses from these URLs.
+            "a_key": "A String",
+          },
+        },
+        "apiEndpoint": { # Use Google Cloud Endpoints to handle requests. # Use API Endpoints to handle requests.
+          "scriptPath": "A String", # Specifies the path to the script from the application root directory.
+        },
+        "login": "A String", # What level of login is required to access this resource.
+        "redirectHttpResponseCode": "A String", # `30x` code to use when performing redirects for the `secure` field. A `302` is used by default.
+      },
+    ],
+    "creationTime": "A String", # Creation time of this version. This will be between the start and end times of the operation that creates this version. @OutputOnly
+    "servingStatus": "A String", # The current serving status of this version. Only `SERVING` versions will have instances created or billed for. If this field is unset when a version is created, `SERVING` status will be assumed. It is an error to explicitly set this field to `SERVING_STATUS_UNSPECIFIED`.
+    "runtime": "A String", # The desired runtime. Values can include python27, java7, go, etc.
+  }
+
+  mask: string, Standard field mask for the set of fields to be updated.
+  x__xgafv: string, V1 error format.
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+    "response": { # The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
+      "a_key": "", # Properties of the object. Contains field @ype with type URL.
+    },
+    "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). The error model is designed to be: - Simple to use and understand for most users - Flexible enough to meet unexpected needs # Overview The `Status` message contains three pieces of data: error code, error message, and error details. The error code should be an enum value of google.rpc.Code, but it may accept additional error codes if needed. The error message should be a developer-facing English message that helps developers *understand* and *resolve* the error. If a localized user-facing error message is needed, put the localized message in the error details or localize it in the client. The optional error details may contain arbitrary information about the error. There is a predefined set of error detail types in the package `google.rpc` which can be used for common error conditions. # Language mapping The `Status` message is the logical representation of the error model, but it is not necessarily the actual wire format. When the `Status` message is exposed in different client libraries and different wire protocols, it can be mapped differently. For example, it will likely be mapped to some exceptions in Java, but more likely mapped to some error codes in C. # Other uses The error model and the `Status` message can be used in a variety of environments, either with or without APIs, to provide a consistent developer experience across different environments. Example uses of this error model include: - Partial errors. If a service needs to return partial errors to the client, it may embed the `Status` in the normal response to indicate the partial errors. - Workflow errors. A typical workflow has multiple steps. Each step may have a `Status` message for error reporting purpose. - Batch operations. If a client uses batch request and batch response, the `Status` message should be used directly inside batch response, one for each error sub-response. - Asynchronous operations. If an API call embeds asynchronous operation results in its response, the status of those operations should be represented directly using the `Status` message. - Logging. If some API errors are stored in logs, the message `Status` could be used directly after any stripping needed for security/privacy reasons. # The error result of the operation in case of failure.
+      "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
+      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+      "details": [ # A list of messages that carry the error details. There will be a common set of message types for APIs to use.
+        {
+          "a_key": "", # Properties of the object. Contains field @ype with type URL.
+        },
+      ],
+    },
+    "done": True or False, # If the value is `false`, it means the operation is still in progress. If true, the operation is completed, and either `error` or `response` is available.
+    "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should have the format of `operations/some/unique/name`.
+    "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
+      "a_key": "", # Properties of the object. Contains field @ype with type URL.
+    },
+  }
+
+ \ No newline at end of file diff --git a/docs/dyn/appengine_v1beta5.apps.services.versions.instances.html b/docs/dyn/appengine_v1beta5.apps.services.versions.instances.html new file mode 100644 index 00000000000..87d2deb0bb1 --- /dev/null +++ b/docs/dyn/appengine_v1beta5.apps.services.versions.instances.html @@ -0,0 +1,137 @@ + + + +

Google App Engine Admin API . apps . services . versions . instances

+

Instance Methods

+

+ list(appsId, servicesId, versionsId, pageSize=None, x__xgafv=None, pageToken=None)

+

Lists the instances of a version.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

Method Details

+
+ list(appsId, servicesId, versionsId, pageSize=None, x__xgafv=None, pageToken=None) +
Lists the instances of a version.
+
+Args:
+  appsId: string, Part of `name`. Name of the resource requested. For example: "apps/myapp/services/default/versions/v1". (required)
+  servicesId: string, Part of `name`. See documentation of `appsId`. (required)
+  versionsId: string, Part of `name`. See documentation of `appsId`. (required)
+  pageSize: integer, Maximum results to return per page.
+  x__xgafv: string, V1 error format.
+  pageToken: string, Continuation token for fetching the next page of results.
+
+Returns:
+  An object of the form:
+
+    { # Response message for `Instances.ListInstances`.
+    "nextPageToken": "A String", # Continuation token for fetching the next page of results.
+    "instances": [ # The instances belonging to the requested version.
+      { # Instances are the computing units that App Engine uses to automatically scale an application.
+        "errors": 42, # Number of errors since the instance was started. @OutputOnly
+        "name": "A String", # The full path to the Instance resource in the API. Example: "apps/myapp/services/default/versions/v1/instances/instance-1" @OutputOnly
+        "startTimestamp": "A String", # Time when instance was started. @OutputOnly
+        "appEngineRelease": "A String", # The App Engine release the instance is running on. @OutputOnly
+        "vmId": "A String", # For VMEngines instances, the GCE VM ID of the instance. @OutputOnly
+        "memoryUsage": "A String", # Memory usage (in bytes). @OutputOnly
+        "id": "A String", # The relative name/path of the instance within the version. Example: "instance-1" @OutputOnly
+        "vmUnlocked": True or False, # For VMEngines instances, whether the instance has been unlocked. @OutputOnly
+        "averageLatency": 42, # Latency in milliseconds (averaged over the last minute). @OutputOnly
+        "qps": 3.14, # QPS for this instance (averaged over the last minute). @OutputOnly
+        "requests": 42, # Number of requests (since the clone was started). @OutputOnly
+        "vmName": "A String", # For VMEngines instances, the name of GCE VM where the instance lives. @OutputOnly
+        "availability": "A String", # Availability of instance. @OutputOnly
+        "vmZoneName": "A String", # For VMEngines instances, the zone where the GCE VM is located. @OutputOnly
+        "vmStatus": "A String", # For VMEngines instances, the status of GCE VM where the instance lives. @OutputOnly
+      },
+    ],
+  }
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    
+
+ + \ No newline at end of file diff --git a/docs/dyn/appsactivity_v1.activities.html b/docs/dyn/appsactivity_v1.activities.html index dda5212efeb..4fceeae14c5 100644 --- a/docs/dyn/appsactivity_v1.activities.html +++ b/docs/dyn/appsactivity_v1.activities.html @@ -146,7 +146,9 @@

Method Details

"photo": { # Photo information for a user. # The profile photo of the user. Not present if the user has no profile photo. "url": "A String", # The URL of the photo. }, + "permissionId": "A String", # The permission ID associated with this user. Equivalent to the Drive API's permission ID for this user, returned as part of the Drive Permissions resource. "name": "A String", # The displayable name of the user. + "isDeleted": True or False, # A boolean which indicates whether the specified User was deleted. If true, name, photo and permission_id will be omitted. }, "type": "A String", # Indicates how widely permissions are granted. }, @@ -161,7 +163,9 @@

Method Details

"photo": { # Photo information for a user. # The profile photo of the user. Not present if the user has no profile photo. "url": "A String", # The URL of the photo. }, + "permissionId": "A String", # The permission ID associated with this user. Equivalent to the Drive API's permission ID for this user, returned as part of the Drive Permissions resource. "name": "A String", # The displayable name of the user. + "isDeleted": True or False, # A boolean which indicates whether the specified User was deleted. If true, name, photo and permission_id will be omitted. }, "type": "A String", # Indicates how widely permissions are granted. }, @@ -172,7 +176,9 @@

Method Details

"photo": { # Photo information for a user. # The profile photo of the user. Not present if the user has no profile photo. "url": "A String", # The URL of the photo. }, + "permissionId": "A String", # The permission ID associated with this user. Equivalent to the Drive API's permission ID for this user, returned as part of the Drive Permissions resource. "name": "A String", # The displayable name of the user. + "isDeleted": True or False, # A boolean which indicates whether the specified User was deleted. If true, name, photo and permission_id will be omitted. }, "eventTimeMillis": "A String", # The time at which the event occurred formatted as Unix time in milliseconds. "primaryEventType": "A String", # The main type of event that occurred. @@ -220,7 +226,9 @@

Method Details

"photo": { # Photo information for a user. # The profile photo of the user. Not present if the user has no profile photo. "url": "A String", # The URL of the photo. }, + "permissionId": "A String", # The permission ID associated with this user. Equivalent to the Drive API's permission ID for this user, returned as part of the Drive Permissions resource. "name": "A String", # The displayable name of the user. + "isDeleted": True or False, # A boolean which indicates whether the specified User was deleted. If true, name, photo and permission_id will be omitted. }, "type": "A String", # Indicates how widely permissions are granted. }, @@ -235,7 +243,9 @@

Method Details

"photo": { # Photo information for a user. # The profile photo of the user. Not present if the user has no profile photo. "url": "A String", # The URL of the photo. }, + "permissionId": "A String", # The permission ID associated with this user. Equivalent to the Drive API's permission ID for this user, returned as part of the Drive Permissions resource. "name": "A String", # The displayable name of the user. + "isDeleted": True or False, # A boolean which indicates whether the specified User was deleted. If true, name, photo and permission_id will be omitted. }, "type": "A String", # Indicates how widely permissions are granted. }, @@ -246,7 +256,9 @@

Method Details

"photo": { # Photo information for a user. # The profile photo of the user. Not present if the user has no profile photo. "url": "A String", # The URL of the photo. }, + "permissionId": "A String", # The permission ID associated with this user. Equivalent to the Drive API's permission ID for this user, returned as part of the Drive Permissions resource. "name": "A String", # The displayable name of the user. + "isDeleted": True or False, # A boolean which indicates whether the specified User was deleted. If true, name, photo and permission_id will be omitted. }, "eventTimeMillis": "A String", # The time at which the event occurred formatted as Unix time in milliseconds. "primaryEventType": "A String", # The main type of event that occurred. diff --git a/docs/dyn/autoscaler_v1beta2.autoscalers.html b/docs/dyn/autoscaler_v1beta2.autoscalers.html index eca7190f924..f568a1290c4 100644 --- a/docs/dyn/autoscaler_v1beta2.autoscalers.html +++ b/docs/dyn/autoscaler_v1beta2.autoscalers.html @@ -114,13 +114,14 @@

Method Details

"creationTimestamp": "A String", "id": "A String", "zone": "A String", + "insertTime": "A String", "operationType": "A String", "httpErrorMessage": "A String", "progress": 42, "httpErrorStatusCode": 42, "statusMessage": "A String", "status": "A String", - "insertTime": "A String", + "description": "A String", "warnings": [ { "message": "A String", @@ -135,7 +136,7 @@

Method Details

], "user": "A String", "startTime": "A String", - "kind": "autoscaler#operation", # [Output Only] Type of the resource. Always compute#Operation for Operation resources. + "kind": "autoscaler#operation", # [Output Only] Type of the resource. Always compute#operation for Operation resources. "name": "A String", "region": "A String", "error": { @@ -181,7 +182,7 @@

Method Details

"utilizationTarget": 3.14, # Target value of the metric which Autoscaler should maintain. Must be a positive value. }, ], - "cpuUtilization": { # CPU utilization policy. # Exactly one utilization policy should be provided. Configuration parameters of CPU based autoscaling policy. + "cpuUtilization": { # CPU utilization policy. # Configuration parameters of CPU based autoscaling policy. "utilizationTarget": 3.14, # The target utilization that the Autoscaler should maintain. It is represented as a fraction of used cores. For example: 6 cores used in 8-core VM are represented here as 0.75. Must be a float value between (0, 1]. If not defined, the default is 0.8. }, "minNumReplicas": 42, # The minimum number of replicas that the Autoscaler can scale down to. @@ -220,7 +221,7 @@

Method Details

"utilizationTarget": 3.14, # Target value of the metric which Autoscaler should maintain. Must be a positive value. }, ], - "cpuUtilization": { # CPU utilization policy. # Exactly one utilization policy should be provided. Configuration parameters of CPU based autoscaling policy. + "cpuUtilization": { # CPU utilization policy. # Configuration parameters of CPU based autoscaling policy. "utilizationTarget": 3.14, # The target utilization that the Autoscaler should maintain. It is represented as a fraction of used cores. For example: 6 cores used in 8-core VM are represented here as 0.75. Must be a float value between (0, 1]. If not defined, the default is 0.8. }, "minNumReplicas": 42, # The minimum number of replicas that the Autoscaler can scale down to. @@ -242,13 +243,14 @@

Method Details

"creationTimestamp": "A String", "id": "A String", "zone": "A String", + "insertTime": "A String", "operationType": "A String", "httpErrorMessage": "A String", "progress": 42, "httpErrorStatusCode": 42, "statusMessage": "A String", "status": "A String", - "insertTime": "A String", + "description": "A String", "warnings": [ { "message": "A String", @@ -263,7 +265,7 @@

Method Details

], "user": "A String", "startTime": "A String", - "kind": "autoscaler#operation", # [Output Only] Type of the resource. Always compute#Operation for Operation resources. + "kind": "autoscaler#operation", # [Output Only] Type of the resource. Always compute#operation for Operation resources. "name": "A String", "region": "A String", "error": { @@ -314,7 +316,7 @@

Method Details

"utilizationTarget": 3.14, # Target value of the metric which Autoscaler should maintain. Must be a positive value. }, ], - "cpuUtilization": { # CPU utilization policy. # Exactly one utilization policy should be provided. Configuration parameters of CPU based autoscaling policy. + "cpuUtilization": { # CPU utilization policy. # Configuration parameters of CPU based autoscaling policy. "utilizationTarget": 3.14, # The target utilization that the Autoscaler should maintain. It is represented as a fraction of used cores. For example: 6 cores used in 8-core VM are represented here as 0.75. Must be a float value between (0, 1]. If not defined, the default is 0.8. }, "minNumReplicas": 42, # The minimum number of replicas that the Autoscaler can scale down to. @@ -371,7 +373,7 @@

Method Details

"utilizationTarget": 3.14, # Target value of the metric which Autoscaler should maintain. Must be a positive value. }, ], - "cpuUtilization": { # CPU utilization policy. # Exactly one utilization policy should be provided. Configuration parameters of CPU based autoscaling policy. + "cpuUtilization": { # CPU utilization policy. # Configuration parameters of CPU based autoscaling policy. "utilizationTarget": 3.14, # The target utilization that the Autoscaler should maintain. It is represented as a fraction of used cores. For example: 6 cores used in 8-core VM are represented here as 0.75. Must be a float value between (0, 1]. If not defined, the default is 0.8. }, "minNumReplicas": 42, # The minimum number of replicas that the Autoscaler can scale down to. @@ -393,13 +395,14 @@

Method Details

"creationTimestamp": "A String", "id": "A String", "zone": "A String", + "insertTime": "A String", "operationType": "A String", "httpErrorMessage": "A String", "progress": 42, "httpErrorStatusCode": 42, "statusMessage": "A String", "status": "A String", - "insertTime": "A String", + "description": "A String", "warnings": [ { "message": "A String", @@ -414,7 +417,7 @@

Method Details

], "user": "A String", "startTime": "A String", - "kind": "autoscaler#operation", # [Output Only] Type of the resource. Always compute#Operation for Operation resources. + "kind": "autoscaler#operation", # [Output Only] Type of the resource. Always compute#operation for Operation resources. "name": "A String", "region": "A String", "error": { @@ -459,7 +462,7 @@

Method Details

"utilizationTarget": 3.14, # Target value of the metric which Autoscaler should maintain. Must be a positive value. }, ], - "cpuUtilization": { # CPU utilization policy. # Exactly one utilization policy should be provided. Configuration parameters of CPU based autoscaling policy. + "cpuUtilization": { # CPU utilization policy. # Configuration parameters of CPU based autoscaling policy. "utilizationTarget": 3.14, # The target utilization that the Autoscaler should maintain. It is represented as a fraction of used cores. For example: 6 cores used in 8-core VM are represented here as 0.75. Must be a float value between (0, 1]. If not defined, the default is 0.8. }, "minNumReplicas": 42, # The minimum number of replicas that the Autoscaler can scale down to. @@ -481,13 +484,14 @@

Method Details

"creationTimestamp": "A String", "id": "A String", "zone": "A String", + "insertTime": "A String", "operationType": "A String", "httpErrorMessage": "A String", "progress": 42, "httpErrorStatusCode": 42, "statusMessage": "A String", "status": "A String", - "insertTime": "A String", + "description": "A String", "warnings": [ { "message": "A String", @@ -502,7 +506,7 @@

Method Details

], "user": "A String", "startTime": "A String", - "kind": "autoscaler#operation", # [Output Only] Type of the resource. Always compute#Operation for Operation resources. + "kind": "autoscaler#operation", # [Output Only] Type of the resource. Always compute#operation for Operation resources. "name": "A String", "region": "A String", "error": { diff --git a/docs/dyn/autoscaler_v1beta2.zoneOperations.html b/docs/dyn/autoscaler_v1beta2.zoneOperations.html index c9ccefdc5f5..a96a39e2b94 100644 --- a/docs/dyn/autoscaler_v1beta2.zoneOperations.html +++ b/docs/dyn/autoscaler_v1beta2.zoneOperations.html @@ -116,13 +116,14 @@

Method Details

"creationTimestamp": "A String", "id": "A String", "zone": "A String", + "insertTime": "A String", "operationType": "A String", "httpErrorMessage": "A String", "progress": 42, "httpErrorStatusCode": 42, "statusMessage": "A String", "status": "A String", - "insertTime": "A String", + "description": "A String", "warnings": [ { "message": "A String", @@ -137,7 +138,7 @@

Method Details

], "user": "A String", "startTime": "A String", - "kind": "autoscaler#operation", # [Output Only] Type of the resource. Always compute#Operation for Operation resources. + "kind": "autoscaler#operation", # [Output Only] Type of the resource. Always compute#operation for Operation resources. "name": "A String", "region": "A String", "error": { @@ -178,13 +179,14 @@

Method Details

"creationTimestamp": "A String", "id": "A String", "zone": "A String", + "insertTime": "A String", "operationType": "A String", "httpErrorMessage": "A String", "progress": 42, "httpErrorStatusCode": 42, "statusMessage": "A String", "status": "A String", - "insertTime": "A String", + "description": "A String", "warnings": [ { "message": "A String", @@ -199,7 +201,7 @@

Method Details

], "user": "A String", "startTime": "A String", - "kind": "autoscaler#operation", # [Output Only] Type of the resource. Always compute#Operation for Operation resources. + "kind": "autoscaler#operation", # [Output Only] Type of the resource. Always compute#operation for Operation resources. "name": "A String", "region": "A String", "error": { diff --git a/docs/dyn/autoscaler_v1beta2.zones.html b/docs/dyn/autoscaler_v1beta2.zones.html index afef3852055..6198a78b12d 100644 --- a/docs/dyn/autoscaler_v1beta2.zones.html +++ b/docs/dyn/autoscaler_v1beta2.zones.html @@ -75,19 +75,19 @@

Google Compute Engine Autoscaler API . zones

Instance Methods

- list(project, maxResults=None, pageToken=None, filter=None)

+ list(maxResults=None, project=None, pageToken=None, filter=None)

list_next(previous_request, previous_response)

Retrieves the next page of results.

Method Details

- list(project, maxResults=None, pageToken=None, filter=None) + list(maxResults=None, project=None, pageToken=None, filter=None)
 
 Args:
-  project: string, A parameter (required)
   maxResults: integer, A parameter
+  project: string, A parameter
   pageToken: string, A parameter
   filter: string, A parameter
 
@@ -99,16 +99,8 @@ 

Method Details

"items": [ { "status": "A String", - "kind": "autoscaler#zone", # [Output Only] Type of the resource. Always kind#zone for zones. + "kind": "autoscaler#zone", # [Output Only] Type of the resource. Always compute#zone for zones. "description": "A String", - "maintenanceWindows": [ - { - "endTime": "A String", - "beginTime": "A String", - "name": "A String", - "description": "A String", - }, - ], "deprecated": { "deleted": "A String", "deprecated": "A String", @@ -119,13 +111,13 @@

Method Details

"region": "A String", "creationTimestamp": "A String", "id": "A String", - "selfLink": "A String", # [Output Only] Server defined URL for the resource. + "selfLink": "A String", "name": "A String", }, ], "kind": "autoscaler#zoneList", # Type of resource. "id": "A String", - "selfLink": "A String", # Server defined URL for this resource (output only). + "selfLink": "A String", # [Output Only] Server-defined URL for this resource. }
diff --git a/docs/dyn/bigquery_v2.datasets.html b/docs/dyn/bigquery_v2.datasets.html index 3a2c83c5508..50f850e2ee2 100644 --- a/docs/dyn/bigquery_v2.datasets.html +++ b/docs/dyn/bigquery_v2.datasets.html @@ -140,7 +140,7 @@

Method Details

}, }, ], - "defaultTableExpirationMs": "A String", # [Experimental] The default lifetime of all tables in the dataset, in milliseconds. The minimum value is 3600000 milliseconds (one hour). Once this property is set, all newly-created tables in the dataset will have an expirationTime property set to the creation time plus the value in this property, and changing the value will only affect new tables, not existing ones. When the expirationTime for a given table is reached, that table will be deleted automatically. If a table's expirationTime is modified or removed before the table expires, or if you provide an explicit expirationTime when creating a table, that value takes precedence over the default expiration time indicated by this property. + "defaultTableExpirationMs": "A String", # [Optional] The default lifetime of all tables in the dataset, in milliseconds. The minimum value is 3600000 milliseconds (one hour). Once this property is set, all newly-created tables in the dataset will have an expirationTime property set to the creation time plus the value in this property, and changing the value will only affect new tables, not existing ones. When the expirationTime for a given table is reached, that table will be deleted automatically. If a table's expirationTime is modified or removed before the table expires, or if you provide an explicit expirationTime when creating a table, that value takes precedence over the default expiration time indicated by this property. "etag": "A String", # [Output-only] A hash of the resource. "location": "A String", # [Experimental] The geographic location where the dataset should reside. Possible values include EU and US. The default value is US. "friendlyName": "A String", # [Optional] A descriptive name for the dataset. @@ -181,7 +181,7 @@

Method Details

}, }, ], - "defaultTableExpirationMs": "A String", # [Experimental] The default lifetime of all tables in the dataset, in milliseconds. The minimum value is 3600000 milliseconds (one hour). Once this property is set, all newly-created tables in the dataset will have an expirationTime property set to the creation time plus the value in this property, and changing the value will only affect new tables, not existing ones. When the expirationTime for a given table is reached, that table will be deleted automatically. If a table's expirationTime is modified or removed before the table expires, or if you provide an explicit expirationTime when creating a table, that value takes precedence over the default expiration time indicated by this property. + "defaultTableExpirationMs": "A String", # [Optional] The default lifetime of all tables in the dataset, in milliseconds. The minimum value is 3600000 milliseconds (one hour). Once this property is set, all newly-created tables in the dataset will have an expirationTime property set to the creation time plus the value in this property, and changing the value will only affect new tables, not existing ones. When the expirationTime for a given table is reached, that table will be deleted automatically. If a table's expirationTime is modified or removed before the table expires, or if you provide an explicit expirationTime when creating a table, that value takes precedence over the default expiration time indicated by this property. "etag": "A String", # [Output-only] A hash of the resource. "location": "A String", # [Experimental] The geographic location where the dataset should reside. Possible values include EU and US. The default value is US. "friendlyName": "A String", # [Optional] A descriptive name for the dataset. @@ -216,7 +216,7 @@

Method Details

}, }, ], - "defaultTableExpirationMs": "A String", # [Experimental] The default lifetime of all tables in the dataset, in milliseconds. The minimum value is 3600000 milliseconds (one hour). Once this property is set, all newly-created tables in the dataset will have an expirationTime property set to the creation time plus the value in this property, and changing the value will only affect new tables, not existing ones. When the expirationTime for a given table is reached, that table will be deleted automatically. If a table's expirationTime is modified or removed before the table expires, or if you provide an explicit expirationTime when creating a table, that value takes precedence over the default expiration time indicated by this property. + "defaultTableExpirationMs": "A String", # [Optional] The default lifetime of all tables in the dataset, in milliseconds. The minimum value is 3600000 milliseconds (one hour). Once this property is set, all newly-created tables in the dataset will have an expirationTime property set to the creation time plus the value in this property, and changing the value will only affect new tables, not existing ones. When the expirationTime for a given table is reached, that table will be deleted automatically. If a table's expirationTime is modified or removed before the table expires, or if you provide an explicit expirationTime when creating a table, that value takes precedence over the default expiration time indicated by this property. "etag": "A String", # [Output-only] A hash of the resource. "location": "A String", # [Experimental] The geographic location where the dataset should reside. Possible values include EU and US. The default value is US. "friendlyName": "A String", # [Optional] A descriptive name for the dataset. @@ -303,7 +303,7 @@

Method Details

}, }, ], - "defaultTableExpirationMs": "A String", # [Experimental] The default lifetime of all tables in the dataset, in milliseconds. The minimum value is 3600000 milliseconds (one hour). Once this property is set, all newly-created tables in the dataset will have an expirationTime property set to the creation time plus the value in this property, and changing the value will only affect new tables, not existing ones. When the expirationTime for a given table is reached, that table will be deleted automatically. If a table's expirationTime is modified or removed before the table expires, or if you provide an explicit expirationTime when creating a table, that value takes precedence over the default expiration time indicated by this property. + "defaultTableExpirationMs": "A String", # [Optional] The default lifetime of all tables in the dataset, in milliseconds. The minimum value is 3600000 milliseconds (one hour). Once this property is set, all newly-created tables in the dataset will have an expirationTime property set to the creation time plus the value in this property, and changing the value will only affect new tables, not existing ones. When the expirationTime for a given table is reached, that table will be deleted automatically. If a table's expirationTime is modified or removed before the table expires, or if you provide an explicit expirationTime when creating a table, that value takes precedence over the default expiration time indicated by this property. "etag": "A String", # [Output-only] A hash of the resource. "location": "A String", # [Experimental] The geographic location where the dataset should reside. Possible values include EU and US. The default value is US. "friendlyName": "A String", # [Optional] A descriptive name for the dataset. @@ -338,7 +338,7 @@

Method Details

}, }, ], - "defaultTableExpirationMs": "A String", # [Experimental] The default lifetime of all tables in the dataset, in milliseconds. The minimum value is 3600000 milliseconds (one hour). Once this property is set, all newly-created tables in the dataset will have an expirationTime property set to the creation time plus the value in this property, and changing the value will only affect new tables, not existing ones. When the expirationTime for a given table is reached, that table will be deleted automatically. If a table's expirationTime is modified or removed before the table expires, or if you provide an explicit expirationTime when creating a table, that value takes precedence over the default expiration time indicated by this property. + "defaultTableExpirationMs": "A String", # [Optional] The default lifetime of all tables in the dataset, in milliseconds. The minimum value is 3600000 milliseconds (one hour). Once this property is set, all newly-created tables in the dataset will have an expirationTime property set to the creation time plus the value in this property, and changing the value will only affect new tables, not existing ones. When the expirationTime for a given table is reached, that table will be deleted automatically. If a table's expirationTime is modified or removed before the table expires, or if you provide an explicit expirationTime when creating a table, that value takes precedence over the default expiration time indicated by this property. "etag": "A String", # [Output-only] A hash of the resource. "location": "A String", # [Experimental] The geographic location where the dataset should reside. Possible values include EU and US. The default value is US. "friendlyName": "A String", # [Optional] A descriptive name for the dataset. @@ -380,7 +380,7 @@

Method Details

}, }, ], - "defaultTableExpirationMs": "A String", # [Experimental] The default lifetime of all tables in the dataset, in milliseconds. The minimum value is 3600000 milliseconds (one hour). Once this property is set, all newly-created tables in the dataset will have an expirationTime property set to the creation time plus the value in this property, and changing the value will only affect new tables, not existing ones. When the expirationTime for a given table is reached, that table will be deleted automatically. If a table's expirationTime is modified or removed before the table expires, or if you provide an explicit expirationTime when creating a table, that value takes precedence over the default expiration time indicated by this property. + "defaultTableExpirationMs": "A String", # [Optional] The default lifetime of all tables in the dataset, in milliseconds. The minimum value is 3600000 milliseconds (one hour). Once this property is set, all newly-created tables in the dataset will have an expirationTime property set to the creation time plus the value in this property, and changing the value will only affect new tables, not existing ones. When the expirationTime for a given table is reached, that table will be deleted automatically. If a table's expirationTime is modified or removed before the table expires, or if you provide an explicit expirationTime when creating a table, that value takes precedence over the default expiration time indicated by this property. "etag": "A String", # [Output-only] A hash of the resource. "location": "A String", # [Experimental] The geographic location where the dataset should reside. Possible values include EU and US. The default value is US. "friendlyName": "A String", # [Optional] A descriptive name for the dataset. @@ -415,7 +415,7 @@

Method Details

}, }, ], - "defaultTableExpirationMs": "A String", # [Experimental] The default lifetime of all tables in the dataset, in milliseconds. The minimum value is 3600000 milliseconds (one hour). Once this property is set, all newly-created tables in the dataset will have an expirationTime property set to the creation time plus the value in this property, and changing the value will only affect new tables, not existing ones. When the expirationTime for a given table is reached, that table will be deleted automatically. If a table's expirationTime is modified or removed before the table expires, or if you provide an explicit expirationTime when creating a table, that value takes precedence over the default expiration time indicated by this property. + "defaultTableExpirationMs": "A String", # [Optional] The default lifetime of all tables in the dataset, in milliseconds. The minimum value is 3600000 milliseconds (one hour). Once this property is set, all newly-created tables in the dataset will have an expirationTime property set to the creation time plus the value in this property, and changing the value will only affect new tables, not existing ones. When the expirationTime for a given table is reached, that table will be deleted automatically. If a table's expirationTime is modified or removed before the table expires, or if you provide an explicit expirationTime when creating a table, that value takes precedence over the default expiration time indicated by this property. "etag": "A String", # [Output-only] A hash of the resource. "location": "A String", # [Experimental] The geographic location where the dataset should reside. Possible values include EU and US. The default value is US. "friendlyName": "A String", # [Optional] A descriptive name for the dataset. diff --git a/docs/dyn/bigquery_v2.jobs.html b/docs/dyn/bigquery_v2.jobs.html index 034182763e9..431a22087e9 100644 --- a/docs/dyn/bigquery_v2.jobs.html +++ b/docs/dyn/bigquery_v2.jobs.html @@ -173,6 +173,19 @@

Method Details

"datasetId": "A String", # [Required] The ID of the dataset containing this table. }, ], + "schema": { # [Output-only, Experimental] The schema of the results. Present only for successful dry run of non-legacy SQL queries. + "fields": [ # Describes the fields in a table. + { + "fields": [ # [Optional] Describes the nested schema fields if the type property is set to RECORD. + # Object with schema name: TableFieldSchema + ], + "type": "A String", # [Required] The field data type. Possible values include STRING, BYTES, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema). + "description": "A String", # [Optional] The field description. The maximum length is 16K characters. + "name": "A String", # [Required] The field name. The name must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_), and must start with a letter or underscore. The maximum length is 128 characters. + "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE. + }, + ], + }, }, "endTime": "A String", # [Output-only] End time of this job, in milliseconds since the epoch. This field will be present whenever a job is in the DONE state. "extract": { # [Output-only] Statistics for an extract job. @@ -189,9 +202,10 @@

Method Details

"user_email": "A String", # [Output-only] Email address of the user who ran the job. "configuration": { # [Required] Describes the job configuration. "load": { # [Pick one] Configures a load job. + "sourceFormat": "A String", # [Optional] The format of the data files. For CSV files, specify "CSV". For datastore backups, specify "DATASTORE_BACKUP". For newline-delimited JSON, specify "NEWLINE_DELIMITED_JSON". For Avro, specify "AVRO". The default value is CSV. "encoding": "A String", # [Optional] The character encoding of the data. The supported values are UTF-8 or ISO-8859-1. The default value is UTF-8. BigQuery decodes the data after the raw, binary data has been split using the values of the quote and fieldDelimiter properties. "fieldDelimiter": "A String", # [Optional] The separator for fields in a CSV file. The separator can be any ISO-8859-1 single-byte character. To use a character in the range 128-255, you must encode the character as UTF8. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. BigQuery also supports the escape sequence "\t" to specify a tab separator. The default value is a comma (','). - "sourceFormat": "A String", # [Optional] The format of the data files. For CSV files, specify "CSV". For datastore backups, specify "DATASTORE_BACKUP". For newline-delimited JSON, specify "NEWLINE_DELIMITED_JSON". The default value is CSV. + "autodetect": True or False, # [Experimental] Indicates if we should automatically infer the options and schema for CSV and JSON sources. "destinationTable": { # [Required] The destination table to load the data into. "projectId": "A String", # [Required] The ID of the project containing this table. "tableId": "A String", # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters. @@ -219,7 +233,7 @@

Method Details

"fields": [ # [Optional] Describes the nested schema fields if the type property is set to RECORD. # Object with schema name: TableFieldSchema ], - "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema). + "type": "A String", # [Required] The field data type. Possible values include STRING, BYTES, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema). "description": "A String", # [Optional] The field description. The maximum length is 16K characters. "name": "A String", # [Required] The field name. The name must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_), and must start with a letter or underscore. The maximum length is 128 characters. "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE. @@ -272,7 +286,7 @@

Method Details

"projectId": "A String", # [Optional] The ID of the project containing this dataset. "datasetId": "A String", # [Required] A unique ID for this dataset, without the project name. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters. }, - "useLegacySql": True or False, # [Experimental] Specifies whether to use BigQuery's legacy SQL dialect for this query. The default value is true. If set to false, the query will use BigQuery's updated SQL dialect with improved standards compliance. When using BigQuery's updated SQL, the values of allowLargeResults and flattenResults are ignored. Queries with useLegacySql set to false will be run as if allowLargeResults is true and flattenResults is false. + "useLegacySql": True or False, # [Experimental] Specifies whether to use BigQuery's legacy SQL dialect for this query. The default value is true. If set to false, the query will use BigQuery's standard SQL: https://cloud.google.com/bigquery/sql-reference/ When useLegacySql is set to false, the values of allowLargeResults and flattenResults are ignored; query will be run as if allowLargeResults is true and flattenResults is false. "destinationTable": { # [Optional] Describes the table where the query results should be stored. If not present, a new table will be created to store the results. "projectId": "A String", # [Required] The ID of the project containing this table. "tableId": "A String", # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters. @@ -286,28 +300,53 @@

Method Details

"preserveNulls": True or False, # [Deprecated] This property is deprecated. "tableDefinitions": { # [Optional] If querying an external data source outside of BigQuery, describes the data format, location and other properties of the data source. By defining these properties, the data source can then be queried as if it were a standard BigQuery table. "a_key": { - "compression": "A String", # [Optional] The compression type of the data source. Possible values include GZIP and NONE. The default value is NONE. This setting is ignored for Google Cloud Datastore backups. + "compression": "A String", # [Optional] The compression type of the data source. Possible values include GZIP and NONE. The default value is NONE. This setting is ignored for Google Cloud Bigtable, Google Cloud Datastore backups and Avro formats. "csvOptions": { # Additional properties to set if sourceFormat is set to CSV. "fieldDelimiter": "A String", # [Optional] The separator for fields in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. BigQuery also supports the escape sequence "\t" to specify a tab separator. The default value is a comma (','). "encoding": "A String", # [Optional] The character encoding of the data. The supported values are UTF-8 or ISO-8859-1. The default value is UTF-8. BigQuery decodes the data after the raw, binary data has been split using the values of the quote and fieldDelimiter properties. - "skipLeadingRows": 42, # [Optional] The number of rows at the top of a CSV file that BigQuery will skip when reading the data. The default value is 0. This property is useful if you have header rows in the file that should be skipped. + "skipLeadingRows": "A String", # [Optional] The number of rows at the top of a CSV file that BigQuery will skip when reading the data. The default value is 0. This property is useful if you have header rows in the file that should be skipped. "allowJaggedRows": True or False, # [Optional] Indicates if BigQuery should accept rows that are missing trailing optional columns. If true, BigQuery treats missing trailing columns as null values. If false, records with missing trailing columns are treated as bad records, and if there are too many bad records, an invalid error is returned in the job result. The default value is false. "quote": """, # [Optional] The value that is used to quote data sections in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. The default value is a double-quote ('"'). If your data does not contain quoted sections, set the property value to an empty string. If your data contains quoted newline characters, you must also set the allowQuotedNewlines property to true. "allowQuotedNewlines": True or False, # [Optional] Indicates if BigQuery should allow quoted data sections that contain newline characters in a CSV file. The default value is false. }, - "sourceFormat": "A String", # [Required] The data format. For CSV files, specify "CSV". For newline-delimited JSON, specify "NEWLINE_DELIMITED_JSON". For Google Cloud Datastore backups, specify "DATASTORE_BACKUP". - "maxBadRecords": 42, # [Optional] The maximum number of bad records that BigQuery can ignore when reading data. If the number of bad records exceeds this value, an invalid error is returned in the job result. The default value is 0, which requires that all records are valid. This setting is ignored for Google Cloud Datastore backups. - "ignoreUnknownValues": True or False, # [Optional] Indicates if BigQuery should allow extra values that are not represented in the table schema. If true, the extra values are ignored. If false, records with extra columns are treated as bad records, and if there are too many bad records, an invalid error is returned in the job result. The default value is false. The sourceFormat property determines what BigQuery treats as an extra value: CSV: Trailing columns JSON: Named values that don't match any column names Google Cloud Datastore backups: This setting is ignored. - "sourceUris": [ # [Required] The fully-qualified URIs that point to your data in Google Cloud Storage. Each URI can contain one '*' wildcard character and it must come after the 'bucket' name. Size limits related to load jobs apply to external data sources, plus an additional limit of 10 GB maximum size across all URIs. For Google Cloud Datastore backups, exactly one URI can be specified, and it must end with '.backup_info'. Also, the '*' wildcard character is not allowed. + "autodetect": True or False, # [Experimental] Try to detect schema and format options automatically. Any option specified explicitly will be honored. + "maxBadRecords": 42, # [Optional] The maximum number of bad records that BigQuery can ignore when reading data. If the number of bad records exceeds this value, an invalid error is returned in the job result. The default value is 0, which requires that all records are valid. This setting is ignored for Google Cloud Bigtable, Google Cloud Datastore backups and Avro formats. + "ignoreUnknownValues": True or False, # [Optional] Indicates if BigQuery should allow extra values that are not represented in the table schema. If true, the extra values are ignored. If false, records with extra columns are treated as bad records, and if there are too many bad records, an invalid error is returned in the job result. The default value is false. The sourceFormat property determines what BigQuery treats as an extra value: CSV: Trailing columns JSON: Named values that don't match any column names Google Cloud Bigtable: This setting is ignored. Google Cloud Datastore backups: This setting is ignored. Avro: This setting is ignored. + "sourceUris": [ # [Required] The fully-qualified URIs that point to your data in Google Cloud. For Google Cloud Storage URIs: Each URI can contain one '*' wildcard character and it must come after the 'bucket' name. Size limits related to load jobs apply to external data sources. For Google Cloud Bigtable URIs: Exactly one URI can be specified and it has be a fully specified and valid HTTPS URL for a Google Cloud Bigtable table. For Google Cloud Datastore backups, exactly one URI can be specified, and it must end with '.backup_info'. Also, the '*' wildcard character is not allowed. "A String", ], - "schema": { # [Optional] The schema for the data. Schema is required for CSV and JSON formats. Schema is disallowed for Google Cloud Datastore backups. + "bigtableOptions": { # [Optional] Additional options if sourceFormat is set to BIGTABLE. + "ignoreUnspecifiedColumnFamilies": True or False, # [Optional] If field is true, then the column families that are not specified in columnFamilies list are not exposed in the table schema. Otherwise, they are read with BYTES type values. The default value is false. + "columnFamilies": [ # [Optional] List of column families to expose in the table schema along with their types. This list restricts the column families that can be referenced in queries and specifies their value types. You can use this list to do type conversions - see the 'type' field for more details. If you leave this list empty, all column families are present in the table schema and their values are read as BYTES. During a query only the column families referenced in that query are read from Bigtable. + { + "familyId": "A String", # Identifier of the column family. + "type": "A String", # [Optional] The type to convert the value in cells of this column family. The values are expected to be encoded using HBase Bytes.toBytes function when using the BINARY encoding value. Following BigQuery types are allowed (case-sensitive) - BYTES STRING INTEGER FLOAT BOOLEAN Defaut type is BYTES. This can be overridden for a specific column by listing that column in 'columns' and specifying a type for it. + "onlyReadLatest": True or False, # [Optional] If this is set only the latest version of value are exposed for all columns in this column family. This can be overridden for a specific column by listing that column in 'columns' and specifying a different setting for that column. + "columns": [ # [Optional] Lists of columns that should be exposed as individual fields as opposed to a list of (column name, value) pairs. All columns whose qualifier matches a qualifier in this list can be accessed as .. Other columns can be accessed as a list through .Column field. + { + "encoding": "A String", # [Optional] The encoding of the values when the type is not STRING. Acceptable encoding values are: TEXT - indicates values are alphanumeric text strings. BINARY - indicates values are encoded using HBase Bytes.toBytes family of functions. 'encoding' can also be set at the column family level. However, the setting at this level takes precedence if 'encoding' is set at both levels. + "qualifierEncoded": "A String", # [Required] Qualifier of the column. Columns in the parent column family that has this exact qualifier are exposed as . field. If the qualifier is valid UTF-8 string, it can be specified in the qualifier_string field. Otherwise, a base-64 encoded value must be set to qualifier_encoded. The column field name is the same as the column qualifier. However, if the qualifier is not a valid BigQuery field identifier i.e. does not match [a-zA-Z][a-zA-Z0-9_]*, a valid identifier must be provided as field_name. + "fieldName": "A String", # [Optional] If the qualifier is not a valid BigQuery field identifier i.e. does not match [a-zA-Z][a-zA-Z0-9_]*, a valid identifier must be provided as the column field name and is used as field name in queries. + "onlyReadLatest": True or False, # [Optional] If this is set, only the latest version of value in this column are exposed. 'onlyReadLatest' can also be set at the column family level. However, the setting at this level takes precedence if 'onlyReadLatest' is set at both levels. + "qualifierString": "A String", + "type": "A String", # [Optional] The type to convert the value in cells of this column. The values are expected to be encoded using HBase Bytes.toBytes function when using the BINARY encoding value. Following BigQuery types are allowed (case-sensitive) - BYTES STRING INTEGER FLOAT BOOLEAN Defaut type is BYTES. 'type' can also be set at the column family level. However, the setting at this level takes precedence if 'type' is set at both levels. + }, + ], + "encoding": "A String", # [Optional] The encoding of the values when the type is not STRING. Acceptable encoding values are: TEXT - indicates values are alphanumeric text strings. BINARY - indicates values are encoded using HBase Bytes.toBytes family of functions. This can be overridden for a specific column by listing that column in 'columns' and specifying an encoding for it. + }, + ], + }, + "sourceFormat": "A String", # [Required] The data format. For CSV files, specify "CSV". For Google sheets, specify "GOOGLE_SHEETS". For newline-delimited JSON, specify "NEWLINE_DELIMITED_JSON". For Avro files, specify "AVRO". For Google Cloud Datastore backups, specify "DATASTORE_BACKUP". [Experimental] For Google Cloud Bigtable, specify "BIGTABLE". Please note that reading from Google Cloud Bigtable is experimental and has to be enabled for your project. Please contact Google Cloud Support to enable this for your project. + "googleSheetsOptions": { # [Optional] Additional options if sourceFormat is set to GOOGLE_SHEETS. + "skipLeadingRows": "A String", # [Optional] The number of rows at the top of a sheet that BigQuery will skip when reading the data. The default value is 0. This property is useful if you have header rows that should be skipped. When autodetect is on, behavior is the following: * skipLeadingRows unspecified - Autodetect tries to detect headers in the first row. If they are not detected, the row is read as data. Otherwise data is read starting from the second row. * skipLeadingRows is 0 - Instructs autodetect that there are no headers and data should be read starting from the first row. * skipLeadingRows = N > 0 - Autodetect skips N-1 rows and tries to detect headers in row N. If headers are not detected, row N is just skipped. Otherwise row N is used to extract column names for the detected schema. + }, + "schema": { # [Optional] The schema for the data. Schema is required for CSV and JSON formats. Schema is disallowed for Google Cloud Bigtable, Cloud Datastore backups, and Avro formats. "fields": [ # Describes the fields in a table. { "fields": [ # [Optional] Describes the nested schema fields if the type property is set to RECORD. # Object with schema name: TableFieldSchema ], - "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema). + "type": "A String", # [Required] The field data type. Possible values include STRING, BYTES, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema). "description": "A String", # [Optional] The field description. The maximum length is 16K characters. "name": "A String", # [Required] The field name. The name must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_), and must start with a letter or underscore. The maximum length is 128 characters. "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE. @@ -407,6 +446,19 @@

Method Details

"datasetId": "A String", # [Required] The ID of the dataset containing this table. }, ], + "schema": { # [Output-only, Experimental] The schema of the results. Present only for successful dry run of non-legacy SQL queries. + "fields": [ # Describes the fields in a table. + { + "fields": [ # [Optional] Describes the nested schema fields if the type property is set to RECORD. + # Object with schema name: TableFieldSchema + ], + "type": "A String", # [Required] The field data type. Possible values include STRING, BYTES, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema). + "description": "A String", # [Optional] The field description. The maximum length is 16K characters. + "name": "A String", # [Required] The field name. The name must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_), and must start with a letter or underscore. The maximum length is 128 characters. + "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE. + }, + ], + }, }, "endTime": "A String", # [Output-only] End time of this job, in milliseconds since the epoch. This field will be present whenever a job is in the DONE state. "extract": { # [Output-only] Statistics for an extract job. @@ -423,9 +475,10 @@

Method Details

"user_email": "A String", # [Output-only] Email address of the user who ran the job. "configuration": { # [Required] Describes the job configuration. "load": { # [Pick one] Configures a load job. + "sourceFormat": "A String", # [Optional] The format of the data files. For CSV files, specify "CSV". For datastore backups, specify "DATASTORE_BACKUP". For newline-delimited JSON, specify "NEWLINE_DELIMITED_JSON". For Avro, specify "AVRO". The default value is CSV. "encoding": "A String", # [Optional] The character encoding of the data. The supported values are UTF-8 or ISO-8859-1. The default value is UTF-8. BigQuery decodes the data after the raw, binary data has been split using the values of the quote and fieldDelimiter properties. "fieldDelimiter": "A String", # [Optional] The separator for fields in a CSV file. The separator can be any ISO-8859-1 single-byte character. To use a character in the range 128-255, you must encode the character as UTF8. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. BigQuery also supports the escape sequence "\t" to specify a tab separator. The default value is a comma (','). - "sourceFormat": "A String", # [Optional] The format of the data files. For CSV files, specify "CSV". For datastore backups, specify "DATASTORE_BACKUP". For newline-delimited JSON, specify "NEWLINE_DELIMITED_JSON". The default value is CSV. + "autodetect": True or False, # [Experimental] Indicates if we should automatically infer the options and schema for CSV and JSON sources. "destinationTable": { # [Required] The destination table to load the data into. "projectId": "A String", # [Required] The ID of the project containing this table. "tableId": "A String", # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters. @@ -453,7 +506,7 @@

Method Details

"fields": [ # [Optional] Describes the nested schema fields if the type property is set to RECORD. # Object with schema name: TableFieldSchema ], - "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema). + "type": "A String", # [Required] The field data type. Possible values include STRING, BYTES, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema). "description": "A String", # [Optional] The field description. The maximum length is 16K characters. "name": "A String", # [Required] The field name. The name must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_), and must start with a letter or underscore. The maximum length is 128 characters. "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE. @@ -506,7 +559,7 @@

Method Details

"projectId": "A String", # [Optional] The ID of the project containing this dataset. "datasetId": "A String", # [Required] A unique ID for this dataset, without the project name. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters. }, - "useLegacySql": True or False, # [Experimental] Specifies whether to use BigQuery's legacy SQL dialect for this query. The default value is true. If set to false, the query will use BigQuery's updated SQL dialect with improved standards compliance. When using BigQuery's updated SQL, the values of allowLargeResults and flattenResults are ignored. Queries with useLegacySql set to false will be run as if allowLargeResults is true and flattenResults is false. + "useLegacySql": True or False, # [Experimental] Specifies whether to use BigQuery's legacy SQL dialect for this query. The default value is true. If set to false, the query will use BigQuery's standard SQL: https://cloud.google.com/bigquery/sql-reference/ When useLegacySql is set to false, the values of allowLargeResults and flattenResults are ignored; query will be run as if allowLargeResults is true and flattenResults is false. "destinationTable": { # [Optional] Describes the table where the query results should be stored. If not present, a new table will be created to store the results. "projectId": "A String", # [Required] The ID of the project containing this table. "tableId": "A String", # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters. @@ -520,28 +573,53 @@

Method Details

"preserveNulls": True or False, # [Deprecated] This property is deprecated. "tableDefinitions": { # [Optional] If querying an external data source outside of BigQuery, describes the data format, location and other properties of the data source. By defining these properties, the data source can then be queried as if it were a standard BigQuery table. "a_key": { - "compression": "A String", # [Optional] The compression type of the data source. Possible values include GZIP and NONE. The default value is NONE. This setting is ignored for Google Cloud Datastore backups. + "compression": "A String", # [Optional] The compression type of the data source. Possible values include GZIP and NONE. The default value is NONE. This setting is ignored for Google Cloud Bigtable, Google Cloud Datastore backups and Avro formats. "csvOptions": { # Additional properties to set if sourceFormat is set to CSV. "fieldDelimiter": "A String", # [Optional] The separator for fields in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. BigQuery also supports the escape sequence "\t" to specify a tab separator. The default value is a comma (','). "encoding": "A String", # [Optional] The character encoding of the data. The supported values are UTF-8 or ISO-8859-1. The default value is UTF-8. BigQuery decodes the data after the raw, binary data has been split using the values of the quote and fieldDelimiter properties. - "skipLeadingRows": 42, # [Optional] The number of rows at the top of a CSV file that BigQuery will skip when reading the data. The default value is 0. This property is useful if you have header rows in the file that should be skipped. + "skipLeadingRows": "A String", # [Optional] The number of rows at the top of a CSV file that BigQuery will skip when reading the data. The default value is 0. This property is useful if you have header rows in the file that should be skipped. "allowJaggedRows": True or False, # [Optional] Indicates if BigQuery should accept rows that are missing trailing optional columns. If true, BigQuery treats missing trailing columns as null values. If false, records with missing trailing columns are treated as bad records, and if there are too many bad records, an invalid error is returned in the job result. The default value is false. "quote": """, # [Optional] The value that is used to quote data sections in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. The default value is a double-quote ('"'). If your data does not contain quoted sections, set the property value to an empty string. If your data contains quoted newline characters, you must also set the allowQuotedNewlines property to true. "allowQuotedNewlines": True or False, # [Optional] Indicates if BigQuery should allow quoted data sections that contain newline characters in a CSV file. The default value is false. }, - "sourceFormat": "A String", # [Required] The data format. For CSV files, specify "CSV". For newline-delimited JSON, specify "NEWLINE_DELIMITED_JSON". For Google Cloud Datastore backups, specify "DATASTORE_BACKUP". - "maxBadRecords": 42, # [Optional] The maximum number of bad records that BigQuery can ignore when reading data. If the number of bad records exceeds this value, an invalid error is returned in the job result. The default value is 0, which requires that all records are valid. This setting is ignored for Google Cloud Datastore backups. - "ignoreUnknownValues": True or False, # [Optional] Indicates if BigQuery should allow extra values that are not represented in the table schema. If true, the extra values are ignored. If false, records with extra columns are treated as bad records, and if there are too many bad records, an invalid error is returned in the job result. The default value is false. The sourceFormat property determines what BigQuery treats as an extra value: CSV: Trailing columns JSON: Named values that don't match any column names Google Cloud Datastore backups: This setting is ignored. - "sourceUris": [ # [Required] The fully-qualified URIs that point to your data in Google Cloud Storage. Each URI can contain one '*' wildcard character and it must come after the 'bucket' name. Size limits related to load jobs apply to external data sources, plus an additional limit of 10 GB maximum size across all URIs. For Google Cloud Datastore backups, exactly one URI can be specified, and it must end with '.backup_info'. Also, the '*' wildcard character is not allowed. + "autodetect": True or False, # [Experimental] Try to detect schema and format options automatically. Any option specified explicitly will be honored. + "maxBadRecords": 42, # [Optional] The maximum number of bad records that BigQuery can ignore when reading data. If the number of bad records exceeds this value, an invalid error is returned in the job result. The default value is 0, which requires that all records are valid. This setting is ignored for Google Cloud Bigtable, Google Cloud Datastore backups and Avro formats. + "ignoreUnknownValues": True or False, # [Optional] Indicates if BigQuery should allow extra values that are not represented in the table schema. If true, the extra values are ignored. If false, records with extra columns are treated as bad records, and if there are too many bad records, an invalid error is returned in the job result. The default value is false. The sourceFormat property determines what BigQuery treats as an extra value: CSV: Trailing columns JSON: Named values that don't match any column names Google Cloud Bigtable: This setting is ignored. Google Cloud Datastore backups: This setting is ignored. Avro: This setting is ignored. + "sourceUris": [ # [Required] The fully-qualified URIs that point to your data in Google Cloud. For Google Cloud Storage URIs: Each URI can contain one '*' wildcard character and it must come after the 'bucket' name. Size limits related to load jobs apply to external data sources. For Google Cloud Bigtable URIs: Exactly one URI can be specified and it has be a fully specified and valid HTTPS URL for a Google Cloud Bigtable table. For Google Cloud Datastore backups, exactly one URI can be specified, and it must end with '.backup_info'. Also, the '*' wildcard character is not allowed. "A String", ], - "schema": { # [Optional] The schema for the data. Schema is required for CSV and JSON formats. Schema is disallowed for Google Cloud Datastore backups. + "bigtableOptions": { # [Optional] Additional options if sourceFormat is set to BIGTABLE. + "ignoreUnspecifiedColumnFamilies": True or False, # [Optional] If field is true, then the column families that are not specified in columnFamilies list are not exposed in the table schema. Otherwise, they are read with BYTES type values. The default value is false. + "columnFamilies": [ # [Optional] List of column families to expose in the table schema along with their types. This list restricts the column families that can be referenced in queries and specifies their value types. You can use this list to do type conversions - see the 'type' field for more details. If you leave this list empty, all column families are present in the table schema and their values are read as BYTES. During a query only the column families referenced in that query are read from Bigtable. + { + "familyId": "A String", # Identifier of the column family. + "type": "A String", # [Optional] The type to convert the value in cells of this column family. The values are expected to be encoded using HBase Bytes.toBytes function when using the BINARY encoding value. Following BigQuery types are allowed (case-sensitive) - BYTES STRING INTEGER FLOAT BOOLEAN Defaut type is BYTES. This can be overridden for a specific column by listing that column in 'columns' and specifying a type for it. + "onlyReadLatest": True or False, # [Optional] If this is set only the latest version of value are exposed for all columns in this column family. This can be overridden for a specific column by listing that column in 'columns' and specifying a different setting for that column. + "columns": [ # [Optional] Lists of columns that should be exposed as individual fields as opposed to a list of (column name, value) pairs. All columns whose qualifier matches a qualifier in this list can be accessed as .. Other columns can be accessed as a list through .Column field. + { + "encoding": "A String", # [Optional] The encoding of the values when the type is not STRING. Acceptable encoding values are: TEXT - indicates values are alphanumeric text strings. BINARY - indicates values are encoded using HBase Bytes.toBytes family of functions. 'encoding' can also be set at the column family level. However, the setting at this level takes precedence if 'encoding' is set at both levels. + "qualifierEncoded": "A String", # [Required] Qualifier of the column. Columns in the parent column family that has this exact qualifier are exposed as . field. If the qualifier is valid UTF-8 string, it can be specified in the qualifier_string field. Otherwise, a base-64 encoded value must be set to qualifier_encoded. The column field name is the same as the column qualifier. However, if the qualifier is not a valid BigQuery field identifier i.e. does not match [a-zA-Z][a-zA-Z0-9_]*, a valid identifier must be provided as field_name. + "fieldName": "A String", # [Optional] If the qualifier is not a valid BigQuery field identifier i.e. does not match [a-zA-Z][a-zA-Z0-9_]*, a valid identifier must be provided as the column field name and is used as field name in queries. + "onlyReadLatest": True or False, # [Optional] If this is set, only the latest version of value in this column are exposed. 'onlyReadLatest' can also be set at the column family level. However, the setting at this level takes precedence if 'onlyReadLatest' is set at both levels. + "qualifierString": "A String", + "type": "A String", # [Optional] The type to convert the value in cells of this column. The values are expected to be encoded using HBase Bytes.toBytes function when using the BINARY encoding value. Following BigQuery types are allowed (case-sensitive) - BYTES STRING INTEGER FLOAT BOOLEAN Defaut type is BYTES. 'type' can also be set at the column family level. However, the setting at this level takes precedence if 'type' is set at both levels. + }, + ], + "encoding": "A String", # [Optional] The encoding of the values when the type is not STRING. Acceptable encoding values are: TEXT - indicates values are alphanumeric text strings. BINARY - indicates values are encoded using HBase Bytes.toBytes family of functions. This can be overridden for a specific column by listing that column in 'columns' and specifying an encoding for it. + }, + ], + }, + "sourceFormat": "A String", # [Required] The data format. For CSV files, specify "CSV". For Google sheets, specify "GOOGLE_SHEETS". For newline-delimited JSON, specify "NEWLINE_DELIMITED_JSON". For Avro files, specify "AVRO". For Google Cloud Datastore backups, specify "DATASTORE_BACKUP". [Experimental] For Google Cloud Bigtable, specify "BIGTABLE". Please note that reading from Google Cloud Bigtable is experimental and has to be enabled for your project. Please contact Google Cloud Support to enable this for your project. + "googleSheetsOptions": { # [Optional] Additional options if sourceFormat is set to GOOGLE_SHEETS. + "skipLeadingRows": "A String", # [Optional] The number of rows at the top of a sheet that BigQuery will skip when reading the data. The default value is 0. This property is useful if you have header rows that should be skipped. When autodetect is on, behavior is the following: * skipLeadingRows unspecified - Autodetect tries to detect headers in the first row. If they are not detected, the row is read as data. Otherwise data is read starting from the second row. * skipLeadingRows is 0 - Instructs autodetect that there are no headers and data should be read starting from the first row. * skipLeadingRows = N > 0 - Autodetect skips N-1 rows and tries to detect headers in row N. If headers are not detected, row N is just skipped. Otherwise row N is used to extract column names for the detected schema. + }, + "schema": { # [Optional] The schema for the data. Schema is required for CSV and JSON formats. Schema is disallowed for Google Cloud Bigtable, Cloud Datastore backups, and Avro formats. "fields": [ # Describes the fields in a table. { "fields": [ # [Optional] Describes the nested schema fields if the type property is set to RECORD. # Object with schema name: TableFieldSchema ], - "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema). + "type": "A String", # [Required] The field data type. Possible values include STRING, BYTES, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema). "description": "A String", # [Optional] The field description. The maximum length is 16K characters. "name": "A String", # [Required] The field name. The name must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_), and must start with a letter or underscore. The maximum length is 128 characters. "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE. @@ -613,7 +691,7 @@

Method Details

"fields": [ # [Optional] Describes the nested schema fields if the type property is set to RECORD. # Object with schema name: TableFieldSchema ], - "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema). + "type": "A String", # [Required] The field data type. Possible values include STRING, BYTES, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema). "description": "A String", # [Optional] The field description. The maximum length is 16K characters. "name": "A String", # [Required] The field name. The name must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_), and must start with a letter or underscore. The maximum length is 128 characters. "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE. @@ -697,6 +775,19 @@

Method Details

"datasetId": "A String", # [Required] The ID of the dataset containing this table. }, ], + "schema": { # [Output-only, Experimental] The schema of the results. Present only for successful dry run of non-legacy SQL queries. + "fields": [ # Describes the fields in a table. + { + "fields": [ # [Optional] Describes the nested schema fields if the type property is set to RECORD. + # Object with schema name: TableFieldSchema + ], + "type": "A String", # [Required] The field data type. Possible values include STRING, BYTES, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema). + "description": "A String", # [Optional] The field description. The maximum length is 16K characters. + "name": "A String", # [Required] The field name. The name must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_), and must start with a letter or underscore. The maximum length is 128 characters. + "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE. + }, + ], + }, }, "endTime": "A String", # [Output-only] End time of this job, in milliseconds since the epoch. This field will be present whenever a job is in the DONE state. "extract": { # [Output-only] Statistics for an extract job. @@ -713,9 +804,10 @@

Method Details

"user_email": "A String", # [Output-only] Email address of the user who ran the job. "configuration": { # [Required] Describes the job configuration. "load": { # [Pick one] Configures a load job. + "sourceFormat": "A String", # [Optional] The format of the data files. For CSV files, specify "CSV". For datastore backups, specify "DATASTORE_BACKUP". For newline-delimited JSON, specify "NEWLINE_DELIMITED_JSON". For Avro, specify "AVRO". The default value is CSV. "encoding": "A String", # [Optional] The character encoding of the data. The supported values are UTF-8 or ISO-8859-1. The default value is UTF-8. BigQuery decodes the data after the raw, binary data has been split using the values of the quote and fieldDelimiter properties. "fieldDelimiter": "A String", # [Optional] The separator for fields in a CSV file. The separator can be any ISO-8859-1 single-byte character. To use a character in the range 128-255, you must encode the character as UTF8. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. BigQuery also supports the escape sequence "\t" to specify a tab separator. The default value is a comma (','). - "sourceFormat": "A String", # [Optional] The format of the data files. For CSV files, specify "CSV". For datastore backups, specify "DATASTORE_BACKUP". For newline-delimited JSON, specify "NEWLINE_DELIMITED_JSON". The default value is CSV. + "autodetect": True or False, # [Experimental] Indicates if we should automatically infer the options and schema for CSV and JSON sources. "destinationTable": { # [Required] The destination table to load the data into. "projectId": "A String", # [Required] The ID of the project containing this table. "tableId": "A String", # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters. @@ -743,7 +835,7 @@

Method Details

"fields": [ # [Optional] Describes the nested schema fields if the type property is set to RECORD. # Object with schema name: TableFieldSchema ], - "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema). + "type": "A String", # [Required] The field data type. Possible values include STRING, BYTES, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema). "description": "A String", # [Optional] The field description. The maximum length is 16K characters. "name": "A String", # [Required] The field name. The name must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_), and must start with a letter or underscore. The maximum length is 128 characters. "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE. @@ -796,7 +888,7 @@

Method Details

"projectId": "A String", # [Optional] The ID of the project containing this dataset. "datasetId": "A String", # [Required] A unique ID for this dataset, without the project name. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters. }, - "useLegacySql": True or False, # [Experimental] Specifies whether to use BigQuery's legacy SQL dialect for this query. The default value is true. If set to false, the query will use BigQuery's updated SQL dialect with improved standards compliance. When using BigQuery's updated SQL, the values of allowLargeResults and flattenResults are ignored. Queries with useLegacySql set to false will be run as if allowLargeResults is true and flattenResults is false. + "useLegacySql": True or False, # [Experimental] Specifies whether to use BigQuery's legacy SQL dialect for this query. The default value is true. If set to false, the query will use BigQuery's standard SQL: https://cloud.google.com/bigquery/sql-reference/ When useLegacySql is set to false, the values of allowLargeResults and flattenResults are ignored; query will be run as if allowLargeResults is true and flattenResults is false. "destinationTable": { # [Optional] Describes the table where the query results should be stored. If not present, a new table will be created to store the results. "projectId": "A String", # [Required] The ID of the project containing this table. "tableId": "A String", # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters. @@ -810,28 +902,53 @@

Method Details

"preserveNulls": True or False, # [Deprecated] This property is deprecated. "tableDefinitions": { # [Optional] If querying an external data source outside of BigQuery, describes the data format, location and other properties of the data source. By defining these properties, the data source can then be queried as if it were a standard BigQuery table. "a_key": { - "compression": "A String", # [Optional] The compression type of the data source. Possible values include GZIP and NONE. The default value is NONE. This setting is ignored for Google Cloud Datastore backups. + "compression": "A String", # [Optional] The compression type of the data source. Possible values include GZIP and NONE. The default value is NONE. This setting is ignored for Google Cloud Bigtable, Google Cloud Datastore backups and Avro formats. "csvOptions": { # Additional properties to set if sourceFormat is set to CSV. "fieldDelimiter": "A String", # [Optional] The separator for fields in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. BigQuery also supports the escape sequence "\t" to specify a tab separator. The default value is a comma (','). "encoding": "A String", # [Optional] The character encoding of the data. The supported values are UTF-8 or ISO-8859-1. The default value is UTF-8. BigQuery decodes the data after the raw, binary data has been split using the values of the quote and fieldDelimiter properties. - "skipLeadingRows": 42, # [Optional] The number of rows at the top of a CSV file that BigQuery will skip when reading the data. The default value is 0. This property is useful if you have header rows in the file that should be skipped. + "skipLeadingRows": "A String", # [Optional] The number of rows at the top of a CSV file that BigQuery will skip when reading the data. The default value is 0. This property is useful if you have header rows in the file that should be skipped. "allowJaggedRows": True or False, # [Optional] Indicates if BigQuery should accept rows that are missing trailing optional columns. If true, BigQuery treats missing trailing columns as null values. If false, records with missing trailing columns are treated as bad records, and if there are too many bad records, an invalid error is returned in the job result. The default value is false. "quote": """, # [Optional] The value that is used to quote data sections in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. The default value is a double-quote ('"'). If your data does not contain quoted sections, set the property value to an empty string. If your data contains quoted newline characters, you must also set the allowQuotedNewlines property to true. "allowQuotedNewlines": True or False, # [Optional] Indicates if BigQuery should allow quoted data sections that contain newline characters in a CSV file. The default value is false. }, - "sourceFormat": "A String", # [Required] The data format. For CSV files, specify "CSV". For newline-delimited JSON, specify "NEWLINE_DELIMITED_JSON". For Google Cloud Datastore backups, specify "DATASTORE_BACKUP". - "maxBadRecords": 42, # [Optional] The maximum number of bad records that BigQuery can ignore when reading data. If the number of bad records exceeds this value, an invalid error is returned in the job result. The default value is 0, which requires that all records are valid. This setting is ignored for Google Cloud Datastore backups. - "ignoreUnknownValues": True or False, # [Optional] Indicates if BigQuery should allow extra values that are not represented in the table schema. If true, the extra values are ignored. If false, records with extra columns are treated as bad records, and if there are too many bad records, an invalid error is returned in the job result. The default value is false. The sourceFormat property determines what BigQuery treats as an extra value: CSV: Trailing columns JSON: Named values that don't match any column names Google Cloud Datastore backups: This setting is ignored. - "sourceUris": [ # [Required] The fully-qualified URIs that point to your data in Google Cloud Storage. Each URI can contain one '*' wildcard character and it must come after the 'bucket' name. Size limits related to load jobs apply to external data sources, plus an additional limit of 10 GB maximum size across all URIs. For Google Cloud Datastore backups, exactly one URI can be specified, and it must end with '.backup_info'. Also, the '*' wildcard character is not allowed. + "autodetect": True or False, # [Experimental] Try to detect schema and format options automatically. Any option specified explicitly will be honored. + "maxBadRecords": 42, # [Optional] The maximum number of bad records that BigQuery can ignore when reading data. If the number of bad records exceeds this value, an invalid error is returned in the job result. The default value is 0, which requires that all records are valid. This setting is ignored for Google Cloud Bigtable, Google Cloud Datastore backups and Avro formats. + "ignoreUnknownValues": True or False, # [Optional] Indicates if BigQuery should allow extra values that are not represented in the table schema. If true, the extra values are ignored. If false, records with extra columns are treated as bad records, and if there are too many bad records, an invalid error is returned in the job result. The default value is false. The sourceFormat property determines what BigQuery treats as an extra value: CSV: Trailing columns JSON: Named values that don't match any column names Google Cloud Bigtable: This setting is ignored. Google Cloud Datastore backups: This setting is ignored. Avro: This setting is ignored. + "sourceUris": [ # [Required] The fully-qualified URIs that point to your data in Google Cloud. For Google Cloud Storage URIs: Each URI can contain one '*' wildcard character and it must come after the 'bucket' name. Size limits related to load jobs apply to external data sources. For Google Cloud Bigtable URIs: Exactly one URI can be specified and it has be a fully specified and valid HTTPS URL for a Google Cloud Bigtable table. For Google Cloud Datastore backups, exactly one URI can be specified, and it must end with '.backup_info'. Also, the '*' wildcard character is not allowed. "A String", ], - "schema": { # [Optional] The schema for the data. Schema is required for CSV and JSON formats. Schema is disallowed for Google Cloud Datastore backups. + "bigtableOptions": { # [Optional] Additional options if sourceFormat is set to BIGTABLE. + "ignoreUnspecifiedColumnFamilies": True or False, # [Optional] If field is true, then the column families that are not specified in columnFamilies list are not exposed in the table schema. Otherwise, they are read with BYTES type values. The default value is false. + "columnFamilies": [ # [Optional] List of column families to expose in the table schema along with their types. This list restricts the column families that can be referenced in queries and specifies their value types. You can use this list to do type conversions - see the 'type' field for more details. If you leave this list empty, all column families are present in the table schema and their values are read as BYTES. During a query only the column families referenced in that query are read from Bigtable. + { + "familyId": "A String", # Identifier of the column family. + "type": "A String", # [Optional] The type to convert the value in cells of this column family. The values are expected to be encoded using HBase Bytes.toBytes function when using the BINARY encoding value. Following BigQuery types are allowed (case-sensitive) - BYTES STRING INTEGER FLOAT BOOLEAN Defaut type is BYTES. This can be overridden for a specific column by listing that column in 'columns' and specifying a type for it. + "onlyReadLatest": True or False, # [Optional] If this is set only the latest version of value are exposed for all columns in this column family. This can be overridden for a specific column by listing that column in 'columns' and specifying a different setting for that column. + "columns": [ # [Optional] Lists of columns that should be exposed as individual fields as opposed to a list of (column name, value) pairs. All columns whose qualifier matches a qualifier in this list can be accessed as .. Other columns can be accessed as a list through .Column field. + { + "encoding": "A String", # [Optional] The encoding of the values when the type is not STRING. Acceptable encoding values are: TEXT - indicates values are alphanumeric text strings. BINARY - indicates values are encoded using HBase Bytes.toBytes family of functions. 'encoding' can also be set at the column family level. However, the setting at this level takes precedence if 'encoding' is set at both levels. + "qualifierEncoded": "A String", # [Required] Qualifier of the column. Columns in the parent column family that has this exact qualifier are exposed as . field. If the qualifier is valid UTF-8 string, it can be specified in the qualifier_string field. Otherwise, a base-64 encoded value must be set to qualifier_encoded. The column field name is the same as the column qualifier. However, if the qualifier is not a valid BigQuery field identifier i.e. does not match [a-zA-Z][a-zA-Z0-9_]*, a valid identifier must be provided as field_name. + "fieldName": "A String", # [Optional] If the qualifier is not a valid BigQuery field identifier i.e. does not match [a-zA-Z][a-zA-Z0-9_]*, a valid identifier must be provided as the column field name and is used as field name in queries. + "onlyReadLatest": True or False, # [Optional] If this is set, only the latest version of value in this column are exposed. 'onlyReadLatest' can also be set at the column family level. However, the setting at this level takes precedence if 'onlyReadLatest' is set at both levels. + "qualifierString": "A String", + "type": "A String", # [Optional] The type to convert the value in cells of this column. The values are expected to be encoded using HBase Bytes.toBytes function when using the BINARY encoding value. Following BigQuery types are allowed (case-sensitive) - BYTES STRING INTEGER FLOAT BOOLEAN Defaut type is BYTES. 'type' can also be set at the column family level. However, the setting at this level takes precedence if 'type' is set at both levels. + }, + ], + "encoding": "A String", # [Optional] The encoding of the values when the type is not STRING. Acceptable encoding values are: TEXT - indicates values are alphanumeric text strings. BINARY - indicates values are encoded using HBase Bytes.toBytes family of functions. This can be overridden for a specific column by listing that column in 'columns' and specifying an encoding for it. + }, + ], + }, + "sourceFormat": "A String", # [Required] The data format. For CSV files, specify "CSV". For Google sheets, specify "GOOGLE_SHEETS". For newline-delimited JSON, specify "NEWLINE_DELIMITED_JSON". For Avro files, specify "AVRO". For Google Cloud Datastore backups, specify "DATASTORE_BACKUP". [Experimental] For Google Cloud Bigtable, specify "BIGTABLE". Please note that reading from Google Cloud Bigtable is experimental and has to be enabled for your project. Please contact Google Cloud Support to enable this for your project. + "googleSheetsOptions": { # [Optional] Additional options if sourceFormat is set to GOOGLE_SHEETS. + "skipLeadingRows": "A String", # [Optional] The number of rows at the top of a sheet that BigQuery will skip when reading the data. The default value is 0. This property is useful if you have header rows that should be skipped. When autodetect is on, behavior is the following: * skipLeadingRows unspecified - Autodetect tries to detect headers in the first row. If they are not detected, the row is read as data. Otherwise data is read starting from the second row. * skipLeadingRows is 0 - Instructs autodetect that there are no headers and data should be read starting from the first row. * skipLeadingRows = N > 0 - Autodetect skips N-1 rows and tries to detect headers in row N. If headers are not detected, row N is just skipped. Otherwise row N is used to extract column names for the detected schema. + }, + "schema": { # [Optional] The schema for the data. Schema is required for CSV and JSON formats. Schema is disallowed for Google Cloud Bigtable, Cloud Datastore backups, and Avro formats. "fields": [ # Describes the fields in a table. { "fields": [ # [Optional] Describes the nested schema fields if the type property is set to RECORD. # Object with schema name: TableFieldSchema ], - "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema). + "type": "A String", # [Required] The field data type. Possible values include STRING, BYTES, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema). "description": "A String", # [Optional] The field description. The maximum length is 16K characters. "name": "A String", # [Required] The field name. The name must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_), and must start with a letter or underscore. The maximum length is 128 characters. "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE. @@ -922,6 +1039,19 @@

Method Details

"datasetId": "A String", # [Required] The ID of the dataset containing this table. }, ], + "schema": { # [Output-only, Experimental] The schema of the results. Present only for successful dry run of non-legacy SQL queries. + "fields": [ # Describes the fields in a table. + { + "fields": [ # [Optional] Describes the nested schema fields if the type property is set to RECORD. + # Object with schema name: TableFieldSchema + ], + "type": "A String", # [Required] The field data type. Possible values include STRING, BYTES, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema). + "description": "A String", # [Optional] The field description. The maximum length is 16K characters. + "name": "A String", # [Required] The field name. The name must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_), and must start with a letter or underscore. The maximum length is 128 characters. + "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE. + }, + ], + }, }, "endTime": "A String", # [Output-only] End time of this job, in milliseconds since the epoch. This field will be present whenever a job is in the DONE state. "extract": { # [Output-only] Statistics for an extract job. @@ -938,9 +1068,10 @@

Method Details

"user_email": "A String", # [Output-only] Email address of the user who ran the job. "configuration": { # [Required] Describes the job configuration. "load": { # [Pick one] Configures a load job. + "sourceFormat": "A String", # [Optional] The format of the data files. For CSV files, specify "CSV". For datastore backups, specify "DATASTORE_BACKUP". For newline-delimited JSON, specify "NEWLINE_DELIMITED_JSON". For Avro, specify "AVRO". The default value is CSV. "encoding": "A String", # [Optional] The character encoding of the data. The supported values are UTF-8 or ISO-8859-1. The default value is UTF-8. BigQuery decodes the data after the raw, binary data has been split using the values of the quote and fieldDelimiter properties. "fieldDelimiter": "A String", # [Optional] The separator for fields in a CSV file. The separator can be any ISO-8859-1 single-byte character. To use a character in the range 128-255, you must encode the character as UTF8. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. BigQuery also supports the escape sequence "\t" to specify a tab separator. The default value is a comma (','). - "sourceFormat": "A String", # [Optional] The format of the data files. For CSV files, specify "CSV". For datastore backups, specify "DATASTORE_BACKUP". For newline-delimited JSON, specify "NEWLINE_DELIMITED_JSON". The default value is CSV. + "autodetect": True or False, # [Experimental] Indicates if we should automatically infer the options and schema for CSV and JSON sources. "destinationTable": { # [Required] The destination table to load the data into. "projectId": "A String", # [Required] The ID of the project containing this table. "tableId": "A String", # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters. @@ -968,7 +1099,7 @@

Method Details

"fields": [ # [Optional] Describes the nested schema fields if the type property is set to RECORD. # Object with schema name: TableFieldSchema ], - "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema). + "type": "A String", # [Required] The field data type. Possible values include STRING, BYTES, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema). "description": "A String", # [Optional] The field description. The maximum length is 16K characters. "name": "A String", # [Required] The field name. The name must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_), and must start with a letter or underscore. The maximum length is 128 characters. "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE. @@ -1021,7 +1152,7 @@

Method Details

"projectId": "A String", # [Optional] The ID of the project containing this dataset. "datasetId": "A String", # [Required] A unique ID for this dataset, without the project name. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters. }, - "useLegacySql": True or False, # [Experimental] Specifies whether to use BigQuery's legacy SQL dialect for this query. The default value is true. If set to false, the query will use BigQuery's updated SQL dialect with improved standards compliance. When using BigQuery's updated SQL, the values of allowLargeResults and flattenResults are ignored. Queries with useLegacySql set to false will be run as if allowLargeResults is true and flattenResults is false. + "useLegacySql": True or False, # [Experimental] Specifies whether to use BigQuery's legacy SQL dialect for this query. The default value is true. If set to false, the query will use BigQuery's standard SQL: https://cloud.google.com/bigquery/sql-reference/ When useLegacySql is set to false, the values of allowLargeResults and flattenResults are ignored; query will be run as if allowLargeResults is true and flattenResults is false. "destinationTable": { # [Optional] Describes the table where the query results should be stored. If not present, a new table will be created to store the results. "projectId": "A String", # [Required] The ID of the project containing this table. "tableId": "A String", # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters. @@ -1035,28 +1166,53 @@

Method Details

"preserveNulls": True or False, # [Deprecated] This property is deprecated. "tableDefinitions": { # [Optional] If querying an external data source outside of BigQuery, describes the data format, location and other properties of the data source. By defining these properties, the data source can then be queried as if it were a standard BigQuery table. "a_key": { - "compression": "A String", # [Optional] The compression type of the data source. Possible values include GZIP and NONE. The default value is NONE. This setting is ignored for Google Cloud Datastore backups. + "compression": "A String", # [Optional] The compression type of the data source. Possible values include GZIP and NONE. The default value is NONE. This setting is ignored for Google Cloud Bigtable, Google Cloud Datastore backups and Avro formats. "csvOptions": { # Additional properties to set if sourceFormat is set to CSV. "fieldDelimiter": "A String", # [Optional] The separator for fields in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. BigQuery also supports the escape sequence "\t" to specify a tab separator. The default value is a comma (','). "encoding": "A String", # [Optional] The character encoding of the data. The supported values are UTF-8 or ISO-8859-1. The default value is UTF-8. BigQuery decodes the data after the raw, binary data has been split using the values of the quote and fieldDelimiter properties. - "skipLeadingRows": 42, # [Optional] The number of rows at the top of a CSV file that BigQuery will skip when reading the data. The default value is 0. This property is useful if you have header rows in the file that should be skipped. + "skipLeadingRows": "A String", # [Optional] The number of rows at the top of a CSV file that BigQuery will skip when reading the data. The default value is 0. This property is useful if you have header rows in the file that should be skipped. "allowJaggedRows": True or False, # [Optional] Indicates if BigQuery should accept rows that are missing trailing optional columns. If true, BigQuery treats missing trailing columns as null values. If false, records with missing trailing columns are treated as bad records, and if there are too many bad records, an invalid error is returned in the job result. The default value is false. "quote": """, # [Optional] The value that is used to quote data sections in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. The default value is a double-quote ('"'). If your data does not contain quoted sections, set the property value to an empty string. If your data contains quoted newline characters, you must also set the allowQuotedNewlines property to true. "allowQuotedNewlines": True or False, # [Optional] Indicates if BigQuery should allow quoted data sections that contain newline characters in a CSV file. The default value is false. }, - "sourceFormat": "A String", # [Required] The data format. For CSV files, specify "CSV". For newline-delimited JSON, specify "NEWLINE_DELIMITED_JSON". For Google Cloud Datastore backups, specify "DATASTORE_BACKUP". - "maxBadRecords": 42, # [Optional] The maximum number of bad records that BigQuery can ignore when reading data. If the number of bad records exceeds this value, an invalid error is returned in the job result. The default value is 0, which requires that all records are valid. This setting is ignored for Google Cloud Datastore backups. - "ignoreUnknownValues": True or False, # [Optional] Indicates if BigQuery should allow extra values that are not represented in the table schema. If true, the extra values are ignored. If false, records with extra columns are treated as bad records, and if there are too many bad records, an invalid error is returned in the job result. The default value is false. The sourceFormat property determines what BigQuery treats as an extra value: CSV: Trailing columns JSON: Named values that don't match any column names Google Cloud Datastore backups: This setting is ignored. - "sourceUris": [ # [Required] The fully-qualified URIs that point to your data in Google Cloud Storage. Each URI can contain one '*' wildcard character and it must come after the 'bucket' name. Size limits related to load jobs apply to external data sources, plus an additional limit of 10 GB maximum size across all URIs. For Google Cloud Datastore backups, exactly one URI can be specified, and it must end with '.backup_info'. Also, the '*' wildcard character is not allowed. + "autodetect": True or False, # [Experimental] Try to detect schema and format options automatically. Any option specified explicitly will be honored. + "maxBadRecords": 42, # [Optional] The maximum number of bad records that BigQuery can ignore when reading data. If the number of bad records exceeds this value, an invalid error is returned in the job result. The default value is 0, which requires that all records are valid. This setting is ignored for Google Cloud Bigtable, Google Cloud Datastore backups and Avro formats. + "ignoreUnknownValues": True or False, # [Optional] Indicates if BigQuery should allow extra values that are not represented in the table schema. If true, the extra values are ignored. If false, records with extra columns are treated as bad records, and if there are too many bad records, an invalid error is returned in the job result. The default value is false. The sourceFormat property determines what BigQuery treats as an extra value: CSV: Trailing columns JSON: Named values that don't match any column names Google Cloud Bigtable: This setting is ignored. Google Cloud Datastore backups: This setting is ignored. Avro: This setting is ignored. + "sourceUris": [ # [Required] The fully-qualified URIs that point to your data in Google Cloud. For Google Cloud Storage URIs: Each URI can contain one '*' wildcard character and it must come after the 'bucket' name. Size limits related to load jobs apply to external data sources. For Google Cloud Bigtable URIs: Exactly one URI can be specified and it has be a fully specified and valid HTTPS URL for a Google Cloud Bigtable table. For Google Cloud Datastore backups, exactly one URI can be specified, and it must end with '.backup_info'. Also, the '*' wildcard character is not allowed. "A String", ], - "schema": { # [Optional] The schema for the data. Schema is required for CSV and JSON formats. Schema is disallowed for Google Cloud Datastore backups. + "bigtableOptions": { # [Optional] Additional options if sourceFormat is set to BIGTABLE. + "ignoreUnspecifiedColumnFamilies": True or False, # [Optional] If field is true, then the column families that are not specified in columnFamilies list are not exposed in the table schema. Otherwise, they are read with BYTES type values. The default value is false. + "columnFamilies": [ # [Optional] List of column families to expose in the table schema along with their types. This list restricts the column families that can be referenced in queries and specifies their value types. You can use this list to do type conversions - see the 'type' field for more details. If you leave this list empty, all column families are present in the table schema and their values are read as BYTES. During a query only the column families referenced in that query are read from Bigtable. + { + "familyId": "A String", # Identifier of the column family. + "type": "A String", # [Optional] The type to convert the value in cells of this column family. The values are expected to be encoded using HBase Bytes.toBytes function when using the BINARY encoding value. Following BigQuery types are allowed (case-sensitive) - BYTES STRING INTEGER FLOAT BOOLEAN Defaut type is BYTES. This can be overridden for a specific column by listing that column in 'columns' and specifying a type for it. + "onlyReadLatest": True or False, # [Optional] If this is set only the latest version of value are exposed for all columns in this column family. This can be overridden for a specific column by listing that column in 'columns' and specifying a different setting for that column. + "columns": [ # [Optional] Lists of columns that should be exposed as individual fields as opposed to a list of (column name, value) pairs. All columns whose qualifier matches a qualifier in this list can be accessed as .. Other columns can be accessed as a list through .Column field. + { + "encoding": "A String", # [Optional] The encoding of the values when the type is not STRING. Acceptable encoding values are: TEXT - indicates values are alphanumeric text strings. BINARY - indicates values are encoded using HBase Bytes.toBytes family of functions. 'encoding' can also be set at the column family level. However, the setting at this level takes precedence if 'encoding' is set at both levels. + "qualifierEncoded": "A String", # [Required] Qualifier of the column. Columns in the parent column family that has this exact qualifier are exposed as . field. If the qualifier is valid UTF-8 string, it can be specified in the qualifier_string field. Otherwise, a base-64 encoded value must be set to qualifier_encoded. The column field name is the same as the column qualifier. However, if the qualifier is not a valid BigQuery field identifier i.e. does not match [a-zA-Z][a-zA-Z0-9_]*, a valid identifier must be provided as field_name. + "fieldName": "A String", # [Optional] If the qualifier is not a valid BigQuery field identifier i.e. does not match [a-zA-Z][a-zA-Z0-9_]*, a valid identifier must be provided as the column field name and is used as field name in queries. + "onlyReadLatest": True or False, # [Optional] If this is set, only the latest version of value in this column are exposed. 'onlyReadLatest' can also be set at the column family level. However, the setting at this level takes precedence if 'onlyReadLatest' is set at both levels. + "qualifierString": "A String", + "type": "A String", # [Optional] The type to convert the value in cells of this column. The values are expected to be encoded using HBase Bytes.toBytes function when using the BINARY encoding value. Following BigQuery types are allowed (case-sensitive) - BYTES STRING INTEGER FLOAT BOOLEAN Defaut type is BYTES. 'type' can also be set at the column family level. However, the setting at this level takes precedence if 'type' is set at both levels. + }, + ], + "encoding": "A String", # [Optional] The encoding of the values when the type is not STRING. Acceptable encoding values are: TEXT - indicates values are alphanumeric text strings. BINARY - indicates values are encoded using HBase Bytes.toBytes family of functions. This can be overridden for a specific column by listing that column in 'columns' and specifying an encoding for it. + }, + ], + }, + "sourceFormat": "A String", # [Required] The data format. For CSV files, specify "CSV". For Google sheets, specify "GOOGLE_SHEETS". For newline-delimited JSON, specify "NEWLINE_DELIMITED_JSON". For Avro files, specify "AVRO". For Google Cloud Datastore backups, specify "DATASTORE_BACKUP". [Experimental] For Google Cloud Bigtable, specify "BIGTABLE". Please note that reading from Google Cloud Bigtable is experimental and has to be enabled for your project. Please contact Google Cloud Support to enable this for your project. + "googleSheetsOptions": { # [Optional] Additional options if sourceFormat is set to GOOGLE_SHEETS. + "skipLeadingRows": "A String", # [Optional] The number of rows at the top of a sheet that BigQuery will skip when reading the data. The default value is 0. This property is useful if you have header rows that should be skipped. When autodetect is on, behavior is the following: * skipLeadingRows unspecified - Autodetect tries to detect headers in the first row. If they are not detected, the row is read as data. Otherwise data is read starting from the second row. * skipLeadingRows is 0 - Instructs autodetect that there are no headers and data should be read starting from the first row. * skipLeadingRows = N > 0 - Autodetect skips N-1 rows and tries to detect headers in row N. If headers are not detected, row N is just skipped. Otherwise row N is used to extract column names for the detected schema. + }, + "schema": { # [Optional] The schema for the data. Schema is required for CSV and JSON formats. Schema is disallowed for Google Cloud Bigtable, Cloud Datastore backups, and Avro formats. "fields": [ # Describes the fields in a table. { "fields": [ # [Optional] Describes the nested schema fields if the type property is set to RECORD. # Object with schema name: TableFieldSchema ], - "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema). + "type": "A String", # [Required] The field data type. Possible values include STRING, BYTES, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema). "description": "A String", # [Optional] The field description. The maximum length is 16K characters. "name": "A String", # [Required] The field name. The name must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_), and must start with a letter or underscore. The maximum length is 128 characters. "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE. @@ -1170,6 +1326,19 @@

Method Details

"datasetId": "A String", # [Required] The ID of the dataset containing this table. }, ], + "schema": { # [Output-only, Experimental] The schema of the results. Present only for successful dry run of non-legacy SQL queries. + "fields": [ # Describes the fields in a table. + { + "fields": [ # [Optional] Describes the nested schema fields if the type property is set to RECORD. + # Object with schema name: TableFieldSchema + ], + "type": "A String", # [Required] The field data type. Possible values include STRING, BYTES, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema). + "description": "A String", # [Optional] The field description. The maximum length is 16K characters. + "name": "A String", # [Required] The field name. The name must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_), and must start with a letter or underscore. The maximum length is 128 characters. + "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE. + }, + ], + }, }, "endTime": "A String", # [Output-only] End time of this job, in milliseconds since the epoch. This field will be present whenever a job is in the DONE state. "extract": { # [Output-only] Statistics for an extract job. @@ -1186,9 +1355,10 @@

Method Details

"user_email": "A String", # [Full-projection-only] Email address of the user who ran the job. "configuration": { # [Full-projection-only] Specifies the job configuration. "load": { # [Pick one] Configures a load job. + "sourceFormat": "A String", # [Optional] The format of the data files. For CSV files, specify "CSV". For datastore backups, specify "DATASTORE_BACKUP". For newline-delimited JSON, specify "NEWLINE_DELIMITED_JSON". For Avro, specify "AVRO". The default value is CSV. "encoding": "A String", # [Optional] The character encoding of the data. The supported values are UTF-8 or ISO-8859-1. The default value is UTF-8. BigQuery decodes the data after the raw, binary data has been split using the values of the quote and fieldDelimiter properties. "fieldDelimiter": "A String", # [Optional] The separator for fields in a CSV file. The separator can be any ISO-8859-1 single-byte character. To use a character in the range 128-255, you must encode the character as UTF8. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. BigQuery also supports the escape sequence "\t" to specify a tab separator. The default value is a comma (','). - "sourceFormat": "A String", # [Optional] The format of the data files. For CSV files, specify "CSV". For datastore backups, specify "DATASTORE_BACKUP". For newline-delimited JSON, specify "NEWLINE_DELIMITED_JSON". The default value is CSV. + "autodetect": True or False, # [Experimental] Indicates if we should automatically infer the options and schema for CSV and JSON sources. "destinationTable": { # [Required] The destination table to load the data into. "projectId": "A String", # [Required] The ID of the project containing this table. "tableId": "A String", # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters. @@ -1216,7 +1386,7 @@

Method Details

"fields": [ # [Optional] Describes the nested schema fields if the type property is set to RECORD. # Object with schema name: TableFieldSchema ], - "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema). + "type": "A String", # [Required] The field data type. Possible values include STRING, BYTES, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema). "description": "A String", # [Optional] The field description. The maximum length is 16K characters. "name": "A String", # [Required] The field name. The name must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_), and must start with a letter or underscore. The maximum length is 128 characters. "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE. @@ -1269,7 +1439,7 @@

Method Details

"projectId": "A String", # [Optional] The ID of the project containing this dataset. "datasetId": "A String", # [Required] A unique ID for this dataset, without the project name. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters. }, - "useLegacySql": True or False, # [Experimental] Specifies whether to use BigQuery's legacy SQL dialect for this query. The default value is true. If set to false, the query will use BigQuery's updated SQL dialect with improved standards compliance. When using BigQuery's updated SQL, the values of allowLargeResults and flattenResults are ignored. Queries with useLegacySql set to false will be run as if allowLargeResults is true and flattenResults is false. + "useLegacySql": True or False, # [Experimental] Specifies whether to use BigQuery's legacy SQL dialect for this query. The default value is true. If set to false, the query will use BigQuery's standard SQL: https://cloud.google.com/bigquery/sql-reference/ When useLegacySql is set to false, the values of allowLargeResults and flattenResults are ignored; query will be run as if allowLargeResults is true and flattenResults is false. "destinationTable": { # [Optional] Describes the table where the query results should be stored. If not present, a new table will be created to store the results. "projectId": "A String", # [Required] The ID of the project containing this table. "tableId": "A String", # [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters. @@ -1283,28 +1453,53 @@

Method Details

"preserveNulls": True or False, # [Deprecated] This property is deprecated. "tableDefinitions": { # [Optional] If querying an external data source outside of BigQuery, describes the data format, location and other properties of the data source. By defining these properties, the data source can then be queried as if it were a standard BigQuery table. "a_key": { - "compression": "A String", # [Optional] The compression type of the data source. Possible values include GZIP and NONE. The default value is NONE. This setting is ignored for Google Cloud Datastore backups. + "compression": "A String", # [Optional] The compression type of the data source. Possible values include GZIP and NONE. The default value is NONE. This setting is ignored for Google Cloud Bigtable, Google Cloud Datastore backups and Avro formats. "csvOptions": { # Additional properties to set if sourceFormat is set to CSV. "fieldDelimiter": "A String", # [Optional] The separator for fields in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. BigQuery also supports the escape sequence "\t" to specify a tab separator. The default value is a comma (','). "encoding": "A String", # [Optional] The character encoding of the data. The supported values are UTF-8 or ISO-8859-1. The default value is UTF-8. BigQuery decodes the data after the raw, binary data has been split using the values of the quote and fieldDelimiter properties. - "skipLeadingRows": 42, # [Optional] The number of rows at the top of a CSV file that BigQuery will skip when reading the data. The default value is 0. This property is useful if you have header rows in the file that should be skipped. + "skipLeadingRows": "A String", # [Optional] The number of rows at the top of a CSV file that BigQuery will skip when reading the data. The default value is 0. This property is useful if you have header rows in the file that should be skipped. "allowJaggedRows": True or False, # [Optional] Indicates if BigQuery should accept rows that are missing trailing optional columns. If true, BigQuery treats missing trailing columns as null values. If false, records with missing trailing columns are treated as bad records, and if there are too many bad records, an invalid error is returned in the job result. The default value is false. "quote": """, # [Optional] The value that is used to quote data sections in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. The default value is a double-quote ('"'). If your data does not contain quoted sections, set the property value to an empty string. If your data contains quoted newline characters, you must also set the allowQuotedNewlines property to true. "allowQuotedNewlines": True or False, # [Optional] Indicates if BigQuery should allow quoted data sections that contain newline characters in a CSV file. The default value is false. }, - "sourceFormat": "A String", # [Required] The data format. For CSV files, specify "CSV". For newline-delimited JSON, specify "NEWLINE_DELIMITED_JSON". For Google Cloud Datastore backups, specify "DATASTORE_BACKUP". - "maxBadRecords": 42, # [Optional] The maximum number of bad records that BigQuery can ignore when reading data. If the number of bad records exceeds this value, an invalid error is returned in the job result. The default value is 0, which requires that all records are valid. This setting is ignored for Google Cloud Datastore backups. - "ignoreUnknownValues": True or False, # [Optional] Indicates if BigQuery should allow extra values that are not represented in the table schema. If true, the extra values are ignored. If false, records with extra columns are treated as bad records, and if there are too many bad records, an invalid error is returned in the job result. The default value is false. The sourceFormat property determines what BigQuery treats as an extra value: CSV: Trailing columns JSON: Named values that don't match any column names Google Cloud Datastore backups: This setting is ignored. - "sourceUris": [ # [Required] The fully-qualified URIs that point to your data in Google Cloud Storage. Each URI can contain one '*' wildcard character and it must come after the 'bucket' name. Size limits related to load jobs apply to external data sources, plus an additional limit of 10 GB maximum size across all URIs. For Google Cloud Datastore backups, exactly one URI can be specified, and it must end with '.backup_info'. Also, the '*' wildcard character is not allowed. + "autodetect": True or False, # [Experimental] Try to detect schema and format options automatically. Any option specified explicitly will be honored. + "maxBadRecords": 42, # [Optional] The maximum number of bad records that BigQuery can ignore when reading data. If the number of bad records exceeds this value, an invalid error is returned in the job result. The default value is 0, which requires that all records are valid. This setting is ignored for Google Cloud Bigtable, Google Cloud Datastore backups and Avro formats. + "ignoreUnknownValues": True or False, # [Optional] Indicates if BigQuery should allow extra values that are not represented in the table schema. If true, the extra values are ignored. If false, records with extra columns are treated as bad records, and if there are too many bad records, an invalid error is returned in the job result. The default value is false. The sourceFormat property determines what BigQuery treats as an extra value: CSV: Trailing columns JSON: Named values that don't match any column names Google Cloud Bigtable: This setting is ignored. Google Cloud Datastore backups: This setting is ignored. Avro: This setting is ignored. + "sourceUris": [ # [Required] The fully-qualified URIs that point to your data in Google Cloud. For Google Cloud Storage URIs: Each URI can contain one '*' wildcard character and it must come after the 'bucket' name. Size limits related to load jobs apply to external data sources. For Google Cloud Bigtable URIs: Exactly one URI can be specified and it has be a fully specified and valid HTTPS URL for a Google Cloud Bigtable table. For Google Cloud Datastore backups, exactly one URI can be specified, and it must end with '.backup_info'. Also, the '*' wildcard character is not allowed. "A String", ], - "schema": { # [Optional] The schema for the data. Schema is required for CSV and JSON formats. Schema is disallowed for Google Cloud Datastore backups. + "bigtableOptions": { # [Optional] Additional options if sourceFormat is set to BIGTABLE. + "ignoreUnspecifiedColumnFamilies": True or False, # [Optional] If field is true, then the column families that are not specified in columnFamilies list are not exposed in the table schema. Otherwise, they are read with BYTES type values. The default value is false. + "columnFamilies": [ # [Optional] List of column families to expose in the table schema along with their types. This list restricts the column families that can be referenced in queries and specifies their value types. You can use this list to do type conversions - see the 'type' field for more details. If you leave this list empty, all column families are present in the table schema and their values are read as BYTES. During a query only the column families referenced in that query are read from Bigtable. + { + "familyId": "A String", # Identifier of the column family. + "type": "A String", # [Optional] The type to convert the value in cells of this column family. The values are expected to be encoded using HBase Bytes.toBytes function when using the BINARY encoding value. Following BigQuery types are allowed (case-sensitive) - BYTES STRING INTEGER FLOAT BOOLEAN Defaut type is BYTES. This can be overridden for a specific column by listing that column in 'columns' and specifying a type for it. + "onlyReadLatest": True or False, # [Optional] If this is set only the latest version of value are exposed for all columns in this column family. This can be overridden for a specific column by listing that column in 'columns' and specifying a different setting for that column. + "columns": [ # [Optional] Lists of columns that should be exposed as individual fields as opposed to a list of (column name, value) pairs. All columns whose qualifier matches a qualifier in this list can be accessed as .. Other columns can be accessed as a list through .Column field. + { + "encoding": "A String", # [Optional] The encoding of the values when the type is not STRING. Acceptable encoding values are: TEXT - indicates values are alphanumeric text strings. BINARY - indicates values are encoded using HBase Bytes.toBytes family of functions. 'encoding' can also be set at the column family level. However, the setting at this level takes precedence if 'encoding' is set at both levels. + "qualifierEncoded": "A String", # [Required] Qualifier of the column. Columns in the parent column family that has this exact qualifier are exposed as . field. If the qualifier is valid UTF-8 string, it can be specified in the qualifier_string field. Otherwise, a base-64 encoded value must be set to qualifier_encoded. The column field name is the same as the column qualifier. However, if the qualifier is not a valid BigQuery field identifier i.e. does not match [a-zA-Z][a-zA-Z0-9_]*, a valid identifier must be provided as field_name. + "fieldName": "A String", # [Optional] If the qualifier is not a valid BigQuery field identifier i.e. does not match [a-zA-Z][a-zA-Z0-9_]*, a valid identifier must be provided as the column field name and is used as field name in queries. + "onlyReadLatest": True or False, # [Optional] If this is set, only the latest version of value in this column are exposed. 'onlyReadLatest' can also be set at the column family level. However, the setting at this level takes precedence if 'onlyReadLatest' is set at both levels. + "qualifierString": "A String", + "type": "A String", # [Optional] The type to convert the value in cells of this column. The values are expected to be encoded using HBase Bytes.toBytes function when using the BINARY encoding value. Following BigQuery types are allowed (case-sensitive) - BYTES STRING INTEGER FLOAT BOOLEAN Defaut type is BYTES. 'type' can also be set at the column family level. However, the setting at this level takes precedence if 'type' is set at both levels. + }, + ], + "encoding": "A String", # [Optional] The encoding of the values when the type is not STRING. Acceptable encoding values are: TEXT - indicates values are alphanumeric text strings. BINARY - indicates values are encoded using HBase Bytes.toBytes family of functions. This can be overridden for a specific column by listing that column in 'columns' and specifying an encoding for it. + }, + ], + }, + "sourceFormat": "A String", # [Required] The data format. For CSV files, specify "CSV". For Google sheets, specify "GOOGLE_SHEETS". For newline-delimited JSON, specify "NEWLINE_DELIMITED_JSON". For Avro files, specify "AVRO". For Google Cloud Datastore backups, specify "DATASTORE_BACKUP". [Experimental] For Google Cloud Bigtable, specify "BIGTABLE". Please note that reading from Google Cloud Bigtable is experimental and has to be enabled for your project. Please contact Google Cloud Support to enable this for your project. + "googleSheetsOptions": { # [Optional] Additional options if sourceFormat is set to GOOGLE_SHEETS. + "skipLeadingRows": "A String", # [Optional] The number of rows at the top of a sheet that BigQuery will skip when reading the data. The default value is 0. This property is useful if you have header rows that should be skipped. When autodetect is on, behavior is the following: * skipLeadingRows unspecified - Autodetect tries to detect headers in the first row. If they are not detected, the row is read as data. Otherwise data is read starting from the second row. * skipLeadingRows is 0 - Instructs autodetect that there are no headers and data should be read starting from the first row. * skipLeadingRows = N > 0 - Autodetect skips N-1 rows and tries to detect headers in row N. If headers are not detected, row N is just skipped. Otherwise row N is used to extract column names for the detected schema. + }, + "schema": { # [Optional] The schema for the data. Schema is required for CSV and JSON formats. Schema is disallowed for Google Cloud Bigtable, Cloud Datastore backups, and Avro formats. "fields": [ # Describes the fields in a table. { "fields": [ # [Optional] Describes the nested schema fields if the type property is set to RECORD. # Object with schema name: TableFieldSchema ], - "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema). + "type": "A String", # [Required] The field data type. Possible values include STRING, BYTES, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema). "description": "A String", # [Optional] The field description. The maximum length is 16K characters. "name": "A String", # [Required] The field name. The name must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_), and must start with a letter or underscore. The maximum length is 128 characters. "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE. @@ -1365,7 +1560,7 @@

Method Details

"projectId": "A String", # [Optional] The ID of the project containing this dataset. "datasetId": "A String", # [Required] A unique ID for this dataset, without the project name. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters. }, - "useLegacySql": True or False, # [Experimental] Specifies whether to use BigQuery's legacy SQL dialect for this query. The default value is true. If set to false, the query will use BigQuery's updated SQL dialect with improved standards compliance. When using BigQuery's updated SQL, the values of allowLargeResults and flattenResults are ignored. Queries with useLegacySql set to false will be run as if allowLargeResults is true and flattenResults is false. + "useLegacySql": True or False, # [Experimental] Specifies whether to use BigQuery's legacy SQL dialect for this query. The default value is true. If set to false, the query will use BigQuery's standard SQL: https://cloud.google.com/bigquery/sql-reference/ When useLegacySql is set to false, the values of allowLargeResults and flattenResults are ignored; query will be run as if allowLargeResults is true and flattenResults is false. "maxResults": 42, # [Optional] The maximum number of rows of data to return per page of results. Setting this flag to a small value such as 1000 and then paging through results might improve reliability when the query result set is large. In addition to this limit, responses are also limited to 10 MB. By default, there is no maximum row count, and only the byte limit applies. "query": "A String", # [Required] A query string, following the BigQuery query syntax, of the query to execute. Example: "SELECT count(f1) FROM [myProjectId:myDatasetId.myTableId]". "preserveNulls": True or False, # [Deprecated] This property is deprecated. @@ -1409,7 +1604,7 @@

Method Details

"fields": [ # [Optional] Describes the nested schema fields if the type property is set to RECORD. # Object with schema name: TableFieldSchema ], - "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema). + "type": "A String", # [Required] The field data type. Possible values include STRING, BYTES, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema). "description": "A String", # [Optional] The field description. The maximum length is 16K characters. "name": "A String", # [Required] The field name. The name must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_), and must start with a letter or underscore. The maximum length is 128 characters. "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE. diff --git a/docs/dyn/bigquery_v2.tables.html b/docs/dyn/bigquery_v2.tables.html index bda0cd3f23c..be88588ead5 100644 --- a/docs/dyn/bigquery_v2.tables.html +++ b/docs/dyn/bigquery_v2.tables.html @@ -124,29 +124,63 @@

Method Details

"lastModifiedTime": "A String", # [Output-only] The time when this table was last modified, in milliseconds since the epoch. "description": "A String", # [Optional] A user-friendly description of this table. "creationTime": "A String", # [Output-only] The time when this table was created, in milliseconds since the epoch. + "view": { # [Optional] The view definition. + "query": "A String", # [Required] A query that BigQuery executes when the view is referenced. + "userDefinedFunctionResources": [ # [Experimental] Describes user-defined function resources used in the query. + { + "resourceUri": "A String", # [Pick one] A code resource to load from a Google Cloud Storage URI (gs://bucket/path). + "inlineCode": "A String", # [Pick one] An inline resource that contains code for a user-defined function (UDF). Providing a inline code resource is equivalent to providing a URI for a file containing the same code. + }, + ], + }, "externalDataConfiguration": { # [Optional] Describes the data format, location, and other properties of a table stored outside of BigQuery. By defining these properties, the data source can then be queried as if it were a standard BigQuery table. - "compression": "A String", # [Optional] The compression type of the data source. Possible values include GZIP and NONE. The default value is NONE. This setting is ignored for Google Cloud Datastore backups. + "compression": "A String", # [Optional] The compression type of the data source. Possible values include GZIP and NONE. The default value is NONE. This setting is ignored for Google Cloud Bigtable, Google Cloud Datastore backups and Avro formats. "csvOptions": { # Additional properties to set if sourceFormat is set to CSV. "fieldDelimiter": "A String", # [Optional] The separator for fields in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. BigQuery also supports the escape sequence "\t" to specify a tab separator. The default value is a comma (','). "encoding": "A String", # [Optional] The character encoding of the data. The supported values are UTF-8 or ISO-8859-1. The default value is UTF-8. BigQuery decodes the data after the raw, binary data has been split using the values of the quote and fieldDelimiter properties. - "skipLeadingRows": 42, # [Optional] The number of rows at the top of a CSV file that BigQuery will skip when reading the data. The default value is 0. This property is useful if you have header rows in the file that should be skipped. + "skipLeadingRows": "A String", # [Optional] The number of rows at the top of a CSV file that BigQuery will skip when reading the data. The default value is 0. This property is useful if you have header rows in the file that should be skipped. "allowJaggedRows": True or False, # [Optional] Indicates if BigQuery should accept rows that are missing trailing optional columns. If true, BigQuery treats missing trailing columns as null values. If false, records with missing trailing columns are treated as bad records, and if there are too many bad records, an invalid error is returned in the job result. The default value is false. "quote": """, # [Optional] The value that is used to quote data sections in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. The default value is a double-quote ('"'). If your data does not contain quoted sections, set the property value to an empty string. If your data contains quoted newline characters, you must also set the allowQuotedNewlines property to true. "allowQuotedNewlines": True or False, # [Optional] Indicates if BigQuery should allow quoted data sections that contain newline characters in a CSV file. The default value is false. }, - "sourceFormat": "A String", # [Required] The data format. For CSV files, specify "CSV". For newline-delimited JSON, specify "NEWLINE_DELIMITED_JSON". For Google Cloud Datastore backups, specify "DATASTORE_BACKUP". - "maxBadRecords": 42, # [Optional] The maximum number of bad records that BigQuery can ignore when reading data. If the number of bad records exceeds this value, an invalid error is returned in the job result. The default value is 0, which requires that all records are valid. This setting is ignored for Google Cloud Datastore backups. - "ignoreUnknownValues": True or False, # [Optional] Indicates if BigQuery should allow extra values that are not represented in the table schema. If true, the extra values are ignored. If false, records with extra columns are treated as bad records, and if there are too many bad records, an invalid error is returned in the job result. The default value is false. The sourceFormat property determines what BigQuery treats as an extra value: CSV: Trailing columns JSON: Named values that don't match any column names Google Cloud Datastore backups: This setting is ignored. - "sourceUris": [ # [Required] The fully-qualified URIs that point to your data in Google Cloud Storage. Each URI can contain one '*' wildcard character and it must come after the 'bucket' name. Size limits related to load jobs apply to external data sources, plus an additional limit of 10 GB maximum size across all URIs. For Google Cloud Datastore backups, exactly one URI can be specified, and it must end with '.backup_info'. Also, the '*' wildcard character is not allowed. + "autodetect": True or False, # [Experimental] Try to detect schema and format options automatically. Any option specified explicitly will be honored. + "maxBadRecords": 42, # [Optional] The maximum number of bad records that BigQuery can ignore when reading data. If the number of bad records exceeds this value, an invalid error is returned in the job result. The default value is 0, which requires that all records are valid. This setting is ignored for Google Cloud Bigtable, Google Cloud Datastore backups and Avro formats. + "ignoreUnknownValues": True or False, # [Optional] Indicates if BigQuery should allow extra values that are not represented in the table schema. If true, the extra values are ignored. If false, records with extra columns are treated as bad records, and if there are too many bad records, an invalid error is returned in the job result. The default value is false. The sourceFormat property determines what BigQuery treats as an extra value: CSV: Trailing columns JSON: Named values that don't match any column names Google Cloud Bigtable: This setting is ignored. Google Cloud Datastore backups: This setting is ignored. Avro: This setting is ignored. + "sourceUris": [ # [Required] The fully-qualified URIs that point to your data in Google Cloud. For Google Cloud Storage URIs: Each URI can contain one '*' wildcard character and it must come after the 'bucket' name. Size limits related to load jobs apply to external data sources. For Google Cloud Bigtable URIs: Exactly one URI can be specified and it has be a fully specified and valid HTTPS URL for a Google Cloud Bigtable table. For Google Cloud Datastore backups, exactly one URI can be specified, and it must end with '.backup_info'. Also, the '*' wildcard character is not allowed. "A String", ], - "schema": { # [Optional] The schema for the data. Schema is required for CSV and JSON formats. Schema is disallowed for Google Cloud Datastore backups. + "bigtableOptions": { # [Optional] Additional options if sourceFormat is set to BIGTABLE. + "ignoreUnspecifiedColumnFamilies": True or False, # [Optional] If field is true, then the column families that are not specified in columnFamilies list are not exposed in the table schema. Otherwise, they are read with BYTES type values. The default value is false. + "columnFamilies": [ # [Optional] List of column families to expose in the table schema along with their types. This list restricts the column families that can be referenced in queries and specifies their value types. You can use this list to do type conversions - see the 'type' field for more details. If you leave this list empty, all column families are present in the table schema and their values are read as BYTES. During a query only the column families referenced in that query are read from Bigtable. + { + "familyId": "A String", # Identifier of the column family. + "type": "A String", # [Optional] The type to convert the value in cells of this column family. The values are expected to be encoded using HBase Bytes.toBytes function when using the BINARY encoding value. Following BigQuery types are allowed (case-sensitive) - BYTES STRING INTEGER FLOAT BOOLEAN Defaut type is BYTES. This can be overridden for a specific column by listing that column in 'columns' and specifying a type for it. + "onlyReadLatest": True or False, # [Optional] If this is set only the latest version of value are exposed for all columns in this column family. This can be overridden for a specific column by listing that column in 'columns' and specifying a different setting for that column. + "columns": [ # [Optional] Lists of columns that should be exposed as individual fields as opposed to a list of (column name, value) pairs. All columns whose qualifier matches a qualifier in this list can be accessed as .. Other columns can be accessed as a list through .Column field. + { + "encoding": "A String", # [Optional] The encoding of the values when the type is not STRING. Acceptable encoding values are: TEXT - indicates values are alphanumeric text strings. BINARY - indicates values are encoded using HBase Bytes.toBytes family of functions. 'encoding' can also be set at the column family level. However, the setting at this level takes precedence if 'encoding' is set at both levels. + "qualifierEncoded": "A String", # [Required] Qualifier of the column. Columns in the parent column family that has this exact qualifier are exposed as . field. If the qualifier is valid UTF-8 string, it can be specified in the qualifier_string field. Otherwise, a base-64 encoded value must be set to qualifier_encoded. The column field name is the same as the column qualifier. However, if the qualifier is not a valid BigQuery field identifier i.e. does not match [a-zA-Z][a-zA-Z0-9_]*, a valid identifier must be provided as field_name. + "fieldName": "A String", # [Optional] If the qualifier is not a valid BigQuery field identifier i.e. does not match [a-zA-Z][a-zA-Z0-9_]*, a valid identifier must be provided as the column field name and is used as field name in queries. + "onlyReadLatest": True or False, # [Optional] If this is set, only the latest version of value in this column are exposed. 'onlyReadLatest' can also be set at the column family level. However, the setting at this level takes precedence if 'onlyReadLatest' is set at both levels. + "qualifierString": "A String", + "type": "A String", # [Optional] The type to convert the value in cells of this column. The values are expected to be encoded using HBase Bytes.toBytes function when using the BINARY encoding value. Following BigQuery types are allowed (case-sensitive) - BYTES STRING INTEGER FLOAT BOOLEAN Defaut type is BYTES. 'type' can also be set at the column family level. However, the setting at this level takes precedence if 'type' is set at both levels. + }, + ], + "encoding": "A String", # [Optional] The encoding of the values when the type is not STRING. Acceptable encoding values are: TEXT - indicates values are alphanumeric text strings. BINARY - indicates values are encoded using HBase Bytes.toBytes family of functions. This can be overridden for a specific column by listing that column in 'columns' and specifying an encoding for it. + }, + ], + }, + "sourceFormat": "A String", # [Required] The data format. For CSV files, specify "CSV". For Google sheets, specify "GOOGLE_SHEETS". For newline-delimited JSON, specify "NEWLINE_DELIMITED_JSON". For Avro files, specify "AVRO". For Google Cloud Datastore backups, specify "DATASTORE_BACKUP". [Experimental] For Google Cloud Bigtable, specify "BIGTABLE". Please note that reading from Google Cloud Bigtable is experimental and has to be enabled for your project. Please contact Google Cloud Support to enable this for your project. + "googleSheetsOptions": { # [Optional] Additional options if sourceFormat is set to GOOGLE_SHEETS. + "skipLeadingRows": "A String", # [Optional] The number of rows at the top of a sheet that BigQuery will skip when reading the data. The default value is 0. This property is useful if you have header rows that should be skipped. When autodetect is on, behavior is the following: * skipLeadingRows unspecified - Autodetect tries to detect headers in the first row. If they are not detected, the row is read as data. Otherwise data is read starting from the second row. * skipLeadingRows is 0 - Instructs autodetect that there are no headers and data should be read starting from the first row. * skipLeadingRows = N > 0 - Autodetect skips N-1 rows and tries to detect headers in row N. If headers are not detected, row N is just skipped. Otherwise row N is used to extract column names for the detected schema. + }, + "schema": { # [Optional] The schema for the data. Schema is required for CSV and JSON formats. Schema is disallowed for Google Cloud Bigtable, Cloud Datastore backups, and Avro formats. "fields": [ # Describes the fields in a table. { "fields": [ # [Optional] Describes the nested schema fields if the type property is set to RECORD. # Object with schema name: TableFieldSchema ], - "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema). + "type": "A String", # [Required] The field data type. Possible values include STRING, BYTES, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema). "description": "A String", # [Optional] The field description. The maximum length is 16K characters. "name": "A String", # [Required] The field name. The name must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_), and must start with a letter or underscore. The maximum length is 128 characters. "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE. @@ -169,32 +203,28 @@

Method Details

"oldestEntryTime": "A String", # [Output-only] Contains the timestamp of the oldest entry in the streaming buffer, in milliseconds since the epoch, if the streaming buffer is available. }, "friendlyName": "A String", # [Optional] A descriptive name for this table. - "expirationTime": "A String", # [Optional] The time when this table expires, in milliseconds since the epoch. If not present, the table will persist indefinitely. Expired tables will be deleted and their storage reclaimed. - "view": { # [Optional] The view definition. - "query": "A String", # [Required] A query that BigQuery executes when the view is referenced. - "userDefinedFunctionResources": [ # [Experimental] Describes user-defined function resources used in the query. - { - "resourceUri": "A String", # [Pick one] A code resource to load from a Google Cloud Storage URI (gs://bucket/path). - "inlineCode": "A String", # [Pick one] An inline resource that contains code for a user-defined function (UDF). Providing a inline code resource is equivalent to providing a URI for a file containing the same code. - }, - ], + "timePartitioning": { # [Experimental] If specified, configures time-based partitioning for this table. + "type": "A String", # [Required] The only type supported is DAY, which will generate one partition per day based on data loading time. + "expirationMs": "A String", # [Optional] Number of milliseconds for which to keep the storage for a partition. }, - "type": "A String", # [Output-only] Describes the table type. The following values are supported: TABLE: A normal BigQuery table. VIEW: A virtual table defined by a SQL query. EXTERNAL: A table that references data stored in an external storage system, such as Google Cloud Storage. The default value is TABLE. - "id": "A String", # [Output-only] An opaque ID uniquely identifying the table. - "selfLink": "A String", # [Output-only] A URL that can be used to access this resource again. + "expirationTime": "A String", # [Optional] The time when this table expires, in milliseconds since the epoch. If not present, the table will persist indefinitely. Expired tables will be deleted and their storage reclaimed. "schema": { # [Optional] Describes the schema of this table. "fields": [ # Describes the fields in a table. { "fields": [ # [Optional] Describes the nested schema fields if the type property is set to RECORD. # Object with schema name: TableFieldSchema ], - "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema). + "type": "A String", # [Required] The field data type. Possible values include STRING, BYTES, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema). "description": "A String", # [Optional] The field description. The maximum length is 16K characters. "name": "A String", # [Required] The field name. The name must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_), and must start with a letter or underscore. The maximum length is 128 characters. "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE. }, ], }, + "type": "A String", # [Output-only] Describes the table type. The following values are supported: TABLE: A normal BigQuery table. VIEW: A virtual table defined by a SQL query. EXTERNAL: A table that references data stored in an external storage system, such as Google Cloud Storage. The default value is TABLE. + "id": "A String", # [Output-only] An opaque ID uniquely identifying the table. + "selfLink": "A String", # [Output-only] A URL that can be used to access this resource again. + "numLongTermBytes": "A String", # [Output-only] The number of bytes in the table that are considered "long-term storage". } @@ -213,29 +243,63 @@

Method Details

"lastModifiedTime": "A String", # [Output-only] The time when this table was last modified, in milliseconds since the epoch. "description": "A String", # [Optional] A user-friendly description of this table. "creationTime": "A String", # [Output-only] The time when this table was created, in milliseconds since the epoch. + "view": { # [Optional] The view definition. + "query": "A String", # [Required] A query that BigQuery executes when the view is referenced. + "userDefinedFunctionResources": [ # [Experimental] Describes user-defined function resources used in the query. + { + "resourceUri": "A String", # [Pick one] A code resource to load from a Google Cloud Storage URI (gs://bucket/path). + "inlineCode": "A String", # [Pick one] An inline resource that contains code for a user-defined function (UDF). Providing a inline code resource is equivalent to providing a URI for a file containing the same code. + }, + ], + }, "externalDataConfiguration": { # [Optional] Describes the data format, location, and other properties of a table stored outside of BigQuery. By defining these properties, the data source can then be queried as if it were a standard BigQuery table. - "compression": "A String", # [Optional] The compression type of the data source. Possible values include GZIP and NONE. The default value is NONE. This setting is ignored for Google Cloud Datastore backups. + "compression": "A String", # [Optional] The compression type of the data source. Possible values include GZIP and NONE. The default value is NONE. This setting is ignored for Google Cloud Bigtable, Google Cloud Datastore backups and Avro formats. "csvOptions": { # Additional properties to set if sourceFormat is set to CSV. "fieldDelimiter": "A String", # [Optional] The separator for fields in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. BigQuery also supports the escape sequence "\t" to specify a tab separator. The default value is a comma (','). "encoding": "A String", # [Optional] The character encoding of the data. The supported values are UTF-8 or ISO-8859-1. The default value is UTF-8. BigQuery decodes the data after the raw, binary data has been split using the values of the quote and fieldDelimiter properties. - "skipLeadingRows": 42, # [Optional] The number of rows at the top of a CSV file that BigQuery will skip when reading the data. The default value is 0. This property is useful if you have header rows in the file that should be skipped. + "skipLeadingRows": "A String", # [Optional] The number of rows at the top of a CSV file that BigQuery will skip when reading the data. The default value is 0. This property is useful if you have header rows in the file that should be skipped. "allowJaggedRows": True or False, # [Optional] Indicates if BigQuery should accept rows that are missing trailing optional columns. If true, BigQuery treats missing trailing columns as null values. If false, records with missing trailing columns are treated as bad records, and if there are too many bad records, an invalid error is returned in the job result. The default value is false. "quote": """, # [Optional] The value that is used to quote data sections in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. The default value is a double-quote ('"'). If your data does not contain quoted sections, set the property value to an empty string. If your data contains quoted newline characters, you must also set the allowQuotedNewlines property to true. "allowQuotedNewlines": True or False, # [Optional] Indicates if BigQuery should allow quoted data sections that contain newline characters in a CSV file. The default value is false. }, - "sourceFormat": "A String", # [Required] The data format. For CSV files, specify "CSV". For newline-delimited JSON, specify "NEWLINE_DELIMITED_JSON". For Google Cloud Datastore backups, specify "DATASTORE_BACKUP". - "maxBadRecords": 42, # [Optional] The maximum number of bad records that BigQuery can ignore when reading data. If the number of bad records exceeds this value, an invalid error is returned in the job result. The default value is 0, which requires that all records are valid. This setting is ignored for Google Cloud Datastore backups. - "ignoreUnknownValues": True or False, # [Optional] Indicates if BigQuery should allow extra values that are not represented in the table schema. If true, the extra values are ignored. If false, records with extra columns are treated as bad records, and if there are too many bad records, an invalid error is returned in the job result. The default value is false. The sourceFormat property determines what BigQuery treats as an extra value: CSV: Trailing columns JSON: Named values that don't match any column names Google Cloud Datastore backups: This setting is ignored. - "sourceUris": [ # [Required] The fully-qualified URIs that point to your data in Google Cloud Storage. Each URI can contain one '*' wildcard character and it must come after the 'bucket' name. Size limits related to load jobs apply to external data sources, plus an additional limit of 10 GB maximum size across all URIs. For Google Cloud Datastore backups, exactly one URI can be specified, and it must end with '.backup_info'. Also, the '*' wildcard character is not allowed. + "autodetect": True or False, # [Experimental] Try to detect schema and format options automatically. Any option specified explicitly will be honored. + "maxBadRecords": 42, # [Optional] The maximum number of bad records that BigQuery can ignore when reading data. If the number of bad records exceeds this value, an invalid error is returned in the job result. The default value is 0, which requires that all records are valid. This setting is ignored for Google Cloud Bigtable, Google Cloud Datastore backups and Avro formats. + "ignoreUnknownValues": True or False, # [Optional] Indicates if BigQuery should allow extra values that are not represented in the table schema. If true, the extra values are ignored. If false, records with extra columns are treated as bad records, and if there are too many bad records, an invalid error is returned in the job result. The default value is false. The sourceFormat property determines what BigQuery treats as an extra value: CSV: Trailing columns JSON: Named values that don't match any column names Google Cloud Bigtable: This setting is ignored. Google Cloud Datastore backups: This setting is ignored. Avro: This setting is ignored. + "sourceUris": [ # [Required] The fully-qualified URIs that point to your data in Google Cloud. For Google Cloud Storage URIs: Each URI can contain one '*' wildcard character and it must come after the 'bucket' name. Size limits related to load jobs apply to external data sources. For Google Cloud Bigtable URIs: Exactly one URI can be specified and it has be a fully specified and valid HTTPS URL for a Google Cloud Bigtable table. For Google Cloud Datastore backups, exactly one URI can be specified, and it must end with '.backup_info'. Also, the '*' wildcard character is not allowed. "A String", ], - "schema": { # [Optional] The schema for the data. Schema is required for CSV and JSON formats. Schema is disallowed for Google Cloud Datastore backups. + "bigtableOptions": { # [Optional] Additional options if sourceFormat is set to BIGTABLE. + "ignoreUnspecifiedColumnFamilies": True or False, # [Optional] If field is true, then the column families that are not specified in columnFamilies list are not exposed in the table schema. Otherwise, they are read with BYTES type values. The default value is false. + "columnFamilies": [ # [Optional] List of column families to expose in the table schema along with their types. This list restricts the column families that can be referenced in queries and specifies their value types. You can use this list to do type conversions - see the 'type' field for more details. If you leave this list empty, all column families are present in the table schema and their values are read as BYTES. During a query only the column families referenced in that query are read from Bigtable. + { + "familyId": "A String", # Identifier of the column family. + "type": "A String", # [Optional] The type to convert the value in cells of this column family. The values are expected to be encoded using HBase Bytes.toBytes function when using the BINARY encoding value. Following BigQuery types are allowed (case-sensitive) - BYTES STRING INTEGER FLOAT BOOLEAN Defaut type is BYTES. This can be overridden for a specific column by listing that column in 'columns' and specifying a type for it. + "onlyReadLatest": True or False, # [Optional] If this is set only the latest version of value are exposed for all columns in this column family. This can be overridden for a specific column by listing that column in 'columns' and specifying a different setting for that column. + "columns": [ # [Optional] Lists of columns that should be exposed as individual fields as opposed to a list of (column name, value) pairs. All columns whose qualifier matches a qualifier in this list can be accessed as .. Other columns can be accessed as a list through .Column field. + { + "encoding": "A String", # [Optional] The encoding of the values when the type is not STRING. Acceptable encoding values are: TEXT - indicates values are alphanumeric text strings. BINARY - indicates values are encoded using HBase Bytes.toBytes family of functions. 'encoding' can also be set at the column family level. However, the setting at this level takes precedence if 'encoding' is set at both levels. + "qualifierEncoded": "A String", # [Required] Qualifier of the column. Columns in the parent column family that has this exact qualifier are exposed as . field. If the qualifier is valid UTF-8 string, it can be specified in the qualifier_string field. Otherwise, a base-64 encoded value must be set to qualifier_encoded. The column field name is the same as the column qualifier. However, if the qualifier is not a valid BigQuery field identifier i.e. does not match [a-zA-Z][a-zA-Z0-9_]*, a valid identifier must be provided as field_name. + "fieldName": "A String", # [Optional] If the qualifier is not a valid BigQuery field identifier i.e. does not match [a-zA-Z][a-zA-Z0-9_]*, a valid identifier must be provided as the column field name and is used as field name in queries. + "onlyReadLatest": True or False, # [Optional] If this is set, only the latest version of value in this column are exposed. 'onlyReadLatest' can also be set at the column family level. However, the setting at this level takes precedence if 'onlyReadLatest' is set at both levels. + "qualifierString": "A String", + "type": "A String", # [Optional] The type to convert the value in cells of this column. The values are expected to be encoded using HBase Bytes.toBytes function when using the BINARY encoding value. Following BigQuery types are allowed (case-sensitive) - BYTES STRING INTEGER FLOAT BOOLEAN Defaut type is BYTES. 'type' can also be set at the column family level. However, the setting at this level takes precedence if 'type' is set at both levels. + }, + ], + "encoding": "A String", # [Optional] The encoding of the values when the type is not STRING. Acceptable encoding values are: TEXT - indicates values are alphanumeric text strings. BINARY - indicates values are encoded using HBase Bytes.toBytes family of functions. This can be overridden for a specific column by listing that column in 'columns' and specifying an encoding for it. + }, + ], + }, + "sourceFormat": "A String", # [Required] The data format. For CSV files, specify "CSV". For Google sheets, specify "GOOGLE_SHEETS". For newline-delimited JSON, specify "NEWLINE_DELIMITED_JSON". For Avro files, specify "AVRO". For Google Cloud Datastore backups, specify "DATASTORE_BACKUP". [Experimental] For Google Cloud Bigtable, specify "BIGTABLE". Please note that reading from Google Cloud Bigtable is experimental and has to be enabled for your project. Please contact Google Cloud Support to enable this for your project. + "googleSheetsOptions": { # [Optional] Additional options if sourceFormat is set to GOOGLE_SHEETS. + "skipLeadingRows": "A String", # [Optional] The number of rows at the top of a sheet that BigQuery will skip when reading the data. The default value is 0. This property is useful if you have header rows that should be skipped. When autodetect is on, behavior is the following: * skipLeadingRows unspecified - Autodetect tries to detect headers in the first row. If they are not detected, the row is read as data. Otherwise data is read starting from the second row. * skipLeadingRows is 0 - Instructs autodetect that there are no headers and data should be read starting from the first row. * skipLeadingRows = N > 0 - Autodetect skips N-1 rows and tries to detect headers in row N. If headers are not detected, row N is just skipped. Otherwise row N is used to extract column names for the detected schema. + }, + "schema": { # [Optional] The schema for the data. Schema is required for CSV and JSON formats. Schema is disallowed for Google Cloud Bigtable, Cloud Datastore backups, and Avro formats. "fields": [ # Describes the fields in a table. { "fields": [ # [Optional] Describes the nested schema fields if the type property is set to RECORD. # Object with schema name: TableFieldSchema ], - "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema). + "type": "A String", # [Required] The field data type. Possible values include STRING, BYTES, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema). "description": "A String", # [Optional] The field description. The maximum length is 16K characters. "name": "A String", # [Required] The field name. The name must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_), and must start with a letter or underscore. The maximum length is 128 characters. "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE. @@ -258,32 +322,28 @@

Method Details

"oldestEntryTime": "A String", # [Output-only] Contains the timestamp of the oldest entry in the streaming buffer, in milliseconds since the epoch, if the streaming buffer is available. }, "friendlyName": "A String", # [Optional] A descriptive name for this table. - "expirationTime": "A String", # [Optional] The time when this table expires, in milliseconds since the epoch. If not present, the table will persist indefinitely. Expired tables will be deleted and their storage reclaimed. - "view": { # [Optional] The view definition. - "query": "A String", # [Required] A query that BigQuery executes when the view is referenced. - "userDefinedFunctionResources": [ # [Experimental] Describes user-defined function resources used in the query. - { - "resourceUri": "A String", # [Pick one] A code resource to load from a Google Cloud Storage URI (gs://bucket/path). - "inlineCode": "A String", # [Pick one] An inline resource that contains code for a user-defined function (UDF). Providing a inline code resource is equivalent to providing a URI for a file containing the same code. - }, - ], + "timePartitioning": { # [Experimental] If specified, configures time-based partitioning for this table. + "type": "A String", # [Required] The only type supported is DAY, which will generate one partition per day based on data loading time. + "expirationMs": "A String", # [Optional] Number of milliseconds for which to keep the storage for a partition. }, - "type": "A String", # [Output-only] Describes the table type. The following values are supported: TABLE: A normal BigQuery table. VIEW: A virtual table defined by a SQL query. EXTERNAL: A table that references data stored in an external storage system, such as Google Cloud Storage. The default value is TABLE. - "id": "A String", # [Output-only] An opaque ID uniquely identifying the table. - "selfLink": "A String", # [Output-only] A URL that can be used to access this resource again. + "expirationTime": "A String", # [Optional] The time when this table expires, in milliseconds since the epoch. If not present, the table will persist indefinitely. Expired tables will be deleted and their storage reclaimed. "schema": { # [Optional] Describes the schema of this table. "fields": [ # Describes the fields in a table. { "fields": [ # [Optional] Describes the nested schema fields if the type property is set to RECORD. # Object with schema name: TableFieldSchema ], - "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema). + "type": "A String", # [Required] The field data type. Possible values include STRING, BYTES, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema). "description": "A String", # [Optional] The field description. The maximum length is 16K characters. "name": "A String", # [Required] The field name. The name must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_), and must start with a letter or underscore. The maximum length is 128 characters. "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE. }, ], }, + "type": "A String", # [Output-only] Describes the table type. The following values are supported: TABLE: A normal BigQuery table. VIEW: A virtual table defined by a SQL query. EXTERNAL: A table that references data stored in an external storage system, such as Google Cloud Storage. The default value is TABLE. + "id": "A String", # [Output-only] An opaque ID uniquely identifying the table. + "selfLink": "A String", # [Output-only] A URL that can be used to access this resource again. + "numLongTermBytes": "A String", # [Output-only] The number of bytes in the table that are considered "long-term storage". } @@ -295,29 +355,63 @@

Method Details

"lastModifiedTime": "A String", # [Output-only] The time when this table was last modified, in milliseconds since the epoch. "description": "A String", # [Optional] A user-friendly description of this table. "creationTime": "A String", # [Output-only] The time when this table was created, in milliseconds since the epoch. + "view": { # [Optional] The view definition. + "query": "A String", # [Required] A query that BigQuery executes when the view is referenced. + "userDefinedFunctionResources": [ # [Experimental] Describes user-defined function resources used in the query. + { + "resourceUri": "A String", # [Pick one] A code resource to load from a Google Cloud Storage URI (gs://bucket/path). + "inlineCode": "A String", # [Pick one] An inline resource that contains code for a user-defined function (UDF). Providing a inline code resource is equivalent to providing a URI for a file containing the same code. + }, + ], + }, "externalDataConfiguration": { # [Optional] Describes the data format, location, and other properties of a table stored outside of BigQuery. By defining these properties, the data source can then be queried as if it were a standard BigQuery table. - "compression": "A String", # [Optional] The compression type of the data source. Possible values include GZIP and NONE. The default value is NONE. This setting is ignored for Google Cloud Datastore backups. + "compression": "A String", # [Optional] The compression type of the data source. Possible values include GZIP and NONE. The default value is NONE. This setting is ignored for Google Cloud Bigtable, Google Cloud Datastore backups and Avro formats. "csvOptions": { # Additional properties to set if sourceFormat is set to CSV. "fieldDelimiter": "A String", # [Optional] The separator for fields in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. BigQuery also supports the escape sequence "\t" to specify a tab separator. The default value is a comma (','). "encoding": "A String", # [Optional] The character encoding of the data. The supported values are UTF-8 or ISO-8859-1. The default value is UTF-8. BigQuery decodes the data after the raw, binary data has been split using the values of the quote and fieldDelimiter properties. - "skipLeadingRows": 42, # [Optional] The number of rows at the top of a CSV file that BigQuery will skip when reading the data. The default value is 0. This property is useful if you have header rows in the file that should be skipped. + "skipLeadingRows": "A String", # [Optional] The number of rows at the top of a CSV file that BigQuery will skip when reading the data. The default value is 0. This property is useful if you have header rows in the file that should be skipped. "allowJaggedRows": True or False, # [Optional] Indicates if BigQuery should accept rows that are missing trailing optional columns. If true, BigQuery treats missing trailing columns as null values. If false, records with missing trailing columns are treated as bad records, and if there are too many bad records, an invalid error is returned in the job result. The default value is false. "quote": """, # [Optional] The value that is used to quote data sections in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. The default value is a double-quote ('"'). If your data does not contain quoted sections, set the property value to an empty string. If your data contains quoted newline characters, you must also set the allowQuotedNewlines property to true. "allowQuotedNewlines": True or False, # [Optional] Indicates if BigQuery should allow quoted data sections that contain newline characters in a CSV file. The default value is false. }, - "sourceFormat": "A String", # [Required] The data format. For CSV files, specify "CSV". For newline-delimited JSON, specify "NEWLINE_DELIMITED_JSON". For Google Cloud Datastore backups, specify "DATASTORE_BACKUP". - "maxBadRecords": 42, # [Optional] The maximum number of bad records that BigQuery can ignore when reading data. If the number of bad records exceeds this value, an invalid error is returned in the job result. The default value is 0, which requires that all records are valid. This setting is ignored for Google Cloud Datastore backups. - "ignoreUnknownValues": True or False, # [Optional] Indicates if BigQuery should allow extra values that are not represented in the table schema. If true, the extra values are ignored. If false, records with extra columns are treated as bad records, and if there are too many bad records, an invalid error is returned in the job result. The default value is false. The sourceFormat property determines what BigQuery treats as an extra value: CSV: Trailing columns JSON: Named values that don't match any column names Google Cloud Datastore backups: This setting is ignored. - "sourceUris": [ # [Required] The fully-qualified URIs that point to your data in Google Cloud Storage. Each URI can contain one '*' wildcard character and it must come after the 'bucket' name. Size limits related to load jobs apply to external data sources, plus an additional limit of 10 GB maximum size across all URIs. For Google Cloud Datastore backups, exactly one URI can be specified, and it must end with '.backup_info'. Also, the '*' wildcard character is not allowed. + "autodetect": True or False, # [Experimental] Try to detect schema and format options automatically. Any option specified explicitly will be honored. + "maxBadRecords": 42, # [Optional] The maximum number of bad records that BigQuery can ignore when reading data. If the number of bad records exceeds this value, an invalid error is returned in the job result. The default value is 0, which requires that all records are valid. This setting is ignored for Google Cloud Bigtable, Google Cloud Datastore backups and Avro formats. + "ignoreUnknownValues": True or False, # [Optional] Indicates if BigQuery should allow extra values that are not represented in the table schema. If true, the extra values are ignored. If false, records with extra columns are treated as bad records, and if there are too many bad records, an invalid error is returned in the job result. The default value is false. The sourceFormat property determines what BigQuery treats as an extra value: CSV: Trailing columns JSON: Named values that don't match any column names Google Cloud Bigtable: This setting is ignored. Google Cloud Datastore backups: This setting is ignored. Avro: This setting is ignored. + "sourceUris": [ # [Required] The fully-qualified URIs that point to your data in Google Cloud. For Google Cloud Storage URIs: Each URI can contain one '*' wildcard character and it must come after the 'bucket' name. Size limits related to load jobs apply to external data sources. For Google Cloud Bigtable URIs: Exactly one URI can be specified and it has be a fully specified and valid HTTPS URL for a Google Cloud Bigtable table. For Google Cloud Datastore backups, exactly one URI can be specified, and it must end with '.backup_info'. Also, the '*' wildcard character is not allowed. "A String", ], - "schema": { # [Optional] The schema for the data. Schema is required for CSV and JSON formats. Schema is disallowed for Google Cloud Datastore backups. + "bigtableOptions": { # [Optional] Additional options if sourceFormat is set to BIGTABLE. + "ignoreUnspecifiedColumnFamilies": True or False, # [Optional] If field is true, then the column families that are not specified in columnFamilies list are not exposed in the table schema. Otherwise, they are read with BYTES type values. The default value is false. + "columnFamilies": [ # [Optional] List of column families to expose in the table schema along with their types. This list restricts the column families that can be referenced in queries and specifies their value types. You can use this list to do type conversions - see the 'type' field for more details. If you leave this list empty, all column families are present in the table schema and their values are read as BYTES. During a query only the column families referenced in that query are read from Bigtable. + { + "familyId": "A String", # Identifier of the column family. + "type": "A String", # [Optional] The type to convert the value in cells of this column family. The values are expected to be encoded using HBase Bytes.toBytes function when using the BINARY encoding value. Following BigQuery types are allowed (case-sensitive) - BYTES STRING INTEGER FLOAT BOOLEAN Defaut type is BYTES. This can be overridden for a specific column by listing that column in 'columns' and specifying a type for it. + "onlyReadLatest": True or False, # [Optional] If this is set only the latest version of value are exposed for all columns in this column family. This can be overridden for a specific column by listing that column in 'columns' and specifying a different setting for that column. + "columns": [ # [Optional] Lists of columns that should be exposed as individual fields as opposed to a list of (column name, value) pairs. All columns whose qualifier matches a qualifier in this list can be accessed as .. Other columns can be accessed as a list through .Column field. + { + "encoding": "A String", # [Optional] The encoding of the values when the type is not STRING. Acceptable encoding values are: TEXT - indicates values are alphanumeric text strings. BINARY - indicates values are encoded using HBase Bytes.toBytes family of functions. 'encoding' can also be set at the column family level. However, the setting at this level takes precedence if 'encoding' is set at both levels. + "qualifierEncoded": "A String", # [Required] Qualifier of the column. Columns in the parent column family that has this exact qualifier are exposed as . field. If the qualifier is valid UTF-8 string, it can be specified in the qualifier_string field. Otherwise, a base-64 encoded value must be set to qualifier_encoded. The column field name is the same as the column qualifier. However, if the qualifier is not a valid BigQuery field identifier i.e. does not match [a-zA-Z][a-zA-Z0-9_]*, a valid identifier must be provided as field_name. + "fieldName": "A String", # [Optional] If the qualifier is not a valid BigQuery field identifier i.e. does not match [a-zA-Z][a-zA-Z0-9_]*, a valid identifier must be provided as the column field name and is used as field name in queries. + "onlyReadLatest": True or False, # [Optional] If this is set, only the latest version of value in this column are exposed. 'onlyReadLatest' can also be set at the column family level. However, the setting at this level takes precedence if 'onlyReadLatest' is set at both levels. + "qualifierString": "A String", + "type": "A String", # [Optional] The type to convert the value in cells of this column. The values are expected to be encoded using HBase Bytes.toBytes function when using the BINARY encoding value. Following BigQuery types are allowed (case-sensitive) - BYTES STRING INTEGER FLOAT BOOLEAN Defaut type is BYTES. 'type' can also be set at the column family level. However, the setting at this level takes precedence if 'type' is set at both levels. + }, + ], + "encoding": "A String", # [Optional] The encoding of the values when the type is not STRING. Acceptable encoding values are: TEXT - indicates values are alphanumeric text strings. BINARY - indicates values are encoded using HBase Bytes.toBytes family of functions. This can be overridden for a specific column by listing that column in 'columns' and specifying an encoding for it. + }, + ], + }, + "sourceFormat": "A String", # [Required] The data format. For CSV files, specify "CSV". For Google sheets, specify "GOOGLE_SHEETS". For newline-delimited JSON, specify "NEWLINE_DELIMITED_JSON". For Avro files, specify "AVRO". For Google Cloud Datastore backups, specify "DATASTORE_BACKUP". [Experimental] For Google Cloud Bigtable, specify "BIGTABLE". Please note that reading from Google Cloud Bigtable is experimental and has to be enabled for your project. Please contact Google Cloud Support to enable this for your project. + "googleSheetsOptions": { # [Optional] Additional options if sourceFormat is set to GOOGLE_SHEETS. + "skipLeadingRows": "A String", # [Optional] The number of rows at the top of a sheet that BigQuery will skip when reading the data. The default value is 0. This property is useful if you have header rows that should be skipped. When autodetect is on, behavior is the following: * skipLeadingRows unspecified - Autodetect tries to detect headers in the first row. If they are not detected, the row is read as data. Otherwise data is read starting from the second row. * skipLeadingRows is 0 - Instructs autodetect that there are no headers and data should be read starting from the first row. * skipLeadingRows = N > 0 - Autodetect skips N-1 rows and tries to detect headers in row N. If headers are not detected, row N is just skipped. Otherwise row N is used to extract column names for the detected schema. + }, + "schema": { # [Optional] The schema for the data. Schema is required for CSV and JSON formats. Schema is disallowed for Google Cloud Bigtable, Cloud Datastore backups, and Avro formats. "fields": [ # Describes the fields in a table. { "fields": [ # [Optional] Describes the nested schema fields if the type property is set to RECORD. # Object with schema name: TableFieldSchema ], - "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema). + "type": "A String", # [Required] The field data type. Possible values include STRING, BYTES, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema). "description": "A String", # [Optional] The field description. The maximum length is 16K characters. "name": "A String", # [Required] The field name. The name must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_), and must start with a letter or underscore. The maximum length is 128 characters. "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE. @@ -340,32 +434,28 @@

Method Details

"oldestEntryTime": "A String", # [Output-only] Contains the timestamp of the oldest entry in the streaming buffer, in milliseconds since the epoch, if the streaming buffer is available. }, "friendlyName": "A String", # [Optional] A descriptive name for this table. - "expirationTime": "A String", # [Optional] The time when this table expires, in milliseconds since the epoch. If not present, the table will persist indefinitely. Expired tables will be deleted and their storage reclaimed. - "view": { # [Optional] The view definition. - "query": "A String", # [Required] A query that BigQuery executes when the view is referenced. - "userDefinedFunctionResources": [ # [Experimental] Describes user-defined function resources used in the query. - { - "resourceUri": "A String", # [Pick one] A code resource to load from a Google Cloud Storage URI (gs://bucket/path). - "inlineCode": "A String", # [Pick one] An inline resource that contains code for a user-defined function (UDF). Providing a inline code resource is equivalent to providing a URI for a file containing the same code. - }, - ], + "timePartitioning": { # [Experimental] If specified, configures time-based partitioning for this table. + "type": "A String", # [Required] The only type supported is DAY, which will generate one partition per day based on data loading time. + "expirationMs": "A String", # [Optional] Number of milliseconds for which to keep the storage for a partition. }, - "type": "A String", # [Output-only] Describes the table type. The following values are supported: TABLE: A normal BigQuery table. VIEW: A virtual table defined by a SQL query. EXTERNAL: A table that references data stored in an external storage system, such as Google Cloud Storage. The default value is TABLE. - "id": "A String", # [Output-only] An opaque ID uniquely identifying the table. - "selfLink": "A String", # [Output-only] A URL that can be used to access this resource again. + "expirationTime": "A String", # [Optional] The time when this table expires, in milliseconds since the epoch. If not present, the table will persist indefinitely. Expired tables will be deleted and their storage reclaimed. "schema": { # [Optional] Describes the schema of this table. "fields": [ # Describes the fields in a table. { "fields": [ # [Optional] Describes the nested schema fields if the type property is set to RECORD. # Object with schema name: TableFieldSchema ], - "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema). + "type": "A String", # [Required] The field data type. Possible values include STRING, BYTES, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema). "description": "A String", # [Optional] The field description. The maximum length is 16K characters. "name": "A String", # [Required] The field name. The name must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_), and must start with a letter or underscore. The maximum length is 128 characters. "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE. }, ], }, + "type": "A String", # [Output-only] Describes the table type. The following values are supported: TABLE: A normal BigQuery table. VIEW: A virtual table defined by a SQL query. EXTERNAL: A table that references data stored in an external storage system, such as Google Cloud Storage. The default value is TABLE. + "id": "A String", # [Output-only] An opaque ID uniquely identifying the table. + "selfLink": "A String", # [Output-only] A URL that can be used to access this resource again. + "numLongTermBytes": "A String", # [Output-only] The number of bytes in the table that are considered "long-term storage". } @@ -433,29 +523,63 @@

Method Details

"lastModifiedTime": "A String", # [Output-only] The time when this table was last modified, in milliseconds since the epoch. "description": "A String", # [Optional] A user-friendly description of this table. "creationTime": "A String", # [Output-only] The time when this table was created, in milliseconds since the epoch. + "view": { # [Optional] The view definition. + "query": "A String", # [Required] A query that BigQuery executes when the view is referenced. + "userDefinedFunctionResources": [ # [Experimental] Describes user-defined function resources used in the query. + { + "resourceUri": "A String", # [Pick one] A code resource to load from a Google Cloud Storage URI (gs://bucket/path). + "inlineCode": "A String", # [Pick one] An inline resource that contains code for a user-defined function (UDF). Providing a inline code resource is equivalent to providing a URI for a file containing the same code. + }, + ], + }, "externalDataConfiguration": { # [Optional] Describes the data format, location, and other properties of a table stored outside of BigQuery. By defining these properties, the data source can then be queried as if it were a standard BigQuery table. - "compression": "A String", # [Optional] The compression type of the data source. Possible values include GZIP and NONE. The default value is NONE. This setting is ignored for Google Cloud Datastore backups. + "compression": "A String", # [Optional] The compression type of the data source. Possible values include GZIP and NONE. The default value is NONE. This setting is ignored for Google Cloud Bigtable, Google Cloud Datastore backups and Avro formats. "csvOptions": { # Additional properties to set if sourceFormat is set to CSV. "fieldDelimiter": "A String", # [Optional] The separator for fields in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. BigQuery also supports the escape sequence "\t" to specify a tab separator. The default value is a comma (','). "encoding": "A String", # [Optional] The character encoding of the data. The supported values are UTF-8 or ISO-8859-1. The default value is UTF-8. BigQuery decodes the data after the raw, binary data has been split using the values of the quote and fieldDelimiter properties. - "skipLeadingRows": 42, # [Optional] The number of rows at the top of a CSV file that BigQuery will skip when reading the data. The default value is 0. This property is useful if you have header rows in the file that should be skipped. + "skipLeadingRows": "A String", # [Optional] The number of rows at the top of a CSV file that BigQuery will skip when reading the data. The default value is 0. This property is useful if you have header rows in the file that should be skipped. "allowJaggedRows": True or False, # [Optional] Indicates if BigQuery should accept rows that are missing trailing optional columns. If true, BigQuery treats missing trailing columns as null values. If false, records with missing trailing columns are treated as bad records, and if there are too many bad records, an invalid error is returned in the job result. The default value is false. "quote": """, # [Optional] The value that is used to quote data sections in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. The default value is a double-quote ('"'). If your data does not contain quoted sections, set the property value to an empty string. If your data contains quoted newline characters, you must also set the allowQuotedNewlines property to true. "allowQuotedNewlines": True or False, # [Optional] Indicates if BigQuery should allow quoted data sections that contain newline characters in a CSV file. The default value is false. }, - "sourceFormat": "A String", # [Required] The data format. For CSV files, specify "CSV". For newline-delimited JSON, specify "NEWLINE_DELIMITED_JSON". For Google Cloud Datastore backups, specify "DATASTORE_BACKUP". - "maxBadRecords": 42, # [Optional] The maximum number of bad records that BigQuery can ignore when reading data. If the number of bad records exceeds this value, an invalid error is returned in the job result. The default value is 0, which requires that all records are valid. This setting is ignored for Google Cloud Datastore backups. - "ignoreUnknownValues": True or False, # [Optional] Indicates if BigQuery should allow extra values that are not represented in the table schema. If true, the extra values are ignored. If false, records with extra columns are treated as bad records, and if there are too many bad records, an invalid error is returned in the job result. The default value is false. The sourceFormat property determines what BigQuery treats as an extra value: CSV: Trailing columns JSON: Named values that don't match any column names Google Cloud Datastore backups: This setting is ignored. - "sourceUris": [ # [Required] The fully-qualified URIs that point to your data in Google Cloud Storage. Each URI can contain one '*' wildcard character and it must come after the 'bucket' name. Size limits related to load jobs apply to external data sources, plus an additional limit of 10 GB maximum size across all URIs. For Google Cloud Datastore backups, exactly one URI can be specified, and it must end with '.backup_info'. Also, the '*' wildcard character is not allowed. + "autodetect": True or False, # [Experimental] Try to detect schema and format options automatically. Any option specified explicitly will be honored. + "maxBadRecords": 42, # [Optional] The maximum number of bad records that BigQuery can ignore when reading data. If the number of bad records exceeds this value, an invalid error is returned in the job result. The default value is 0, which requires that all records are valid. This setting is ignored for Google Cloud Bigtable, Google Cloud Datastore backups and Avro formats. + "ignoreUnknownValues": True or False, # [Optional] Indicates if BigQuery should allow extra values that are not represented in the table schema. If true, the extra values are ignored. If false, records with extra columns are treated as bad records, and if there are too many bad records, an invalid error is returned in the job result. The default value is false. The sourceFormat property determines what BigQuery treats as an extra value: CSV: Trailing columns JSON: Named values that don't match any column names Google Cloud Bigtable: This setting is ignored. Google Cloud Datastore backups: This setting is ignored. Avro: This setting is ignored. + "sourceUris": [ # [Required] The fully-qualified URIs that point to your data in Google Cloud. For Google Cloud Storage URIs: Each URI can contain one '*' wildcard character and it must come after the 'bucket' name. Size limits related to load jobs apply to external data sources. For Google Cloud Bigtable URIs: Exactly one URI can be specified and it has be a fully specified and valid HTTPS URL for a Google Cloud Bigtable table. For Google Cloud Datastore backups, exactly one URI can be specified, and it must end with '.backup_info'. Also, the '*' wildcard character is not allowed. "A String", ], - "schema": { # [Optional] The schema for the data. Schema is required for CSV and JSON formats. Schema is disallowed for Google Cloud Datastore backups. + "bigtableOptions": { # [Optional] Additional options if sourceFormat is set to BIGTABLE. + "ignoreUnspecifiedColumnFamilies": True or False, # [Optional] If field is true, then the column families that are not specified in columnFamilies list are not exposed in the table schema. Otherwise, they are read with BYTES type values. The default value is false. + "columnFamilies": [ # [Optional] List of column families to expose in the table schema along with their types. This list restricts the column families that can be referenced in queries and specifies their value types. You can use this list to do type conversions - see the 'type' field for more details. If you leave this list empty, all column families are present in the table schema and their values are read as BYTES. During a query only the column families referenced in that query are read from Bigtable. + { + "familyId": "A String", # Identifier of the column family. + "type": "A String", # [Optional] The type to convert the value in cells of this column family. The values are expected to be encoded using HBase Bytes.toBytes function when using the BINARY encoding value. Following BigQuery types are allowed (case-sensitive) - BYTES STRING INTEGER FLOAT BOOLEAN Defaut type is BYTES. This can be overridden for a specific column by listing that column in 'columns' and specifying a type for it. + "onlyReadLatest": True or False, # [Optional] If this is set only the latest version of value are exposed for all columns in this column family. This can be overridden for a specific column by listing that column in 'columns' and specifying a different setting for that column. + "columns": [ # [Optional] Lists of columns that should be exposed as individual fields as opposed to a list of (column name, value) pairs. All columns whose qualifier matches a qualifier in this list can be accessed as .. Other columns can be accessed as a list through .Column field. + { + "encoding": "A String", # [Optional] The encoding of the values when the type is not STRING. Acceptable encoding values are: TEXT - indicates values are alphanumeric text strings. BINARY - indicates values are encoded using HBase Bytes.toBytes family of functions. 'encoding' can also be set at the column family level. However, the setting at this level takes precedence if 'encoding' is set at both levels. + "qualifierEncoded": "A String", # [Required] Qualifier of the column. Columns in the parent column family that has this exact qualifier are exposed as . field. If the qualifier is valid UTF-8 string, it can be specified in the qualifier_string field. Otherwise, a base-64 encoded value must be set to qualifier_encoded. The column field name is the same as the column qualifier. However, if the qualifier is not a valid BigQuery field identifier i.e. does not match [a-zA-Z][a-zA-Z0-9_]*, a valid identifier must be provided as field_name. + "fieldName": "A String", # [Optional] If the qualifier is not a valid BigQuery field identifier i.e. does not match [a-zA-Z][a-zA-Z0-9_]*, a valid identifier must be provided as the column field name and is used as field name in queries. + "onlyReadLatest": True or False, # [Optional] If this is set, only the latest version of value in this column are exposed. 'onlyReadLatest' can also be set at the column family level. However, the setting at this level takes precedence if 'onlyReadLatest' is set at both levels. + "qualifierString": "A String", + "type": "A String", # [Optional] The type to convert the value in cells of this column. The values are expected to be encoded using HBase Bytes.toBytes function when using the BINARY encoding value. Following BigQuery types are allowed (case-sensitive) - BYTES STRING INTEGER FLOAT BOOLEAN Defaut type is BYTES. 'type' can also be set at the column family level. However, the setting at this level takes precedence if 'type' is set at both levels. + }, + ], + "encoding": "A String", # [Optional] The encoding of the values when the type is not STRING. Acceptable encoding values are: TEXT - indicates values are alphanumeric text strings. BINARY - indicates values are encoded using HBase Bytes.toBytes family of functions. This can be overridden for a specific column by listing that column in 'columns' and specifying an encoding for it. + }, + ], + }, + "sourceFormat": "A String", # [Required] The data format. For CSV files, specify "CSV". For Google sheets, specify "GOOGLE_SHEETS". For newline-delimited JSON, specify "NEWLINE_DELIMITED_JSON". For Avro files, specify "AVRO". For Google Cloud Datastore backups, specify "DATASTORE_BACKUP". [Experimental] For Google Cloud Bigtable, specify "BIGTABLE". Please note that reading from Google Cloud Bigtable is experimental and has to be enabled for your project. Please contact Google Cloud Support to enable this for your project. + "googleSheetsOptions": { # [Optional] Additional options if sourceFormat is set to GOOGLE_SHEETS. + "skipLeadingRows": "A String", # [Optional] The number of rows at the top of a sheet that BigQuery will skip when reading the data. The default value is 0. This property is useful if you have header rows that should be skipped. When autodetect is on, behavior is the following: * skipLeadingRows unspecified - Autodetect tries to detect headers in the first row. If they are not detected, the row is read as data. Otherwise data is read starting from the second row. * skipLeadingRows is 0 - Instructs autodetect that there are no headers and data should be read starting from the first row. * skipLeadingRows = N > 0 - Autodetect skips N-1 rows and tries to detect headers in row N. If headers are not detected, row N is just skipped. Otherwise row N is used to extract column names for the detected schema. + }, + "schema": { # [Optional] The schema for the data. Schema is required for CSV and JSON formats. Schema is disallowed for Google Cloud Bigtable, Cloud Datastore backups, and Avro formats. "fields": [ # Describes the fields in a table. { "fields": [ # [Optional] Describes the nested schema fields if the type property is set to RECORD. # Object with schema name: TableFieldSchema ], - "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema). + "type": "A String", # [Required] The field data type. Possible values include STRING, BYTES, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema). "description": "A String", # [Optional] The field description. The maximum length is 16K characters. "name": "A String", # [Required] The field name. The name must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_), and must start with a letter or underscore. The maximum length is 128 characters. "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE. @@ -478,32 +602,28 @@

Method Details

"oldestEntryTime": "A String", # [Output-only] Contains the timestamp of the oldest entry in the streaming buffer, in milliseconds since the epoch, if the streaming buffer is available. }, "friendlyName": "A String", # [Optional] A descriptive name for this table. - "expirationTime": "A String", # [Optional] The time when this table expires, in milliseconds since the epoch. If not present, the table will persist indefinitely. Expired tables will be deleted and their storage reclaimed. - "view": { # [Optional] The view definition. - "query": "A String", # [Required] A query that BigQuery executes when the view is referenced. - "userDefinedFunctionResources": [ # [Experimental] Describes user-defined function resources used in the query. - { - "resourceUri": "A String", # [Pick one] A code resource to load from a Google Cloud Storage URI (gs://bucket/path). - "inlineCode": "A String", # [Pick one] An inline resource that contains code for a user-defined function (UDF). Providing a inline code resource is equivalent to providing a URI for a file containing the same code. - }, - ], + "timePartitioning": { # [Experimental] If specified, configures time-based partitioning for this table. + "type": "A String", # [Required] The only type supported is DAY, which will generate one partition per day based on data loading time. + "expirationMs": "A String", # [Optional] Number of milliseconds for which to keep the storage for a partition. }, - "type": "A String", # [Output-only] Describes the table type. The following values are supported: TABLE: A normal BigQuery table. VIEW: A virtual table defined by a SQL query. EXTERNAL: A table that references data stored in an external storage system, such as Google Cloud Storage. The default value is TABLE. - "id": "A String", # [Output-only] An opaque ID uniquely identifying the table. - "selfLink": "A String", # [Output-only] A URL that can be used to access this resource again. + "expirationTime": "A String", # [Optional] The time when this table expires, in milliseconds since the epoch. If not present, the table will persist indefinitely. Expired tables will be deleted and their storage reclaimed. "schema": { # [Optional] Describes the schema of this table. "fields": [ # Describes the fields in a table. { "fields": [ # [Optional] Describes the nested schema fields if the type property is set to RECORD. # Object with schema name: TableFieldSchema ], - "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema). + "type": "A String", # [Required] The field data type. Possible values include STRING, BYTES, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema). "description": "A String", # [Optional] The field description. The maximum length is 16K characters. "name": "A String", # [Required] The field name. The name must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_), and must start with a letter or underscore. The maximum length is 128 characters. "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE. }, ], }, + "type": "A String", # [Output-only] Describes the table type. The following values are supported: TABLE: A normal BigQuery table. VIEW: A virtual table defined by a SQL query. EXTERNAL: A table that references data stored in an external storage system, such as Google Cloud Storage. The default value is TABLE. + "id": "A String", # [Output-only] An opaque ID uniquely identifying the table. + "selfLink": "A String", # [Output-only] A URL that can be used to access this resource again. + "numLongTermBytes": "A String", # [Output-only] The number of bytes in the table that are considered "long-term storage". } @@ -515,29 +635,63 @@

Method Details

"lastModifiedTime": "A String", # [Output-only] The time when this table was last modified, in milliseconds since the epoch. "description": "A String", # [Optional] A user-friendly description of this table. "creationTime": "A String", # [Output-only] The time when this table was created, in milliseconds since the epoch. + "view": { # [Optional] The view definition. + "query": "A String", # [Required] A query that BigQuery executes when the view is referenced. + "userDefinedFunctionResources": [ # [Experimental] Describes user-defined function resources used in the query. + { + "resourceUri": "A String", # [Pick one] A code resource to load from a Google Cloud Storage URI (gs://bucket/path). + "inlineCode": "A String", # [Pick one] An inline resource that contains code for a user-defined function (UDF). Providing a inline code resource is equivalent to providing a URI for a file containing the same code. + }, + ], + }, "externalDataConfiguration": { # [Optional] Describes the data format, location, and other properties of a table stored outside of BigQuery. By defining these properties, the data source can then be queried as if it were a standard BigQuery table. - "compression": "A String", # [Optional] The compression type of the data source. Possible values include GZIP and NONE. The default value is NONE. This setting is ignored for Google Cloud Datastore backups. + "compression": "A String", # [Optional] The compression type of the data source. Possible values include GZIP and NONE. The default value is NONE. This setting is ignored for Google Cloud Bigtable, Google Cloud Datastore backups and Avro formats. "csvOptions": { # Additional properties to set if sourceFormat is set to CSV. "fieldDelimiter": "A String", # [Optional] The separator for fields in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. BigQuery also supports the escape sequence "\t" to specify a tab separator. The default value is a comma (','). "encoding": "A String", # [Optional] The character encoding of the data. The supported values are UTF-8 or ISO-8859-1. The default value is UTF-8. BigQuery decodes the data after the raw, binary data has been split using the values of the quote and fieldDelimiter properties. - "skipLeadingRows": 42, # [Optional] The number of rows at the top of a CSV file that BigQuery will skip when reading the data. The default value is 0. This property is useful if you have header rows in the file that should be skipped. + "skipLeadingRows": "A String", # [Optional] The number of rows at the top of a CSV file that BigQuery will skip when reading the data. The default value is 0. This property is useful if you have header rows in the file that should be skipped. "allowJaggedRows": True or False, # [Optional] Indicates if BigQuery should accept rows that are missing trailing optional columns. If true, BigQuery treats missing trailing columns as null values. If false, records with missing trailing columns are treated as bad records, and if there are too many bad records, an invalid error is returned in the job result. The default value is false. "quote": """, # [Optional] The value that is used to quote data sections in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. The default value is a double-quote ('"'). If your data does not contain quoted sections, set the property value to an empty string. If your data contains quoted newline characters, you must also set the allowQuotedNewlines property to true. "allowQuotedNewlines": True or False, # [Optional] Indicates if BigQuery should allow quoted data sections that contain newline characters in a CSV file. The default value is false. }, - "sourceFormat": "A String", # [Required] The data format. For CSV files, specify "CSV". For newline-delimited JSON, specify "NEWLINE_DELIMITED_JSON". For Google Cloud Datastore backups, specify "DATASTORE_BACKUP". - "maxBadRecords": 42, # [Optional] The maximum number of bad records that BigQuery can ignore when reading data. If the number of bad records exceeds this value, an invalid error is returned in the job result. The default value is 0, which requires that all records are valid. This setting is ignored for Google Cloud Datastore backups. - "ignoreUnknownValues": True or False, # [Optional] Indicates if BigQuery should allow extra values that are not represented in the table schema. If true, the extra values are ignored. If false, records with extra columns are treated as bad records, and if there are too many bad records, an invalid error is returned in the job result. The default value is false. The sourceFormat property determines what BigQuery treats as an extra value: CSV: Trailing columns JSON: Named values that don't match any column names Google Cloud Datastore backups: This setting is ignored. - "sourceUris": [ # [Required] The fully-qualified URIs that point to your data in Google Cloud Storage. Each URI can contain one '*' wildcard character and it must come after the 'bucket' name. Size limits related to load jobs apply to external data sources, plus an additional limit of 10 GB maximum size across all URIs. For Google Cloud Datastore backups, exactly one URI can be specified, and it must end with '.backup_info'. Also, the '*' wildcard character is not allowed. + "autodetect": True or False, # [Experimental] Try to detect schema and format options automatically. Any option specified explicitly will be honored. + "maxBadRecords": 42, # [Optional] The maximum number of bad records that BigQuery can ignore when reading data. If the number of bad records exceeds this value, an invalid error is returned in the job result. The default value is 0, which requires that all records are valid. This setting is ignored for Google Cloud Bigtable, Google Cloud Datastore backups and Avro formats. + "ignoreUnknownValues": True or False, # [Optional] Indicates if BigQuery should allow extra values that are not represented in the table schema. If true, the extra values are ignored. If false, records with extra columns are treated as bad records, and if there are too many bad records, an invalid error is returned in the job result. The default value is false. The sourceFormat property determines what BigQuery treats as an extra value: CSV: Trailing columns JSON: Named values that don't match any column names Google Cloud Bigtable: This setting is ignored. Google Cloud Datastore backups: This setting is ignored. Avro: This setting is ignored. + "sourceUris": [ # [Required] The fully-qualified URIs that point to your data in Google Cloud. For Google Cloud Storage URIs: Each URI can contain one '*' wildcard character and it must come after the 'bucket' name. Size limits related to load jobs apply to external data sources. For Google Cloud Bigtable URIs: Exactly one URI can be specified and it has be a fully specified and valid HTTPS URL for a Google Cloud Bigtable table. For Google Cloud Datastore backups, exactly one URI can be specified, and it must end with '.backup_info'. Also, the '*' wildcard character is not allowed. "A String", ], - "schema": { # [Optional] The schema for the data. Schema is required for CSV and JSON formats. Schema is disallowed for Google Cloud Datastore backups. + "bigtableOptions": { # [Optional] Additional options if sourceFormat is set to BIGTABLE. + "ignoreUnspecifiedColumnFamilies": True or False, # [Optional] If field is true, then the column families that are not specified in columnFamilies list are not exposed in the table schema. Otherwise, they are read with BYTES type values. The default value is false. + "columnFamilies": [ # [Optional] List of column families to expose in the table schema along with their types. This list restricts the column families that can be referenced in queries and specifies their value types. You can use this list to do type conversions - see the 'type' field for more details. If you leave this list empty, all column families are present in the table schema and their values are read as BYTES. During a query only the column families referenced in that query are read from Bigtable. + { + "familyId": "A String", # Identifier of the column family. + "type": "A String", # [Optional] The type to convert the value in cells of this column family. The values are expected to be encoded using HBase Bytes.toBytes function when using the BINARY encoding value. Following BigQuery types are allowed (case-sensitive) - BYTES STRING INTEGER FLOAT BOOLEAN Defaut type is BYTES. This can be overridden for a specific column by listing that column in 'columns' and specifying a type for it. + "onlyReadLatest": True or False, # [Optional] If this is set only the latest version of value are exposed for all columns in this column family. This can be overridden for a specific column by listing that column in 'columns' and specifying a different setting for that column. + "columns": [ # [Optional] Lists of columns that should be exposed as individual fields as opposed to a list of (column name, value) pairs. All columns whose qualifier matches a qualifier in this list can be accessed as .. Other columns can be accessed as a list through .Column field. + { + "encoding": "A String", # [Optional] The encoding of the values when the type is not STRING. Acceptable encoding values are: TEXT - indicates values are alphanumeric text strings. BINARY - indicates values are encoded using HBase Bytes.toBytes family of functions. 'encoding' can also be set at the column family level. However, the setting at this level takes precedence if 'encoding' is set at both levels. + "qualifierEncoded": "A String", # [Required] Qualifier of the column. Columns in the parent column family that has this exact qualifier are exposed as . field. If the qualifier is valid UTF-8 string, it can be specified in the qualifier_string field. Otherwise, a base-64 encoded value must be set to qualifier_encoded. The column field name is the same as the column qualifier. However, if the qualifier is not a valid BigQuery field identifier i.e. does not match [a-zA-Z][a-zA-Z0-9_]*, a valid identifier must be provided as field_name. + "fieldName": "A String", # [Optional] If the qualifier is not a valid BigQuery field identifier i.e. does not match [a-zA-Z][a-zA-Z0-9_]*, a valid identifier must be provided as the column field name and is used as field name in queries. + "onlyReadLatest": True or False, # [Optional] If this is set, only the latest version of value in this column are exposed. 'onlyReadLatest' can also be set at the column family level. However, the setting at this level takes precedence if 'onlyReadLatest' is set at both levels. + "qualifierString": "A String", + "type": "A String", # [Optional] The type to convert the value in cells of this column. The values are expected to be encoded using HBase Bytes.toBytes function when using the BINARY encoding value. Following BigQuery types are allowed (case-sensitive) - BYTES STRING INTEGER FLOAT BOOLEAN Defaut type is BYTES. 'type' can also be set at the column family level. However, the setting at this level takes precedence if 'type' is set at both levels. + }, + ], + "encoding": "A String", # [Optional] The encoding of the values when the type is not STRING. Acceptable encoding values are: TEXT - indicates values are alphanumeric text strings. BINARY - indicates values are encoded using HBase Bytes.toBytes family of functions. This can be overridden for a specific column by listing that column in 'columns' and specifying an encoding for it. + }, + ], + }, + "sourceFormat": "A String", # [Required] The data format. For CSV files, specify "CSV". For Google sheets, specify "GOOGLE_SHEETS". For newline-delimited JSON, specify "NEWLINE_DELIMITED_JSON". For Avro files, specify "AVRO". For Google Cloud Datastore backups, specify "DATASTORE_BACKUP". [Experimental] For Google Cloud Bigtable, specify "BIGTABLE". Please note that reading from Google Cloud Bigtable is experimental and has to be enabled for your project. Please contact Google Cloud Support to enable this for your project. + "googleSheetsOptions": { # [Optional] Additional options if sourceFormat is set to GOOGLE_SHEETS. + "skipLeadingRows": "A String", # [Optional] The number of rows at the top of a sheet that BigQuery will skip when reading the data. The default value is 0. This property is useful if you have header rows that should be skipped. When autodetect is on, behavior is the following: * skipLeadingRows unspecified - Autodetect tries to detect headers in the first row. If they are not detected, the row is read as data. Otherwise data is read starting from the second row. * skipLeadingRows is 0 - Instructs autodetect that there are no headers and data should be read starting from the first row. * skipLeadingRows = N > 0 - Autodetect skips N-1 rows and tries to detect headers in row N. If headers are not detected, row N is just skipped. Otherwise row N is used to extract column names for the detected schema. + }, + "schema": { # [Optional] The schema for the data. Schema is required for CSV and JSON formats. Schema is disallowed for Google Cloud Bigtable, Cloud Datastore backups, and Avro formats. "fields": [ # Describes the fields in a table. { "fields": [ # [Optional] Describes the nested schema fields if the type property is set to RECORD. # Object with schema name: TableFieldSchema ], - "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema). + "type": "A String", # [Required] The field data type. Possible values include STRING, BYTES, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema). "description": "A String", # [Optional] The field description. The maximum length is 16K characters. "name": "A String", # [Required] The field name. The name must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_), and must start with a letter or underscore. The maximum length is 128 characters. "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE. @@ -560,32 +714,28 @@

Method Details

"oldestEntryTime": "A String", # [Output-only] Contains the timestamp of the oldest entry in the streaming buffer, in milliseconds since the epoch, if the streaming buffer is available. }, "friendlyName": "A String", # [Optional] A descriptive name for this table. - "expirationTime": "A String", # [Optional] The time when this table expires, in milliseconds since the epoch. If not present, the table will persist indefinitely. Expired tables will be deleted and their storage reclaimed. - "view": { # [Optional] The view definition. - "query": "A String", # [Required] A query that BigQuery executes when the view is referenced. - "userDefinedFunctionResources": [ # [Experimental] Describes user-defined function resources used in the query. - { - "resourceUri": "A String", # [Pick one] A code resource to load from a Google Cloud Storage URI (gs://bucket/path). - "inlineCode": "A String", # [Pick one] An inline resource that contains code for a user-defined function (UDF). Providing a inline code resource is equivalent to providing a URI for a file containing the same code. - }, - ], + "timePartitioning": { # [Experimental] If specified, configures time-based partitioning for this table. + "type": "A String", # [Required] The only type supported is DAY, which will generate one partition per day based on data loading time. + "expirationMs": "A String", # [Optional] Number of milliseconds for which to keep the storage for a partition. }, - "type": "A String", # [Output-only] Describes the table type. The following values are supported: TABLE: A normal BigQuery table. VIEW: A virtual table defined by a SQL query. EXTERNAL: A table that references data stored in an external storage system, such as Google Cloud Storage. The default value is TABLE. - "id": "A String", # [Output-only] An opaque ID uniquely identifying the table. - "selfLink": "A String", # [Output-only] A URL that can be used to access this resource again. + "expirationTime": "A String", # [Optional] The time when this table expires, in milliseconds since the epoch. If not present, the table will persist indefinitely. Expired tables will be deleted and their storage reclaimed. "schema": { # [Optional] Describes the schema of this table. "fields": [ # Describes the fields in a table. { "fields": [ # [Optional] Describes the nested schema fields if the type property is set to RECORD. # Object with schema name: TableFieldSchema ], - "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema). + "type": "A String", # [Required] The field data type. Possible values include STRING, BYTES, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema). "description": "A String", # [Optional] The field description. The maximum length is 16K characters. "name": "A String", # [Required] The field name. The name must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_), and must start with a letter or underscore. The maximum length is 128 characters. "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE. }, ], }, + "type": "A String", # [Output-only] Describes the table type. The following values are supported: TABLE: A normal BigQuery table. VIEW: A virtual table defined by a SQL query. EXTERNAL: A table that references data stored in an external storage system, such as Google Cloud Storage. The default value is TABLE. + "id": "A String", # [Output-only] An opaque ID uniquely identifying the table. + "selfLink": "A String", # [Output-only] A URL that can be used to access this resource again. + "numLongTermBytes": "A String", # [Output-only] The number of bytes in the table that are considered "long-term storage". } @@ -605,29 +755,63 @@

Method Details

"lastModifiedTime": "A String", # [Output-only] The time when this table was last modified, in milliseconds since the epoch. "description": "A String", # [Optional] A user-friendly description of this table. "creationTime": "A String", # [Output-only] The time when this table was created, in milliseconds since the epoch. + "view": { # [Optional] The view definition. + "query": "A String", # [Required] A query that BigQuery executes when the view is referenced. + "userDefinedFunctionResources": [ # [Experimental] Describes user-defined function resources used in the query. + { + "resourceUri": "A String", # [Pick one] A code resource to load from a Google Cloud Storage URI (gs://bucket/path). + "inlineCode": "A String", # [Pick one] An inline resource that contains code for a user-defined function (UDF). Providing a inline code resource is equivalent to providing a URI for a file containing the same code. + }, + ], + }, "externalDataConfiguration": { # [Optional] Describes the data format, location, and other properties of a table stored outside of BigQuery. By defining these properties, the data source can then be queried as if it were a standard BigQuery table. - "compression": "A String", # [Optional] The compression type of the data source. Possible values include GZIP and NONE. The default value is NONE. This setting is ignored for Google Cloud Datastore backups. + "compression": "A String", # [Optional] The compression type of the data source. Possible values include GZIP and NONE. The default value is NONE. This setting is ignored for Google Cloud Bigtable, Google Cloud Datastore backups and Avro formats. "csvOptions": { # Additional properties to set if sourceFormat is set to CSV. "fieldDelimiter": "A String", # [Optional] The separator for fields in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. BigQuery also supports the escape sequence "\t" to specify a tab separator. The default value is a comma (','). "encoding": "A String", # [Optional] The character encoding of the data. The supported values are UTF-8 or ISO-8859-1. The default value is UTF-8. BigQuery decodes the data after the raw, binary data has been split using the values of the quote and fieldDelimiter properties. - "skipLeadingRows": 42, # [Optional] The number of rows at the top of a CSV file that BigQuery will skip when reading the data. The default value is 0. This property is useful if you have header rows in the file that should be skipped. + "skipLeadingRows": "A String", # [Optional] The number of rows at the top of a CSV file that BigQuery will skip when reading the data. The default value is 0. This property is useful if you have header rows in the file that should be skipped. "allowJaggedRows": True or False, # [Optional] Indicates if BigQuery should accept rows that are missing trailing optional columns. If true, BigQuery treats missing trailing columns as null values. If false, records with missing trailing columns are treated as bad records, and if there are too many bad records, an invalid error is returned in the job result. The default value is false. "quote": """, # [Optional] The value that is used to quote data sections in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. The default value is a double-quote ('"'). If your data does not contain quoted sections, set the property value to an empty string. If your data contains quoted newline characters, you must also set the allowQuotedNewlines property to true. "allowQuotedNewlines": True or False, # [Optional] Indicates if BigQuery should allow quoted data sections that contain newline characters in a CSV file. The default value is false. }, - "sourceFormat": "A String", # [Required] The data format. For CSV files, specify "CSV". For newline-delimited JSON, specify "NEWLINE_DELIMITED_JSON". For Google Cloud Datastore backups, specify "DATASTORE_BACKUP". - "maxBadRecords": 42, # [Optional] The maximum number of bad records that BigQuery can ignore when reading data. If the number of bad records exceeds this value, an invalid error is returned in the job result. The default value is 0, which requires that all records are valid. This setting is ignored for Google Cloud Datastore backups. - "ignoreUnknownValues": True or False, # [Optional] Indicates if BigQuery should allow extra values that are not represented in the table schema. If true, the extra values are ignored. If false, records with extra columns are treated as bad records, and if there are too many bad records, an invalid error is returned in the job result. The default value is false. The sourceFormat property determines what BigQuery treats as an extra value: CSV: Trailing columns JSON: Named values that don't match any column names Google Cloud Datastore backups: This setting is ignored. - "sourceUris": [ # [Required] The fully-qualified URIs that point to your data in Google Cloud Storage. Each URI can contain one '*' wildcard character and it must come after the 'bucket' name. Size limits related to load jobs apply to external data sources, plus an additional limit of 10 GB maximum size across all URIs. For Google Cloud Datastore backups, exactly one URI can be specified, and it must end with '.backup_info'. Also, the '*' wildcard character is not allowed. + "autodetect": True or False, # [Experimental] Try to detect schema and format options automatically. Any option specified explicitly will be honored. + "maxBadRecords": 42, # [Optional] The maximum number of bad records that BigQuery can ignore when reading data. If the number of bad records exceeds this value, an invalid error is returned in the job result. The default value is 0, which requires that all records are valid. This setting is ignored for Google Cloud Bigtable, Google Cloud Datastore backups and Avro formats. + "ignoreUnknownValues": True or False, # [Optional] Indicates if BigQuery should allow extra values that are not represented in the table schema. If true, the extra values are ignored. If false, records with extra columns are treated as bad records, and if there are too many bad records, an invalid error is returned in the job result. The default value is false. The sourceFormat property determines what BigQuery treats as an extra value: CSV: Trailing columns JSON: Named values that don't match any column names Google Cloud Bigtable: This setting is ignored. Google Cloud Datastore backups: This setting is ignored. Avro: This setting is ignored. + "sourceUris": [ # [Required] The fully-qualified URIs that point to your data in Google Cloud. For Google Cloud Storage URIs: Each URI can contain one '*' wildcard character and it must come after the 'bucket' name. Size limits related to load jobs apply to external data sources. For Google Cloud Bigtable URIs: Exactly one URI can be specified and it has be a fully specified and valid HTTPS URL for a Google Cloud Bigtable table. For Google Cloud Datastore backups, exactly one URI can be specified, and it must end with '.backup_info'. Also, the '*' wildcard character is not allowed. "A String", ], - "schema": { # [Optional] The schema for the data. Schema is required for CSV and JSON formats. Schema is disallowed for Google Cloud Datastore backups. + "bigtableOptions": { # [Optional] Additional options if sourceFormat is set to BIGTABLE. + "ignoreUnspecifiedColumnFamilies": True or False, # [Optional] If field is true, then the column families that are not specified in columnFamilies list are not exposed in the table schema. Otherwise, they are read with BYTES type values. The default value is false. + "columnFamilies": [ # [Optional] List of column families to expose in the table schema along with their types. This list restricts the column families that can be referenced in queries and specifies their value types. You can use this list to do type conversions - see the 'type' field for more details. If you leave this list empty, all column families are present in the table schema and their values are read as BYTES. During a query only the column families referenced in that query are read from Bigtable. + { + "familyId": "A String", # Identifier of the column family. + "type": "A String", # [Optional] The type to convert the value in cells of this column family. The values are expected to be encoded using HBase Bytes.toBytes function when using the BINARY encoding value. Following BigQuery types are allowed (case-sensitive) - BYTES STRING INTEGER FLOAT BOOLEAN Defaut type is BYTES. This can be overridden for a specific column by listing that column in 'columns' and specifying a type for it. + "onlyReadLatest": True or False, # [Optional] If this is set only the latest version of value are exposed for all columns in this column family. This can be overridden for a specific column by listing that column in 'columns' and specifying a different setting for that column. + "columns": [ # [Optional] Lists of columns that should be exposed as individual fields as opposed to a list of (column name, value) pairs. All columns whose qualifier matches a qualifier in this list can be accessed as .. Other columns can be accessed as a list through .Column field. + { + "encoding": "A String", # [Optional] The encoding of the values when the type is not STRING. Acceptable encoding values are: TEXT - indicates values are alphanumeric text strings. BINARY - indicates values are encoded using HBase Bytes.toBytes family of functions. 'encoding' can also be set at the column family level. However, the setting at this level takes precedence if 'encoding' is set at both levels. + "qualifierEncoded": "A String", # [Required] Qualifier of the column. Columns in the parent column family that has this exact qualifier are exposed as . field. If the qualifier is valid UTF-8 string, it can be specified in the qualifier_string field. Otherwise, a base-64 encoded value must be set to qualifier_encoded. The column field name is the same as the column qualifier. However, if the qualifier is not a valid BigQuery field identifier i.e. does not match [a-zA-Z][a-zA-Z0-9_]*, a valid identifier must be provided as field_name. + "fieldName": "A String", # [Optional] If the qualifier is not a valid BigQuery field identifier i.e. does not match [a-zA-Z][a-zA-Z0-9_]*, a valid identifier must be provided as the column field name and is used as field name in queries. + "onlyReadLatest": True or False, # [Optional] If this is set, only the latest version of value in this column are exposed. 'onlyReadLatest' can also be set at the column family level. However, the setting at this level takes precedence if 'onlyReadLatest' is set at both levels. + "qualifierString": "A String", + "type": "A String", # [Optional] The type to convert the value in cells of this column. The values are expected to be encoded using HBase Bytes.toBytes function when using the BINARY encoding value. Following BigQuery types are allowed (case-sensitive) - BYTES STRING INTEGER FLOAT BOOLEAN Defaut type is BYTES. 'type' can also be set at the column family level. However, the setting at this level takes precedence if 'type' is set at both levels. + }, + ], + "encoding": "A String", # [Optional] The encoding of the values when the type is not STRING. Acceptable encoding values are: TEXT - indicates values are alphanumeric text strings. BINARY - indicates values are encoded using HBase Bytes.toBytes family of functions. This can be overridden for a specific column by listing that column in 'columns' and specifying an encoding for it. + }, + ], + }, + "sourceFormat": "A String", # [Required] The data format. For CSV files, specify "CSV". For Google sheets, specify "GOOGLE_SHEETS". For newline-delimited JSON, specify "NEWLINE_DELIMITED_JSON". For Avro files, specify "AVRO". For Google Cloud Datastore backups, specify "DATASTORE_BACKUP". [Experimental] For Google Cloud Bigtable, specify "BIGTABLE". Please note that reading from Google Cloud Bigtable is experimental and has to be enabled for your project. Please contact Google Cloud Support to enable this for your project. + "googleSheetsOptions": { # [Optional] Additional options if sourceFormat is set to GOOGLE_SHEETS. + "skipLeadingRows": "A String", # [Optional] The number of rows at the top of a sheet that BigQuery will skip when reading the data. The default value is 0. This property is useful if you have header rows that should be skipped. When autodetect is on, behavior is the following: * skipLeadingRows unspecified - Autodetect tries to detect headers in the first row. If they are not detected, the row is read as data. Otherwise data is read starting from the second row. * skipLeadingRows is 0 - Instructs autodetect that there are no headers and data should be read starting from the first row. * skipLeadingRows = N > 0 - Autodetect skips N-1 rows and tries to detect headers in row N. If headers are not detected, row N is just skipped. Otherwise row N is used to extract column names for the detected schema. + }, + "schema": { # [Optional] The schema for the data. Schema is required for CSV and JSON formats. Schema is disallowed for Google Cloud Bigtable, Cloud Datastore backups, and Avro formats. "fields": [ # Describes the fields in a table. { "fields": [ # [Optional] Describes the nested schema fields if the type property is set to RECORD. # Object with schema name: TableFieldSchema ], - "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema). + "type": "A String", # [Required] The field data type. Possible values include STRING, BYTES, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema). "description": "A String", # [Optional] The field description. The maximum length is 16K characters. "name": "A String", # [Required] The field name. The name must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_), and must start with a letter or underscore. The maximum length is 128 characters. "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE. @@ -650,32 +834,28 @@

Method Details

"oldestEntryTime": "A String", # [Output-only] Contains the timestamp of the oldest entry in the streaming buffer, in milliseconds since the epoch, if the streaming buffer is available. }, "friendlyName": "A String", # [Optional] A descriptive name for this table. - "expirationTime": "A String", # [Optional] The time when this table expires, in milliseconds since the epoch. If not present, the table will persist indefinitely. Expired tables will be deleted and their storage reclaimed. - "view": { # [Optional] The view definition. - "query": "A String", # [Required] A query that BigQuery executes when the view is referenced. - "userDefinedFunctionResources": [ # [Experimental] Describes user-defined function resources used in the query. - { - "resourceUri": "A String", # [Pick one] A code resource to load from a Google Cloud Storage URI (gs://bucket/path). - "inlineCode": "A String", # [Pick one] An inline resource that contains code for a user-defined function (UDF). Providing a inline code resource is equivalent to providing a URI for a file containing the same code. - }, - ], + "timePartitioning": { # [Experimental] If specified, configures time-based partitioning for this table. + "type": "A String", # [Required] The only type supported is DAY, which will generate one partition per day based on data loading time. + "expirationMs": "A String", # [Optional] Number of milliseconds for which to keep the storage for a partition. }, - "type": "A String", # [Output-only] Describes the table type. The following values are supported: TABLE: A normal BigQuery table. VIEW: A virtual table defined by a SQL query. EXTERNAL: A table that references data stored in an external storage system, such as Google Cloud Storage. The default value is TABLE. - "id": "A String", # [Output-only] An opaque ID uniquely identifying the table. - "selfLink": "A String", # [Output-only] A URL that can be used to access this resource again. + "expirationTime": "A String", # [Optional] The time when this table expires, in milliseconds since the epoch. If not present, the table will persist indefinitely. Expired tables will be deleted and their storage reclaimed. "schema": { # [Optional] Describes the schema of this table. "fields": [ # Describes the fields in a table. { "fields": [ # [Optional] Describes the nested schema fields if the type property is set to RECORD. # Object with schema name: TableFieldSchema ], - "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema). + "type": "A String", # [Required] The field data type. Possible values include STRING, BYTES, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema). "description": "A String", # [Optional] The field description. The maximum length is 16K characters. "name": "A String", # [Required] The field name. The name must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_), and must start with a letter or underscore. The maximum length is 128 characters. "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE. }, ], }, + "type": "A String", # [Output-only] Describes the table type. The following values are supported: TABLE: A normal BigQuery table. VIEW: A virtual table defined by a SQL query. EXTERNAL: A table that references data stored in an external storage system, such as Google Cloud Storage. The default value is TABLE. + "id": "A String", # [Output-only] An opaque ID uniquely identifying the table. + "selfLink": "A String", # [Output-only] A URL that can be used to access this resource again. + "numLongTermBytes": "A String", # [Output-only] The number of bytes in the table that are considered "long-term storage". } @@ -687,29 +867,63 @@

Method Details

"lastModifiedTime": "A String", # [Output-only] The time when this table was last modified, in milliseconds since the epoch. "description": "A String", # [Optional] A user-friendly description of this table. "creationTime": "A String", # [Output-only] The time when this table was created, in milliseconds since the epoch. + "view": { # [Optional] The view definition. + "query": "A String", # [Required] A query that BigQuery executes when the view is referenced. + "userDefinedFunctionResources": [ # [Experimental] Describes user-defined function resources used in the query. + { + "resourceUri": "A String", # [Pick one] A code resource to load from a Google Cloud Storage URI (gs://bucket/path). + "inlineCode": "A String", # [Pick one] An inline resource that contains code for a user-defined function (UDF). Providing a inline code resource is equivalent to providing a URI for a file containing the same code. + }, + ], + }, "externalDataConfiguration": { # [Optional] Describes the data format, location, and other properties of a table stored outside of BigQuery. By defining these properties, the data source can then be queried as if it were a standard BigQuery table. - "compression": "A String", # [Optional] The compression type of the data source. Possible values include GZIP and NONE. The default value is NONE. This setting is ignored for Google Cloud Datastore backups. + "compression": "A String", # [Optional] The compression type of the data source. Possible values include GZIP and NONE. The default value is NONE. This setting is ignored for Google Cloud Bigtable, Google Cloud Datastore backups and Avro formats. "csvOptions": { # Additional properties to set if sourceFormat is set to CSV. "fieldDelimiter": "A String", # [Optional] The separator for fields in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. BigQuery also supports the escape sequence "\t" to specify a tab separator. The default value is a comma (','). "encoding": "A String", # [Optional] The character encoding of the data. The supported values are UTF-8 or ISO-8859-1. The default value is UTF-8. BigQuery decodes the data after the raw, binary data has been split using the values of the quote and fieldDelimiter properties. - "skipLeadingRows": 42, # [Optional] The number of rows at the top of a CSV file that BigQuery will skip when reading the data. The default value is 0. This property is useful if you have header rows in the file that should be skipped. + "skipLeadingRows": "A String", # [Optional] The number of rows at the top of a CSV file that BigQuery will skip when reading the data. The default value is 0. This property is useful if you have header rows in the file that should be skipped. "allowJaggedRows": True or False, # [Optional] Indicates if BigQuery should accept rows that are missing trailing optional columns. If true, BigQuery treats missing trailing columns as null values. If false, records with missing trailing columns are treated as bad records, and if there are too many bad records, an invalid error is returned in the job result. The default value is false. "quote": """, # [Optional] The value that is used to quote data sections in a CSV file. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. The default value is a double-quote ('"'). If your data does not contain quoted sections, set the property value to an empty string. If your data contains quoted newline characters, you must also set the allowQuotedNewlines property to true. "allowQuotedNewlines": True or False, # [Optional] Indicates if BigQuery should allow quoted data sections that contain newline characters in a CSV file. The default value is false. }, - "sourceFormat": "A String", # [Required] The data format. For CSV files, specify "CSV". For newline-delimited JSON, specify "NEWLINE_DELIMITED_JSON". For Google Cloud Datastore backups, specify "DATASTORE_BACKUP". - "maxBadRecords": 42, # [Optional] The maximum number of bad records that BigQuery can ignore when reading data. If the number of bad records exceeds this value, an invalid error is returned in the job result. The default value is 0, which requires that all records are valid. This setting is ignored for Google Cloud Datastore backups. - "ignoreUnknownValues": True or False, # [Optional] Indicates if BigQuery should allow extra values that are not represented in the table schema. If true, the extra values are ignored. If false, records with extra columns are treated as bad records, and if there are too many bad records, an invalid error is returned in the job result. The default value is false. The sourceFormat property determines what BigQuery treats as an extra value: CSV: Trailing columns JSON: Named values that don't match any column names Google Cloud Datastore backups: This setting is ignored. - "sourceUris": [ # [Required] The fully-qualified URIs that point to your data in Google Cloud Storage. Each URI can contain one '*' wildcard character and it must come after the 'bucket' name. Size limits related to load jobs apply to external data sources, plus an additional limit of 10 GB maximum size across all URIs. For Google Cloud Datastore backups, exactly one URI can be specified, and it must end with '.backup_info'. Also, the '*' wildcard character is not allowed. + "autodetect": True or False, # [Experimental] Try to detect schema and format options automatically. Any option specified explicitly will be honored. + "maxBadRecords": 42, # [Optional] The maximum number of bad records that BigQuery can ignore when reading data. If the number of bad records exceeds this value, an invalid error is returned in the job result. The default value is 0, which requires that all records are valid. This setting is ignored for Google Cloud Bigtable, Google Cloud Datastore backups and Avro formats. + "ignoreUnknownValues": True or False, # [Optional] Indicates if BigQuery should allow extra values that are not represented in the table schema. If true, the extra values are ignored. If false, records with extra columns are treated as bad records, and if there are too many bad records, an invalid error is returned in the job result. The default value is false. The sourceFormat property determines what BigQuery treats as an extra value: CSV: Trailing columns JSON: Named values that don't match any column names Google Cloud Bigtable: This setting is ignored. Google Cloud Datastore backups: This setting is ignored. Avro: This setting is ignored. + "sourceUris": [ # [Required] The fully-qualified URIs that point to your data in Google Cloud. For Google Cloud Storage URIs: Each URI can contain one '*' wildcard character and it must come after the 'bucket' name. Size limits related to load jobs apply to external data sources. For Google Cloud Bigtable URIs: Exactly one URI can be specified and it has be a fully specified and valid HTTPS URL for a Google Cloud Bigtable table. For Google Cloud Datastore backups, exactly one URI can be specified, and it must end with '.backup_info'. Also, the '*' wildcard character is not allowed. "A String", ], - "schema": { # [Optional] The schema for the data. Schema is required for CSV and JSON formats. Schema is disallowed for Google Cloud Datastore backups. + "bigtableOptions": { # [Optional] Additional options if sourceFormat is set to BIGTABLE. + "ignoreUnspecifiedColumnFamilies": True or False, # [Optional] If field is true, then the column families that are not specified in columnFamilies list are not exposed in the table schema. Otherwise, they are read with BYTES type values. The default value is false. + "columnFamilies": [ # [Optional] List of column families to expose in the table schema along with their types. This list restricts the column families that can be referenced in queries and specifies their value types. You can use this list to do type conversions - see the 'type' field for more details. If you leave this list empty, all column families are present in the table schema and their values are read as BYTES. During a query only the column families referenced in that query are read from Bigtable. + { + "familyId": "A String", # Identifier of the column family. + "type": "A String", # [Optional] The type to convert the value in cells of this column family. The values are expected to be encoded using HBase Bytes.toBytes function when using the BINARY encoding value. Following BigQuery types are allowed (case-sensitive) - BYTES STRING INTEGER FLOAT BOOLEAN Defaut type is BYTES. This can be overridden for a specific column by listing that column in 'columns' and specifying a type for it. + "onlyReadLatest": True or False, # [Optional] If this is set only the latest version of value are exposed for all columns in this column family. This can be overridden for a specific column by listing that column in 'columns' and specifying a different setting for that column. + "columns": [ # [Optional] Lists of columns that should be exposed as individual fields as opposed to a list of (column name, value) pairs. All columns whose qualifier matches a qualifier in this list can be accessed as .. Other columns can be accessed as a list through .Column field. + { + "encoding": "A String", # [Optional] The encoding of the values when the type is not STRING. Acceptable encoding values are: TEXT - indicates values are alphanumeric text strings. BINARY - indicates values are encoded using HBase Bytes.toBytes family of functions. 'encoding' can also be set at the column family level. However, the setting at this level takes precedence if 'encoding' is set at both levels. + "qualifierEncoded": "A String", # [Required] Qualifier of the column. Columns in the parent column family that has this exact qualifier are exposed as . field. If the qualifier is valid UTF-8 string, it can be specified in the qualifier_string field. Otherwise, a base-64 encoded value must be set to qualifier_encoded. The column field name is the same as the column qualifier. However, if the qualifier is not a valid BigQuery field identifier i.e. does not match [a-zA-Z][a-zA-Z0-9_]*, a valid identifier must be provided as field_name. + "fieldName": "A String", # [Optional] If the qualifier is not a valid BigQuery field identifier i.e. does not match [a-zA-Z][a-zA-Z0-9_]*, a valid identifier must be provided as the column field name and is used as field name in queries. + "onlyReadLatest": True or False, # [Optional] If this is set, only the latest version of value in this column are exposed. 'onlyReadLatest' can also be set at the column family level. However, the setting at this level takes precedence if 'onlyReadLatest' is set at both levels. + "qualifierString": "A String", + "type": "A String", # [Optional] The type to convert the value in cells of this column. The values are expected to be encoded using HBase Bytes.toBytes function when using the BINARY encoding value. Following BigQuery types are allowed (case-sensitive) - BYTES STRING INTEGER FLOAT BOOLEAN Defaut type is BYTES. 'type' can also be set at the column family level. However, the setting at this level takes precedence if 'type' is set at both levels. + }, + ], + "encoding": "A String", # [Optional] The encoding of the values when the type is not STRING. Acceptable encoding values are: TEXT - indicates values are alphanumeric text strings. BINARY - indicates values are encoded using HBase Bytes.toBytes family of functions. This can be overridden for a specific column by listing that column in 'columns' and specifying an encoding for it. + }, + ], + }, + "sourceFormat": "A String", # [Required] The data format. For CSV files, specify "CSV". For Google sheets, specify "GOOGLE_SHEETS". For newline-delimited JSON, specify "NEWLINE_DELIMITED_JSON". For Avro files, specify "AVRO". For Google Cloud Datastore backups, specify "DATASTORE_BACKUP". [Experimental] For Google Cloud Bigtable, specify "BIGTABLE". Please note that reading from Google Cloud Bigtable is experimental and has to be enabled for your project. Please contact Google Cloud Support to enable this for your project. + "googleSheetsOptions": { # [Optional] Additional options if sourceFormat is set to GOOGLE_SHEETS. + "skipLeadingRows": "A String", # [Optional] The number of rows at the top of a sheet that BigQuery will skip when reading the data. The default value is 0. This property is useful if you have header rows that should be skipped. When autodetect is on, behavior is the following: * skipLeadingRows unspecified - Autodetect tries to detect headers in the first row. If they are not detected, the row is read as data. Otherwise data is read starting from the second row. * skipLeadingRows is 0 - Instructs autodetect that there are no headers and data should be read starting from the first row. * skipLeadingRows = N > 0 - Autodetect skips N-1 rows and tries to detect headers in row N. If headers are not detected, row N is just skipped. Otherwise row N is used to extract column names for the detected schema. + }, + "schema": { # [Optional] The schema for the data. Schema is required for CSV and JSON formats. Schema is disallowed for Google Cloud Bigtable, Cloud Datastore backups, and Avro formats. "fields": [ # Describes the fields in a table. { "fields": [ # [Optional] Describes the nested schema fields if the type property is set to RECORD. # Object with schema name: TableFieldSchema ], - "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema). + "type": "A String", # [Required] The field data type. Possible values include STRING, BYTES, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema). "description": "A String", # [Optional] The field description. The maximum length is 16K characters. "name": "A String", # [Required] The field name. The name must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_), and must start with a letter or underscore. The maximum length is 128 characters. "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE. @@ -732,32 +946,28 @@

Method Details

"oldestEntryTime": "A String", # [Output-only] Contains the timestamp of the oldest entry in the streaming buffer, in milliseconds since the epoch, if the streaming buffer is available. }, "friendlyName": "A String", # [Optional] A descriptive name for this table. - "expirationTime": "A String", # [Optional] The time when this table expires, in milliseconds since the epoch. If not present, the table will persist indefinitely. Expired tables will be deleted and their storage reclaimed. - "view": { # [Optional] The view definition. - "query": "A String", # [Required] A query that BigQuery executes when the view is referenced. - "userDefinedFunctionResources": [ # [Experimental] Describes user-defined function resources used in the query. - { - "resourceUri": "A String", # [Pick one] A code resource to load from a Google Cloud Storage URI (gs://bucket/path). - "inlineCode": "A String", # [Pick one] An inline resource that contains code for a user-defined function (UDF). Providing a inline code resource is equivalent to providing a URI for a file containing the same code. - }, - ], + "timePartitioning": { # [Experimental] If specified, configures time-based partitioning for this table. + "type": "A String", # [Required] The only type supported is DAY, which will generate one partition per day based on data loading time. + "expirationMs": "A String", # [Optional] Number of milliseconds for which to keep the storage for a partition. }, - "type": "A String", # [Output-only] Describes the table type. The following values are supported: TABLE: A normal BigQuery table. VIEW: A virtual table defined by a SQL query. EXTERNAL: A table that references data stored in an external storage system, such as Google Cloud Storage. The default value is TABLE. - "id": "A String", # [Output-only] An opaque ID uniquely identifying the table. - "selfLink": "A String", # [Output-only] A URL that can be used to access this resource again. + "expirationTime": "A String", # [Optional] The time when this table expires, in milliseconds since the epoch. If not present, the table will persist indefinitely. Expired tables will be deleted and their storage reclaimed. "schema": { # [Optional] Describes the schema of this table. "fields": [ # Describes the fields in a table. { "fields": [ # [Optional] Describes the nested schema fields if the type property is set to RECORD. # Object with schema name: TableFieldSchema ], - "type": "A String", # [Required] The field data type. Possible values include STRING, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema). + "type": "A String", # [Required] The field data type. Possible values include STRING, BYTES, INTEGER, FLOAT, BOOLEAN, TIMESTAMP or RECORD (where RECORD indicates that the field contains a nested schema). "description": "A String", # [Optional] The field description. The maximum length is 16K characters. "name": "A String", # [Required] The field name. The name must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_), and must start with a letter or underscore. The maximum length is 128 characters. "mode": "A String", # [Optional] The field mode. Possible values include NULLABLE, REQUIRED and REPEATED. The default value is NULLABLE. }, ], }, + "type": "A String", # [Output-only] Describes the table type. The following values are supported: TABLE: A normal BigQuery table. VIEW: A virtual table defined by a SQL query. EXTERNAL: A table that references data stored in an external storage system, such as Google Cloud Storage. The default value is TABLE. + "id": "A String", # [Output-only] An opaque ID uniquely identifying the table. + "selfLink": "A String", # [Output-only] A URL that can be used to access this resource again. + "numLongTermBytes": "A String", # [Output-only] The number of bytes in the table that are considered "long-term storage". } diff --git a/docs/dyn/books_v1.bookshelves.volumes.html b/docs/dyn/books_v1.bookshelves.volumes.html index 7a61314c9e7..0cb201e99e1 100644 --- a/docs/dyn/books_v1.bookshelves.volumes.html +++ b/docs/dyn/books_v1.bookshelves.volumes.html @@ -261,6 +261,11 @@

Method Details

"startUtcSec": "A String", "endUtcSec": "A String", }, + "familySharing": { # Information on the ability to share with the family. + "isSharingDisabledByFop": True or False, # Whether or not sharing this volume is temporarily disabled due to issues with the Family Wallet. + "familyRole": "A String", # The role of the user in the family. + "isSharingAllowed": True or False, # Whether or not this volume can be shared with the family by the user. This includes sharing eligibility of both the volume and the user. If the value is true, the user can initiate a family sharing action. + }, "rentalState": "A String", # Whether this book is an active or an expired rental. "isPurchased": True or False, # Whether or not this volume was purchased by the authenticated user making the request. (In LITE projection.) "readingPosition": { # The user's current reading position in the volume, if one is available. (In LITE projection.) @@ -272,7 +277,8 @@

Method Details

"pdfPosition": "A String", # Position in a PDF file. "gbTextPosition": "A String", # Position in a volume for text-based content. }, - "isFamilySharingAllowed": True or False, # Whether or not this volume can be shared with the family by the user. This includes sharing eligibility of both the volume and the user. If the value is true, the user can initiate a family sharing action. + "isPreordered": True or False, # Whether or not this volume was pre-ordered by the authenticated user making the request. (In LITE projection.) + "isFamilySharingAllowed": True or False, # Deprecated: Replaced by familySharing. "review": { # This user's review of this volume, if one exists. "rating": "A String", # Star rating for this review. Possible values are ONE, TWO, THREE, FOUR, FIVE or NOT_RATED. "kind": "books#review", # Resource type for a review. @@ -299,7 +305,7 @@

Method Details

"updated": "A String", "allowedCharacterCount": 42, }, - "isPreordered": True or False, # Whether or not this volume was pre-ordered by the authenticated user making the request. (In LITE projection.) + "isFamilySharingDisabledByFop": True or False, # Deprecated: Replaced by familySharing. "isUploaded": True or False, # Whether or not this volume was user uploaded. "acquiredTime": "A String", # Timestamp when this volume was acquired by the user. (RFC 3339 UTC date-time format) Acquiring includes purchase, user upload, receiving family sharing, etc. }, diff --git a/docs/dyn/books_v1.myconfig.html b/docs/dyn/books_v1.myconfig.html index c03f8f047ec..53d4788e700 100644 --- a/docs/dyn/books_v1.myconfig.html +++ b/docs/dyn/books_v1.myconfig.html @@ -385,6 +385,11 @@

Method Details

"startUtcSec": "A String", "endUtcSec": "A String", }, + "familySharing": { # Information on the ability to share with the family. + "isSharingDisabledByFop": True or False, # Whether or not sharing this volume is temporarily disabled due to issues with the Family Wallet. + "familyRole": "A String", # The role of the user in the family. + "isSharingAllowed": True or False, # Whether or not this volume can be shared with the family by the user. This includes sharing eligibility of both the volume and the user. If the value is true, the user can initiate a family sharing action. + }, "rentalState": "A String", # Whether this book is an active or an expired rental. "isPurchased": True or False, # Whether or not this volume was purchased by the authenticated user making the request. (In LITE projection.) "readingPosition": { # The user's current reading position in the volume, if one is available. (In LITE projection.) @@ -396,7 +401,8 @@

Method Details

"pdfPosition": "A String", # Position in a PDF file. "gbTextPosition": "A String", # Position in a volume for text-based content. }, - "isFamilySharingAllowed": True or False, # Whether or not this volume can be shared with the family by the user. This includes sharing eligibility of both the volume and the user. If the value is true, the user can initiate a family sharing action. + "isPreordered": True or False, # Whether or not this volume was pre-ordered by the authenticated user making the request. (In LITE projection.) + "isFamilySharingAllowed": True or False, # Deprecated: Replaced by familySharing. "review": { # This user's review of this volume, if one exists. "rating": "A String", # Star rating for this review. Possible values are ONE, TWO, THREE, FOUR, FIVE or NOT_RATED. "kind": "books#review", # Resource type for a review. @@ -423,7 +429,7 @@

Method Details

"updated": "A String", "allowedCharacterCount": 42, }, - "isPreordered": True or False, # Whether or not this volume was pre-ordered by the authenticated user making the request. (In LITE projection.) + "isFamilySharingDisabledByFop": True or False, # Deprecated: Replaced by familySharing. "isUploaded": True or False, # Whether or not this volume was user uploaded. "acquiredTime": "A String", # Timestamp when this volume was acquired by the user. (RFC 3339 UTC date-time format) Acquiring includes purchase, user upload, receiving family sharing, etc. }, diff --git a/docs/dyn/books_v1.mylibrary.bookshelves.volumes.html b/docs/dyn/books_v1.mylibrary.bookshelves.volumes.html index 8319124db91..9df4308b896 100644 --- a/docs/dyn/books_v1.mylibrary.bookshelves.volumes.html +++ b/docs/dyn/books_v1.mylibrary.bookshelves.volumes.html @@ -266,6 +266,11 @@

Method Details

"startUtcSec": "A String", "endUtcSec": "A String", }, + "familySharing": { # Information on the ability to share with the family. + "isSharingDisabledByFop": True or False, # Whether or not sharing this volume is temporarily disabled due to issues with the Family Wallet. + "familyRole": "A String", # The role of the user in the family. + "isSharingAllowed": True or False, # Whether or not this volume can be shared with the family by the user. This includes sharing eligibility of both the volume and the user. If the value is true, the user can initiate a family sharing action. + }, "rentalState": "A String", # Whether this book is an active or an expired rental. "isPurchased": True or False, # Whether or not this volume was purchased by the authenticated user making the request. (In LITE projection.) "readingPosition": { # The user's current reading position in the volume, if one is available. (In LITE projection.) @@ -277,7 +282,8 @@

Method Details

"pdfPosition": "A String", # Position in a PDF file. "gbTextPosition": "A String", # Position in a volume for text-based content. }, - "isFamilySharingAllowed": True or False, # Whether or not this volume can be shared with the family by the user. This includes sharing eligibility of both the volume and the user. If the value is true, the user can initiate a family sharing action. + "isPreordered": True or False, # Whether or not this volume was pre-ordered by the authenticated user making the request. (In LITE projection.) + "isFamilySharingAllowed": True or False, # Deprecated: Replaced by familySharing. "review": { # This user's review of this volume, if one exists. "rating": "A String", # Star rating for this review. Possible values are ONE, TWO, THREE, FOUR, FIVE or NOT_RATED. "kind": "books#review", # Resource type for a review. @@ -304,7 +310,7 @@

Method Details

"updated": "A String", "allowedCharacterCount": 42, }, - "isPreordered": True or False, # Whether or not this volume was pre-ordered by the authenticated user making the request. (In LITE projection.) + "isFamilySharingDisabledByFop": True or False, # Deprecated: Replaced by familySharing. "isUploaded": True or False, # Whether or not this volume was user uploaded. "acquiredTime": "A String", # Timestamp when this volume was acquired by the user. (RFC 3339 UTC date-time format) Acquiring includes purchase, user upload, receiving family sharing, etc. }, diff --git a/docs/dyn/books_v1.notification.html b/docs/dyn/books_v1.notification.html index 6f7fc988e15..250a7765ce2 100644 --- a/docs/dyn/books_v1.notification.html +++ b/docs/dyn/books_v1.notification.html @@ -92,14 +92,20 @@

Method Details

{ "body": "A String", + "doc_type": "A String", "kind": "books#notification", # Resource type. + "iconUrl": "A String", + "dont_show_notification": True or False, "title": "A String", - "dont_show_notification": false, "show_notification_settings_action": True or False, - "iconUrl": "A String", + "crmExperimentIds": [ # The list of crm experiment ids. + "A String", + ], + "reason": "A String", "targetUrl": "A String", "notification_type": "A String", "pcampaign_id": "A String", + "doc_id": "A String", } diff --git a/docs/dyn/books_v1.onboarding.html b/docs/dyn/books_v1.onboarding.html index 32daae4dea5..a4e0f5b7e3a 100644 --- a/docs/dyn/books_v1.onboarding.html +++ b/docs/dyn/books_v1.onboarding.html @@ -291,6 +291,11 @@

Method Details

"startUtcSec": "A String", "endUtcSec": "A String", }, + "familySharing": { # Information on the ability to share with the family. + "isSharingDisabledByFop": True or False, # Whether or not sharing this volume is temporarily disabled due to issues with the Family Wallet. + "familyRole": "A String", # The role of the user in the family. + "isSharingAllowed": True or False, # Whether or not this volume can be shared with the family by the user. This includes sharing eligibility of both the volume and the user. If the value is true, the user can initiate a family sharing action. + }, "rentalState": "A String", # Whether this book is an active or an expired rental. "isPurchased": True or False, # Whether or not this volume was purchased by the authenticated user making the request. (In LITE projection.) "readingPosition": { # The user's current reading position in the volume, if one is available. (In LITE projection.) @@ -302,7 +307,8 @@

Method Details

"pdfPosition": "A String", # Position in a PDF file. "gbTextPosition": "A String", # Position in a volume for text-based content. }, - "isFamilySharingAllowed": True or False, # Whether or not this volume can be shared with the family by the user. This includes sharing eligibility of both the volume and the user. If the value is true, the user can initiate a family sharing action. + "isPreordered": True or False, # Whether or not this volume was pre-ordered by the authenticated user making the request. (In LITE projection.) + "isFamilySharingAllowed": True or False, # Deprecated: Replaced by familySharing. "review": { # This user's review of this volume, if one exists. "rating": "A String", # Star rating for this review. Possible values are ONE, TWO, THREE, FOUR, FIVE or NOT_RATED. "kind": "books#review", # Resource type for a review. @@ -329,7 +335,7 @@

Method Details

"updated": "A String", "allowedCharacterCount": 42, }, - "isPreordered": True or False, # Whether or not this volume was pre-ordered by the authenticated user making the request. (In LITE projection.) + "isFamilySharingDisabledByFop": True or False, # Deprecated: Replaced by familySharing. "isUploaded": True or False, # Whether or not this volume was user uploaded. "acquiredTime": "A String", # Timestamp when this volume was acquired by the user. (RFC 3339 UTC date-time format) Acquiring includes purchase, user upload, receiving family sharing, etc. }, diff --git a/docs/dyn/books_v1.personalizedstream.html b/docs/dyn/books_v1.personalizedstream.html index 7121856d9a3..8556a260c38 100644 --- a/docs/dyn/books_v1.personalizedstream.html +++ b/docs/dyn/books_v1.personalizedstream.html @@ -274,6 +274,11 @@

Method Details

"startUtcSec": "A String", "endUtcSec": "A String", }, + "familySharing": { # Information on the ability to share with the family. + "isSharingDisabledByFop": True or False, # Whether or not sharing this volume is temporarily disabled due to issues with the Family Wallet. + "familyRole": "A String", # The role of the user in the family. + "isSharingAllowed": True or False, # Whether or not this volume can be shared with the family by the user. This includes sharing eligibility of both the volume and the user. If the value is true, the user can initiate a family sharing action. + }, "rentalState": "A String", # Whether this book is an active or an expired rental. "isPurchased": True or False, # Whether or not this volume was purchased by the authenticated user making the request. (In LITE projection.) "readingPosition": { # The user's current reading position in the volume, if one is available. (In LITE projection.) @@ -285,7 +290,8 @@

Method Details

"pdfPosition": "A String", # Position in a PDF file. "gbTextPosition": "A String", # Position in a volume for text-based content. }, - "isFamilySharingAllowed": True or False, # Whether or not this volume can be shared with the family by the user. This includes sharing eligibility of both the volume and the user. If the value is true, the user can initiate a family sharing action. + "isPreordered": True or False, # Whether or not this volume was pre-ordered by the authenticated user making the request. (In LITE projection.) + "isFamilySharingAllowed": True or False, # Deprecated: Replaced by familySharing. "review": { # This user's review of this volume, if one exists. "rating": "A String", # Star rating for this review. Possible values are ONE, TWO, THREE, FOUR, FIVE or NOT_RATED. "kind": "books#review", # Resource type for a review. @@ -312,7 +318,7 @@

Method Details

"updated": "A String", "allowedCharacterCount": 42, }, - "isPreordered": True or False, # Whether or not this volume was pre-ordered by the authenticated user making the request. (In LITE projection.) + "isFamilySharingDisabledByFop": True or False, # Deprecated: Replaced by familySharing. "isUploaded": True or False, # Whether or not this volume was user uploaded. "acquiredTime": "A String", # Timestamp when this volume was acquired by the user. (RFC 3339 UTC date-time format) Acquiring includes purchase, user upload, receiving family sharing, etc. }, diff --git a/docs/dyn/books_v1.series.membership.html b/docs/dyn/books_v1.series.membership.html index a8a5afd787e..958116ba4f2 100644 --- a/docs/dyn/books_v1.series.membership.html +++ b/docs/dyn/books_v1.series.membership.html @@ -257,6 +257,11 @@

Method Details

"startUtcSec": "A String", "endUtcSec": "A String", }, + "familySharing": { # Information on the ability to share with the family. + "isSharingDisabledByFop": True or False, # Whether or not sharing this volume is temporarily disabled due to issues with the Family Wallet. + "familyRole": "A String", # The role of the user in the family. + "isSharingAllowed": True or False, # Whether or not this volume can be shared with the family by the user. This includes sharing eligibility of both the volume and the user. If the value is true, the user can initiate a family sharing action. + }, "rentalState": "A String", # Whether this book is an active or an expired rental. "isPurchased": True or False, # Whether or not this volume was purchased by the authenticated user making the request. (In LITE projection.) "readingPosition": { # The user's current reading position in the volume, if one is available. (In LITE projection.) @@ -268,7 +273,8 @@

Method Details

"pdfPosition": "A String", # Position in a PDF file. "gbTextPosition": "A String", # Position in a volume for text-based content. }, - "isFamilySharingAllowed": True or False, # Whether or not this volume can be shared with the family by the user. This includes sharing eligibility of both the volume and the user. If the value is true, the user can initiate a family sharing action. + "isPreordered": True or False, # Whether or not this volume was pre-ordered by the authenticated user making the request. (In LITE projection.) + "isFamilySharingAllowed": True or False, # Deprecated: Replaced by familySharing. "review": { # This user's review of this volume, if one exists. "rating": "A String", # Star rating for this review. Possible values are ONE, TWO, THREE, FOUR, FIVE or NOT_RATED. "kind": "books#review", # Resource type for a review. @@ -295,7 +301,7 @@

Method Details

"updated": "A String", "allowedCharacterCount": 42, }, - "isPreordered": True or False, # Whether or not this volume was pre-ordered by the authenticated user making the request. (In LITE projection.) + "isFamilySharingDisabledByFop": True or False, # Deprecated: Replaced by familySharing. "isUploaded": True or False, # Whether or not this volume was user uploaded. "acquiredTime": "A String", # Timestamp when this volume was acquired by the user. (RFC 3339 UTC date-time format) Acquiring includes purchase, user upload, receiving family sharing, etc. }, diff --git a/docs/dyn/books_v1.volumes.associated.html b/docs/dyn/books_v1.volumes.associated.html index 4e643626cee..23e5cc712f6 100644 --- a/docs/dyn/books_v1.volumes.associated.html +++ b/docs/dyn/books_v1.volumes.associated.html @@ -267,6 +267,11 @@

Method Details

"startUtcSec": "A String", "endUtcSec": "A String", }, + "familySharing": { # Information on the ability to share with the family. + "isSharingDisabledByFop": True or False, # Whether or not sharing this volume is temporarily disabled due to issues with the Family Wallet. + "familyRole": "A String", # The role of the user in the family. + "isSharingAllowed": True or False, # Whether or not this volume can be shared with the family by the user. This includes sharing eligibility of both the volume and the user. If the value is true, the user can initiate a family sharing action. + }, "rentalState": "A String", # Whether this book is an active or an expired rental. "isPurchased": True or False, # Whether or not this volume was purchased by the authenticated user making the request. (In LITE projection.) "readingPosition": { # The user's current reading position in the volume, if one is available. (In LITE projection.) @@ -278,7 +283,8 @@

Method Details

"pdfPosition": "A String", # Position in a PDF file. "gbTextPosition": "A String", # Position in a volume for text-based content. }, - "isFamilySharingAllowed": True or False, # Whether or not this volume can be shared with the family by the user. This includes sharing eligibility of both the volume and the user. If the value is true, the user can initiate a family sharing action. + "isPreordered": True or False, # Whether or not this volume was pre-ordered by the authenticated user making the request. (In LITE projection.) + "isFamilySharingAllowed": True or False, # Deprecated: Replaced by familySharing. "review": { # This user's review of this volume, if one exists. "rating": "A String", # Star rating for this review. Possible values are ONE, TWO, THREE, FOUR, FIVE or NOT_RATED. "kind": "books#review", # Resource type for a review. @@ -305,7 +311,7 @@

Method Details

"updated": "A String", "allowedCharacterCount": 42, }, - "isPreordered": True or False, # Whether or not this volume was pre-ordered by the authenticated user making the request. (In LITE projection.) + "isFamilySharingDisabledByFop": True or False, # Deprecated: Replaced by familySharing. "isUploaded": True or False, # Whether or not this volume was user uploaded. "acquiredTime": "A String", # Timestamp when this volume was acquired by the user. (RFC 3339 UTC date-time format) Acquiring includes purchase, user upload, receiving family sharing, etc. }, diff --git a/docs/dyn/books_v1.volumes.html b/docs/dyn/books_v1.volumes.html index 821ab63ca7c..0b27acc6211 100644 --- a/docs/dyn/books_v1.volumes.html +++ b/docs/dyn/books_v1.volumes.html @@ -285,6 +285,11 @@

Method Details

"startUtcSec": "A String", "endUtcSec": "A String", }, + "familySharing": { # Information on the ability to share with the family. + "isSharingDisabledByFop": True or False, # Whether or not sharing this volume is temporarily disabled due to issues with the Family Wallet. + "familyRole": "A String", # The role of the user in the family. + "isSharingAllowed": True or False, # Whether or not this volume can be shared with the family by the user. This includes sharing eligibility of both the volume and the user. If the value is true, the user can initiate a family sharing action. + }, "rentalState": "A String", # Whether this book is an active or an expired rental. "isPurchased": True or False, # Whether or not this volume was purchased by the authenticated user making the request. (In LITE projection.) "readingPosition": { # The user's current reading position in the volume, if one is available. (In LITE projection.) @@ -296,7 +301,8 @@

Method Details

"pdfPosition": "A String", # Position in a PDF file. "gbTextPosition": "A String", # Position in a volume for text-based content. }, - "isFamilySharingAllowed": True or False, # Whether or not this volume can be shared with the family by the user. This includes sharing eligibility of both the volume and the user. If the value is true, the user can initiate a family sharing action. + "isPreordered": True or False, # Whether or not this volume was pre-ordered by the authenticated user making the request. (In LITE projection.) + "isFamilySharingAllowed": True or False, # Deprecated: Replaced by familySharing. "review": { # This user's review of this volume, if one exists. "rating": "A String", # Star rating for this review. Possible values are ONE, TWO, THREE, FOUR, FIVE or NOT_RATED. "kind": "books#review", # Resource type for a review. @@ -323,7 +329,7 @@

Method Details

"updated": "A String", "allowedCharacterCount": 42, }, - "isPreordered": True or False, # Whether or not this volume was pre-ordered by the authenticated user making the request. (In LITE projection.) + "isFamilySharingDisabledByFop": True or False, # Deprecated: Replaced by familySharing. "isUploaded": True or False, # Whether or not this volume was user uploaded. "acquiredTime": "A String", # Timestamp when this volume was acquired by the user. (RFC 3339 UTC date-time format) Acquiring includes purchase, user upload, receiving family sharing, etc. }, @@ -541,6 +547,11 @@

Method Details

"startUtcSec": "A String", "endUtcSec": "A String", }, + "familySharing": { # Information on the ability to share with the family. + "isSharingDisabledByFop": True or False, # Whether or not sharing this volume is temporarily disabled due to issues with the Family Wallet. + "familyRole": "A String", # The role of the user in the family. + "isSharingAllowed": True or False, # Whether or not this volume can be shared with the family by the user. This includes sharing eligibility of both the volume and the user. If the value is true, the user can initiate a family sharing action. + }, "rentalState": "A String", # Whether this book is an active or an expired rental. "isPurchased": True or False, # Whether or not this volume was purchased by the authenticated user making the request. (In LITE projection.) "readingPosition": { # The user's current reading position in the volume, if one is available. (In LITE projection.) @@ -552,7 +563,8 @@

Method Details

"pdfPosition": "A String", # Position in a PDF file. "gbTextPosition": "A String", # Position in a volume for text-based content. }, - "isFamilySharingAllowed": True or False, # Whether or not this volume can be shared with the family by the user. This includes sharing eligibility of both the volume and the user. If the value is true, the user can initiate a family sharing action. + "isPreordered": True or False, # Whether or not this volume was pre-ordered by the authenticated user making the request. (In LITE projection.) + "isFamilySharingAllowed": True or False, # Deprecated: Replaced by familySharing. "review": { # This user's review of this volume, if one exists. "rating": "A String", # Star rating for this review. Possible values are ONE, TWO, THREE, FOUR, FIVE or NOT_RATED. "kind": "books#review", # Resource type for a review. @@ -579,7 +591,7 @@

Method Details

"updated": "A String", "allowedCharacterCount": 42, }, - "isPreordered": True or False, # Whether or not this volume was pre-ordered by the authenticated user making the request. (In LITE projection.) + "isFamilySharingDisabledByFop": True or False, # Deprecated: Replaced by familySharing. "isUploaded": True or False, # Whether or not this volume was user uploaded. "acquiredTime": "A String", # Timestamp when this volume was acquired by the user. (RFC 3339 UTC date-time format) Acquiring includes purchase, user upload, receiving family sharing, etc. }, diff --git a/docs/dyn/books_v1.volumes.mybooks.html b/docs/dyn/books_v1.volumes.mybooks.html index 22f295e6398..6137a68f026 100644 --- a/docs/dyn/books_v1.volumes.mybooks.html +++ b/docs/dyn/books_v1.volumes.mybooks.html @@ -75,16 +75,17 @@

Books API . volumes . mybooks

Instance Methods

- list(source=None, locale=None, acquireMethod=None, maxResults=None, startIndex=None, processingState=None)

+ list(source=None, locale=None, country=None, acquireMethod=None, maxResults=None, startIndex=None, processingState=None)

Return a list of books in My Library.

Method Details

- list(source=None, locale=None, acquireMethod=None, maxResults=None, startIndex=None, processingState=None) + list(source=None, locale=None, country=None, acquireMethod=None, maxResults=None, startIndex=None, processingState=None)
Return a list of books in My Library.
 
 Args:
   source: string, String to identify the originator of this request.
   locale: string, ISO-639-1 language and ISO-3166-1 country code. Ex:'en_US'. Used for generating recommendations.
+  country: string, ISO-3166-1 code to override the IP-based location.
   acquireMethod: string, How the book was aquired (repeated)
     Allowed values
       PREORDERED - Preordered books (not yet available)
@@ -273,6 +274,11 @@ 

Method Details

"startUtcSec": "A String", "endUtcSec": "A String", }, + "familySharing": { # Information on the ability to share with the family. + "isSharingDisabledByFop": True or False, # Whether or not sharing this volume is temporarily disabled due to issues with the Family Wallet. + "familyRole": "A String", # The role of the user in the family. + "isSharingAllowed": True or False, # Whether or not this volume can be shared with the family by the user. This includes sharing eligibility of both the volume and the user. If the value is true, the user can initiate a family sharing action. + }, "rentalState": "A String", # Whether this book is an active or an expired rental. "isPurchased": True or False, # Whether or not this volume was purchased by the authenticated user making the request. (In LITE projection.) "readingPosition": { # The user's current reading position in the volume, if one is available. (In LITE projection.) @@ -284,7 +290,8 @@

Method Details

"pdfPosition": "A String", # Position in a PDF file. "gbTextPosition": "A String", # Position in a volume for text-based content. }, - "isFamilySharingAllowed": True or False, # Whether or not this volume can be shared with the family by the user. This includes sharing eligibility of both the volume and the user. If the value is true, the user can initiate a family sharing action. + "isPreordered": True or False, # Whether or not this volume was pre-ordered by the authenticated user making the request. (In LITE projection.) + "isFamilySharingAllowed": True or False, # Deprecated: Replaced by familySharing. "review": { # This user's review of this volume, if one exists. "rating": "A String", # Star rating for this review. Possible values are ONE, TWO, THREE, FOUR, FIVE or NOT_RATED. "kind": "books#review", # Resource type for a review. @@ -311,7 +318,7 @@

Method Details

"updated": "A String", "allowedCharacterCount": 42, }, - "isPreordered": True or False, # Whether or not this volume was pre-ordered by the authenticated user making the request. (In LITE projection.) + "isFamilySharingDisabledByFop": True or False, # Deprecated: Replaced by familySharing. "isUploaded": True or False, # Whether or not this volume was user uploaded. "acquiredTime": "A String", # Timestamp when this volume was acquired by the user. (RFC 3339 UTC date-time format) Acquiring includes purchase, user upload, receiving family sharing, etc. }, diff --git a/docs/dyn/books_v1.volumes.recommended.html b/docs/dyn/books_v1.volumes.recommended.html index 8a96cca4ae1..f35e03c373b 100644 --- a/docs/dyn/books_v1.volumes.recommended.html +++ b/docs/dyn/books_v1.volumes.recommended.html @@ -264,6 +264,11 @@

Method Details

"startUtcSec": "A String", "endUtcSec": "A String", }, + "familySharing": { # Information on the ability to share with the family. + "isSharingDisabledByFop": True or False, # Whether or not sharing this volume is temporarily disabled due to issues with the Family Wallet. + "familyRole": "A String", # The role of the user in the family. + "isSharingAllowed": True or False, # Whether or not this volume can be shared with the family by the user. This includes sharing eligibility of both the volume and the user. If the value is true, the user can initiate a family sharing action. + }, "rentalState": "A String", # Whether this book is an active or an expired rental. "isPurchased": True or False, # Whether or not this volume was purchased by the authenticated user making the request. (In LITE projection.) "readingPosition": { # The user's current reading position in the volume, if one is available. (In LITE projection.) @@ -275,7 +280,8 @@

Method Details

"pdfPosition": "A String", # Position in a PDF file. "gbTextPosition": "A String", # Position in a volume for text-based content. }, - "isFamilySharingAllowed": True or False, # Whether or not this volume can be shared with the family by the user. This includes sharing eligibility of both the volume and the user. If the value is true, the user can initiate a family sharing action. + "isPreordered": True or False, # Whether or not this volume was pre-ordered by the authenticated user making the request. (In LITE projection.) + "isFamilySharingAllowed": True or False, # Deprecated: Replaced by familySharing. "review": { # This user's review of this volume, if one exists. "rating": "A String", # Star rating for this review. Possible values are ONE, TWO, THREE, FOUR, FIVE or NOT_RATED. "kind": "books#review", # Resource type for a review. @@ -302,7 +308,7 @@

Method Details

"updated": "A String", "allowedCharacterCount": 42, }, - "isPreordered": True or False, # Whether or not this volume was pre-ordered by the authenticated user making the request. (In LITE projection.) + "isFamilySharingDisabledByFop": True or False, # Deprecated: Replaced by familySharing. "isUploaded": True or False, # Whether or not this volume was user uploaded. "acquiredTime": "A String", # Timestamp when this volume was acquired by the user. (RFC 3339 UTC date-time format) Acquiring includes purchase, user upload, receiving family sharing, etc. }, diff --git a/docs/dyn/books_v1.volumes.useruploaded.html b/docs/dyn/books_v1.volumes.useruploaded.html index a1866998c40..745fc05debc 100644 --- a/docs/dyn/books_v1.volumes.useruploaded.html +++ b/docs/dyn/books_v1.volumes.useruploaded.html @@ -265,6 +265,11 @@

Method Details

"startUtcSec": "A String", "endUtcSec": "A String", }, + "familySharing": { # Information on the ability to share with the family. + "isSharingDisabledByFop": True or False, # Whether or not sharing this volume is temporarily disabled due to issues with the Family Wallet. + "familyRole": "A String", # The role of the user in the family. + "isSharingAllowed": True or False, # Whether or not this volume can be shared with the family by the user. This includes sharing eligibility of both the volume and the user. If the value is true, the user can initiate a family sharing action. + }, "rentalState": "A String", # Whether this book is an active or an expired rental. "isPurchased": True or False, # Whether or not this volume was purchased by the authenticated user making the request. (In LITE projection.) "readingPosition": { # The user's current reading position in the volume, if one is available. (In LITE projection.) @@ -276,7 +281,8 @@

Method Details

"pdfPosition": "A String", # Position in a PDF file. "gbTextPosition": "A String", # Position in a volume for text-based content. }, - "isFamilySharingAllowed": True or False, # Whether or not this volume can be shared with the family by the user. This includes sharing eligibility of both the volume and the user. If the value is true, the user can initiate a family sharing action. + "isPreordered": True or False, # Whether or not this volume was pre-ordered by the authenticated user making the request. (In LITE projection.) + "isFamilySharingAllowed": True or False, # Deprecated: Replaced by familySharing. "review": { # This user's review of this volume, if one exists. "rating": "A String", # Star rating for this review. Possible values are ONE, TWO, THREE, FOUR, FIVE or NOT_RATED. "kind": "books#review", # Resource type for a review. @@ -303,7 +309,7 @@

Method Details

"updated": "A String", "allowedCharacterCount": 42, }, - "isPreordered": True or False, # Whether or not this volume was pre-ordered by the authenticated user making the request. (In LITE projection.) + "isFamilySharingDisabledByFop": True or False, # Deprecated: Replaced by familySharing. "isUploaded": True or False, # Whether or not this volume was user uploaded. "acquiredTime": "A String", # Timestamp when this volume was acquired by the user. (RFC 3339 UTC date-time format) Acquiring includes purchase, user upload, receiving family sharing, etc. }, diff --git a/docs/dyn/classroom_v1.courses.courseWork.html b/docs/dyn/classroom_v1.courses.courseWork.html new file mode 100644 index 00000000000..0ccee910fa8 --- /dev/null +++ b/docs/dyn/classroom_v1.courses.courseWork.html @@ -0,0 +1,430 @@ + + + +

Google Classroom API . courses . courseWork

+

Instance Methods

+

+ studentSubmissions() +

+

Returns the studentSubmissions Resource.

+ +

+ create(courseId, body, x__xgafv=None)

+

Creates course work. The resulting course work (and corresponding student submissions) are associated with the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to make the request. Classroom API requests to modify course work and student submissions must be made with an OAuth client ID from the associated Developer Console project. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course, create course work in the requested course, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course does not exist.

+

+ get(courseId, id, x__xgafv=None)

+

Returns course work. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or course work, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course or course work does not exist.

+

+ list(courseId, orderBy=None, courseWorkStates=None, pageSize=None, x__xgafv=None, pageToken=None)

+

Returns a list of course work that the requester is permitted to view. Course students may only view `PUBLISHED` course work. Course teachers and domain administrators may view all course work. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course does not exist.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

Method Details

+
+ create(courseId, body, x__xgafv=None) +
Creates course work. The resulting course work (and corresponding student submissions) are associated with the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to make the request. Classroom API requests to modify course work and student submissions must be made with an OAuth client ID from the associated Developer Console project. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course, create course work in the requested course, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course does not exist.
+
+Args:
+  courseId: string, Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Course work created by a teacher for students of the course.
+    "updateTime": "A String", # Timestamp of the most recent change to this course work. Read-only.
+    "submissionModificationMode": "A String", # Setting to determine when students are allowed to modify submissions. If unspecified, the default value is `MODIFIABLE_UNTIL_TURNED_IN`.
+    "description": "A String", # Optional description of this course work. If set, the description must be a valid UTF-8 string containing no more than 30,000 characters.
+    "title": "A String", # Title of this course work. The title must be a valid UTF-8 string containing between 1 and 3000 characters.
+    "courseId": "A String", # Identifier of the course. Read-only.
+    "assignment": { # Additional details for assignments. # Assignment details. This is populated only when `work_type` is `ASSIGNMENT`.
+      "studentWorkFolder": { # Representation of a Google Drive folder. # Drive folder where attachments from student submissions are placed. This is only populated for course teachers.
+        "alternateLink": "A String", # URL that can be used to access the Drive folder. Read-only.
+        "id": "A String", # Drive API resource ID.
+        "title": "A String", # Title of the Drive folder. Read-only.
+      },
+    },
+    "alternateLink": "A String", # Absolute link to this course work in the Classroom web UI. This is only populated if `state` is `PUBLISHED`. Read-only.
+    "creationTime": "A String", # Timestamp when this course work was created. Read-only.
+    "dueDate": { # Represents a whole calendar date, e.g. date of birth. The time of day and time zone are either specified elsewhere or are not significant. The date is relative to the Proleptic Gregorian Calendar. The day may be 0 to represent a year and month where the day is not significant, e.g. credit card expiration date. The year may be 0 to represent a month and day independent of year, e.g. anniversary date. Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`. # Optional date, in UTC, that submissions for this this course work are due. This must be specified if `due_time` is specified.
+      "month": 42, # Month of year. Must be from 1 to 12.
+      "day": 42, # Day of month. Must be from 1 to 31 and valid for the year and month, or 0 if specifying a year/month where the day is not significant.
+      "year": 42, # Year of date. Must be from 1 to 9999, or 0 if specifying a date without a year.
+    },
+    "state": "A String", # Status of this course work.. If unspecified, the default state is `DRAFT`.
+    "materials": [ # Additional materials.
+      { # Material attached to course work. When creating attachments, only the Link field may be specified.
+        "link": { # URL item. # Link material.
+          "url": "A String", # URL to link to. This must be a valid UTF-8 string containing between 1 and 2024 characters.
+          "thumbnailUrl": "A String", # URL of a thumbnail image of the target URL. Read-only.
+          "title": "A String", # Title of the target of the URL. Read-only.
+        },
+        "driveFile": { # Drive file that is used as material for course work. # Google Drive file material.
+          "driveFile": { # Representation of a Google Drive file. # Drive file details.
+            "thumbnailUrl": "A String", # URL of a thumbnail image of the Drive item. Read-only.
+            "alternateLink": "A String", # URL that can be used to access the Drive item. Read-only.
+            "id": "A String", # Drive API resource ID.
+            "title": "A String", # Title of the Drive item. Read-only.
+          },
+          "shareMode": "A String", # Mechanism by which students access the Drive item.
+        },
+        "youtubeVideo": { # YouTube video item. # YouTube video material.
+          "thumbnailUrl": "A String", # URL of a thumbnail image of the YouTube video. Read-only.
+          "alternateLink": "A String", # URL that can be used to view the YouTube video. Read-only.
+          "id": "A String", # YouTube API resource ID.
+          "title": "A String", # Title of the YouTube video. Read-only.
+        },
+        "form": { # Google Forms item. # Google Forms material.
+          "thumbnailUrl": "A String", # URL of a thumbnail image of the Form. Read-only.
+          "formUrl": "A String", # URL of the form.
+          "responseUrl": "A String", # URL of the form responses document. Only set if respsonses have been recorded and only when the requesting user is an editor of the form. Read-only.
+          "title": "A String", # Title of the Form. Read-only.
+        },
+      },
+    ],
+    "multipleChoiceQuestion": { # Additional details for multiple-choice questions. # Multiple choice question details. This is populated only when `work_type` is `MULTIPLE_CHOICE_QUESTION`.
+      "choices": [ # Possible choices.
+        "A String",
+      ],
+    },
+    "maxPoints": 3.14, # Maximum grade for this course work. If zero or unspecified, this assignment is considered ungraded. This must be an integer value.
+    "associatedWithDeveloper": True or False, # Whether this course work item is associated with the Developer Console project making the request. See google.classroom.Work.CreateCourseWork for more details. Read-only.
+    "id": "A String", # Classroom-assigned identifier of this course work, unique per course. Read-only.
+    "dueTime": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may chose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional time of day, in UTC, that submissions for this this course work are due. This must be specified if `due_date` is specified.
+      "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
+      "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
+      "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
+      "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+    },
+    "workType": "A String", # Type of this course work. The type is set when the course work is created and cannot be changed. When creating course work, this must be `ASSIGNMENT`.
+  }
+
+  x__xgafv: string, V1 error format.
+
+Returns:
+  An object of the form:
+
+    { # Course work created by a teacher for students of the course.
+      "updateTime": "A String", # Timestamp of the most recent change to this course work. Read-only.
+      "submissionModificationMode": "A String", # Setting to determine when students are allowed to modify submissions. If unspecified, the default value is `MODIFIABLE_UNTIL_TURNED_IN`.
+      "description": "A String", # Optional description of this course work. If set, the description must be a valid UTF-8 string containing no more than 30,000 characters.
+      "title": "A String", # Title of this course work. The title must be a valid UTF-8 string containing between 1 and 3000 characters.
+      "courseId": "A String", # Identifier of the course. Read-only.
+      "assignment": { # Additional details for assignments. # Assignment details. This is populated only when `work_type` is `ASSIGNMENT`.
+        "studentWorkFolder": { # Representation of a Google Drive folder. # Drive folder where attachments from student submissions are placed. This is only populated for course teachers.
+          "alternateLink": "A String", # URL that can be used to access the Drive folder. Read-only.
+          "id": "A String", # Drive API resource ID.
+          "title": "A String", # Title of the Drive folder. Read-only.
+        },
+      },
+      "alternateLink": "A String", # Absolute link to this course work in the Classroom web UI. This is only populated if `state` is `PUBLISHED`. Read-only.
+      "creationTime": "A String", # Timestamp when this course work was created. Read-only.
+      "dueDate": { # Represents a whole calendar date, e.g. date of birth. The time of day and time zone are either specified elsewhere or are not significant. The date is relative to the Proleptic Gregorian Calendar. The day may be 0 to represent a year and month where the day is not significant, e.g. credit card expiration date. The year may be 0 to represent a month and day independent of year, e.g. anniversary date. Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`. # Optional date, in UTC, that submissions for this this course work are due. This must be specified if `due_time` is specified.
+        "month": 42, # Month of year. Must be from 1 to 12.
+        "day": 42, # Day of month. Must be from 1 to 31 and valid for the year and month, or 0 if specifying a year/month where the day is not significant.
+        "year": 42, # Year of date. Must be from 1 to 9999, or 0 if specifying a date without a year.
+      },
+      "state": "A String", # Status of this course work.. If unspecified, the default state is `DRAFT`.
+      "materials": [ # Additional materials.
+        { # Material attached to course work. When creating attachments, only the Link field may be specified.
+          "link": { # URL item. # Link material.
+            "url": "A String", # URL to link to. This must be a valid UTF-8 string containing between 1 and 2024 characters.
+            "thumbnailUrl": "A String", # URL of a thumbnail image of the target URL. Read-only.
+            "title": "A String", # Title of the target of the URL. Read-only.
+          },
+          "driveFile": { # Drive file that is used as material for course work. # Google Drive file material.
+            "driveFile": { # Representation of a Google Drive file. # Drive file details.
+              "thumbnailUrl": "A String", # URL of a thumbnail image of the Drive item. Read-only.
+              "alternateLink": "A String", # URL that can be used to access the Drive item. Read-only.
+              "id": "A String", # Drive API resource ID.
+              "title": "A String", # Title of the Drive item. Read-only.
+            },
+            "shareMode": "A String", # Mechanism by which students access the Drive item.
+          },
+          "youtubeVideo": { # YouTube video item. # YouTube video material.
+            "thumbnailUrl": "A String", # URL of a thumbnail image of the YouTube video. Read-only.
+            "alternateLink": "A String", # URL that can be used to view the YouTube video. Read-only.
+            "id": "A String", # YouTube API resource ID.
+            "title": "A String", # Title of the YouTube video. Read-only.
+          },
+          "form": { # Google Forms item. # Google Forms material.
+            "thumbnailUrl": "A String", # URL of a thumbnail image of the Form. Read-only.
+            "formUrl": "A String", # URL of the form.
+            "responseUrl": "A String", # URL of the form responses document. Only set if respsonses have been recorded and only when the requesting user is an editor of the form. Read-only.
+            "title": "A String", # Title of the Form. Read-only.
+          },
+        },
+      ],
+      "multipleChoiceQuestion": { # Additional details for multiple-choice questions. # Multiple choice question details. This is populated only when `work_type` is `MULTIPLE_CHOICE_QUESTION`.
+        "choices": [ # Possible choices.
+          "A String",
+        ],
+      },
+      "maxPoints": 3.14, # Maximum grade for this course work. If zero or unspecified, this assignment is considered ungraded. This must be an integer value.
+      "associatedWithDeveloper": True or False, # Whether this course work item is associated with the Developer Console project making the request. See google.classroom.Work.CreateCourseWork for more details. Read-only.
+      "id": "A String", # Classroom-assigned identifier of this course work, unique per course. Read-only.
+      "dueTime": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may chose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional time of day, in UTC, that submissions for this this course work are due. This must be specified if `due_date` is specified.
+        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
+        "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
+        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
+        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+      },
+      "workType": "A String", # Type of this course work. The type is set when the course work is created and cannot be changed. When creating course work, this must be `ASSIGNMENT`.
+    }
+
+ +
+ get(courseId, id, x__xgafv=None) +
Returns course work. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or course work, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course or course work does not exist.
+
+Args:
+  courseId: string, Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias. (required)
+  id: string, Identifier of the course work. (required)
+  x__xgafv: string, V1 error format.
+
+Returns:
+  An object of the form:
+
+    { # Course work created by a teacher for students of the course.
+      "updateTime": "A String", # Timestamp of the most recent change to this course work. Read-only.
+      "submissionModificationMode": "A String", # Setting to determine when students are allowed to modify submissions. If unspecified, the default value is `MODIFIABLE_UNTIL_TURNED_IN`.
+      "description": "A String", # Optional description of this course work. If set, the description must be a valid UTF-8 string containing no more than 30,000 characters.
+      "title": "A String", # Title of this course work. The title must be a valid UTF-8 string containing between 1 and 3000 characters.
+      "courseId": "A String", # Identifier of the course. Read-only.
+      "assignment": { # Additional details for assignments. # Assignment details. This is populated only when `work_type` is `ASSIGNMENT`.
+        "studentWorkFolder": { # Representation of a Google Drive folder. # Drive folder where attachments from student submissions are placed. This is only populated for course teachers.
+          "alternateLink": "A String", # URL that can be used to access the Drive folder. Read-only.
+          "id": "A String", # Drive API resource ID.
+          "title": "A String", # Title of the Drive folder. Read-only.
+        },
+      },
+      "alternateLink": "A String", # Absolute link to this course work in the Classroom web UI. This is only populated if `state` is `PUBLISHED`. Read-only.
+      "creationTime": "A String", # Timestamp when this course work was created. Read-only.
+      "dueDate": { # Represents a whole calendar date, e.g. date of birth. The time of day and time zone are either specified elsewhere or are not significant. The date is relative to the Proleptic Gregorian Calendar. The day may be 0 to represent a year and month where the day is not significant, e.g. credit card expiration date. The year may be 0 to represent a month and day independent of year, e.g. anniversary date. Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`. # Optional date, in UTC, that submissions for this this course work are due. This must be specified if `due_time` is specified.
+        "month": 42, # Month of year. Must be from 1 to 12.
+        "day": 42, # Day of month. Must be from 1 to 31 and valid for the year and month, or 0 if specifying a year/month where the day is not significant.
+        "year": 42, # Year of date. Must be from 1 to 9999, or 0 if specifying a date without a year.
+      },
+      "state": "A String", # Status of this course work.. If unspecified, the default state is `DRAFT`.
+      "materials": [ # Additional materials.
+        { # Material attached to course work. When creating attachments, only the Link field may be specified.
+          "link": { # URL item. # Link material.
+            "url": "A String", # URL to link to. This must be a valid UTF-8 string containing between 1 and 2024 characters.
+            "thumbnailUrl": "A String", # URL of a thumbnail image of the target URL. Read-only.
+            "title": "A String", # Title of the target of the URL. Read-only.
+          },
+          "driveFile": { # Drive file that is used as material for course work. # Google Drive file material.
+            "driveFile": { # Representation of a Google Drive file. # Drive file details.
+              "thumbnailUrl": "A String", # URL of a thumbnail image of the Drive item. Read-only.
+              "alternateLink": "A String", # URL that can be used to access the Drive item. Read-only.
+              "id": "A String", # Drive API resource ID.
+              "title": "A String", # Title of the Drive item. Read-only.
+            },
+            "shareMode": "A String", # Mechanism by which students access the Drive item.
+          },
+          "youtubeVideo": { # YouTube video item. # YouTube video material.
+            "thumbnailUrl": "A String", # URL of a thumbnail image of the YouTube video. Read-only.
+            "alternateLink": "A String", # URL that can be used to view the YouTube video. Read-only.
+            "id": "A String", # YouTube API resource ID.
+            "title": "A String", # Title of the YouTube video. Read-only.
+          },
+          "form": { # Google Forms item. # Google Forms material.
+            "thumbnailUrl": "A String", # URL of a thumbnail image of the Form. Read-only.
+            "formUrl": "A String", # URL of the form.
+            "responseUrl": "A String", # URL of the form responses document. Only set if respsonses have been recorded and only when the requesting user is an editor of the form. Read-only.
+            "title": "A String", # Title of the Form. Read-only.
+          },
+        },
+      ],
+      "multipleChoiceQuestion": { # Additional details for multiple-choice questions. # Multiple choice question details. This is populated only when `work_type` is `MULTIPLE_CHOICE_QUESTION`.
+        "choices": [ # Possible choices.
+          "A String",
+        ],
+      },
+      "maxPoints": 3.14, # Maximum grade for this course work. If zero or unspecified, this assignment is considered ungraded. This must be an integer value.
+      "associatedWithDeveloper": True or False, # Whether this course work item is associated with the Developer Console project making the request. See google.classroom.Work.CreateCourseWork for more details. Read-only.
+      "id": "A String", # Classroom-assigned identifier of this course work, unique per course. Read-only.
+      "dueTime": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may chose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional time of day, in UTC, that submissions for this this course work are due. This must be specified if `due_date` is specified.
+        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
+        "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
+        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
+        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+      },
+      "workType": "A String", # Type of this course work. The type is set when the course work is created and cannot be changed. When creating course work, this must be `ASSIGNMENT`.
+    }
+
+ +
+ list(courseId, orderBy=None, courseWorkStates=None, pageSize=None, x__xgafv=None, pageToken=None) +
Returns a list of course work that the requester is permitted to view. Course students may only view `PUBLISHED` course work. Course teachers and domain administrators may view all course work. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course does not exist.
+
+Args:
+  courseId: string, Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias. (required)
+  orderBy: string, Optional sort ordering for results. A comma-separated list of fields with an optional sort direction keyword. Supported fields are `updateTime` and `dueDate`. Supported direction keywords are `asc` and `desc`. If not specified, `updateTime desc` is the default behavior. Examples: `dueDate asc,updateTime desc`, `updateTime,dueDate desc`
+  courseWorkStates: string, Restriction on the work status to return. Only courseWork that matches is returned. If unspecified, items with a work status of `PUBLISHED` is returned. (repeated)
+  pageSize: integer, Maximum number of items to return. Zero or unspecified indicates that the server may assign a maximum. The server may return fewer than the specified number of results.
+  x__xgafv: string, V1 error format.
+  pageToken: string, nextPageToken value returned from a previous list call, indicating that the subsequent page of results should be returned. The list request must be otherwise identical to the one that resulted in this token.
+
+Returns:
+  An object of the form:
+
+    { # Response when listing course work.
+    "nextPageToken": "A String", # Token identifying the next page of results to return. If empty, no further results are available.
+    "courseWork": [ # Course work items that match the request.
+      { # Course work created by a teacher for students of the course.
+          "updateTime": "A String", # Timestamp of the most recent change to this course work. Read-only.
+          "submissionModificationMode": "A String", # Setting to determine when students are allowed to modify submissions. If unspecified, the default value is `MODIFIABLE_UNTIL_TURNED_IN`.
+          "description": "A String", # Optional description of this course work. If set, the description must be a valid UTF-8 string containing no more than 30,000 characters.
+          "title": "A String", # Title of this course work. The title must be a valid UTF-8 string containing between 1 and 3000 characters.
+          "courseId": "A String", # Identifier of the course. Read-only.
+          "assignment": { # Additional details for assignments. # Assignment details. This is populated only when `work_type` is `ASSIGNMENT`.
+            "studentWorkFolder": { # Representation of a Google Drive folder. # Drive folder where attachments from student submissions are placed. This is only populated for course teachers.
+              "alternateLink": "A String", # URL that can be used to access the Drive folder. Read-only.
+              "id": "A String", # Drive API resource ID.
+              "title": "A String", # Title of the Drive folder. Read-only.
+            },
+          },
+          "alternateLink": "A String", # Absolute link to this course work in the Classroom web UI. This is only populated if `state` is `PUBLISHED`. Read-only.
+          "creationTime": "A String", # Timestamp when this course work was created. Read-only.
+          "dueDate": { # Represents a whole calendar date, e.g. date of birth. The time of day and time zone are either specified elsewhere or are not significant. The date is relative to the Proleptic Gregorian Calendar. The day may be 0 to represent a year and month where the day is not significant, e.g. credit card expiration date. The year may be 0 to represent a month and day independent of year, e.g. anniversary date. Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`. # Optional date, in UTC, that submissions for this this course work are due. This must be specified if `due_time` is specified.
+            "month": 42, # Month of year. Must be from 1 to 12.
+            "day": 42, # Day of month. Must be from 1 to 31 and valid for the year and month, or 0 if specifying a year/month where the day is not significant.
+            "year": 42, # Year of date. Must be from 1 to 9999, or 0 if specifying a date without a year.
+          },
+          "state": "A String", # Status of this course work.. If unspecified, the default state is `DRAFT`.
+          "materials": [ # Additional materials.
+            { # Material attached to course work. When creating attachments, only the Link field may be specified.
+              "link": { # URL item. # Link material.
+                "url": "A String", # URL to link to. This must be a valid UTF-8 string containing between 1 and 2024 characters.
+                "thumbnailUrl": "A String", # URL of a thumbnail image of the target URL. Read-only.
+                "title": "A String", # Title of the target of the URL. Read-only.
+              },
+              "driveFile": { # Drive file that is used as material for course work. # Google Drive file material.
+                "driveFile": { # Representation of a Google Drive file. # Drive file details.
+                  "thumbnailUrl": "A String", # URL of a thumbnail image of the Drive item. Read-only.
+                  "alternateLink": "A String", # URL that can be used to access the Drive item. Read-only.
+                  "id": "A String", # Drive API resource ID.
+                  "title": "A String", # Title of the Drive item. Read-only.
+                },
+                "shareMode": "A String", # Mechanism by which students access the Drive item.
+              },
+              "youtubeVideo": { # YouTube video item. # YouTube video material.
+                "thumbnailUrl": "A String", # URL of a thumbnail image of the YouTube video. Read-only.
+                "alternateLink": "A String", # URL that can be used to view the YouTube video. Read-only.
+                "id": "A String", # YouTube API resource ID.
+                "title": "A String", # Title of the YouTube video. Read-only.
+              },
+              "form": { # Google Forms item. # Google Forms material.
+                "thumbnailUrl": "A String", # URL of a thumbnail image of the Form. Read-only.
+                "formUrl": "A String", # URL of the form.
+                "responseUrl": "A String", # URL of the form responses document. Only set if respsonses have been recorded and only when the requesting user is an editor of the form. Read-only.
+                "title": "A String", # Title of the Form. Read-only.
+              },
+            },
+          ],
+          "multipleChoiceQuestion": { # Additional details for multiple-choice questions. # Multiple choice question details. This is populated only when `work_type` is `MULTIPLE_CHOICE_QUESTION`.
+            "choices": [ # Possible choices.
+              "A String",
+            ],
+          },
+          "maxPoints": 3.14, # Maximum grade for this course work. If zero or unspecified, this assignment is considered ungraded. This must be an integer value.
+          "associatedWithDeveloper": True or False, # Whether this course work item is associated with the Developer Console project making the request. See google.classroom.Work.CreateCourseWork for more details. Read-only.
+          "id": "A String", # Classroom-assigned identifier of this course work, unique per course. Read-only.
+          "dueTime": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may chose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional time of day, in UTC, that submissions for this this course work are due. This must be specified if `due_date` is specified.
+            "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
+            "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.
+            "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
+            "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
+          },
+          "workType": "A String", # Type of this course work. The type is set when the course work is created and cannot be changed. When creating course work, this must be `ASSIGNMENT`.
+        },
+    ],
+  }
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    
+
+ + \ No newline at end of file diff --git a/docs/dyn/classroom_v1.courses.courseWork.studentSubmissions.html b/docs/dyn/classroom_v1.courses.courseWork.studentSubmissions.html new file mode 100644 index 00000000000..d13c3de7820 --- /dev/null +++ b/docs/dyn/classroom_v1.courses.courseWork.studentSubmissions.html @@ -0,0 +1,542 @@ + + + +

Google Classroom API . courses . courseWork . studentSubmissions

+

Instance Methods

+

+ get(courseId, courseWorkId, id, x__xgafv=None)

+

Returns a student submission. * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course, course work, or student submission or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course, course work, or student submission does not exist.

+

+ list(courseId, courseWorkId, pageSize=None, userId=None, states=None, x__xgafv=None, pageToken=None, late=None)

+

Returns a list of student submissions that the requester is permitted to view, factoring in the OAuth scopes of the request. `-` may be specified as the `course_work_id` to include student submissions for multiple course work items. Course students may only view their own work. Course teachers and domain administrators may view all student submissions. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or course work, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course does not exist.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

+ modifyAttachments(courseId, courseWorkId, id, body, x__xgafv=None)

+

Modifies attachments of student submission. Attachments may only be added to student submissions whose type is `ASSIGNMENT`. This request must be made by the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the corresponding course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or course work, if the user is not permitted to modify attachments on the requested student submission, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course, course work, or student submission does not exist.

+

+ patch(courseId, courseWorkId, id, body, updateMask=None, x__xgafv=None)

+

Updates one or more fields of a student submission. See google.classroom.v1.StudentSubmission for details of which fields may be updated and who may change them. This request must be made by the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the corresponding course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting developer project did not create the corresponding course work, if the user is not permitted to make the requested modification to the student submission, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course, course work, or student submission does not exist.

+

+ reclaim(courseId, courseWorkId, id, body, x__xgafv=None)

+

Reclaims a student submission on behalf of the student that owns it. Reclaiming a student submission transfers ownership of attached Drive files to the student and update the submission state. Only the student that ownes the requested student submission may call this method, and only for a student submission that has been turned in. This request must be made by the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the corresponding course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or course work, unsubmit the requested student submission, or for access errors. * `FAILED_PRECONDITION` if the student submission has not been turned in. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course, course work, or student submission does not exist.

+

+ return_(courseId, courseWorkId, id, body, x__xgafv=None)

+

Returns a student submission. Returning a student submission transfers ownership of attached Drive files to the student and may also update the submission state. Unlike the Classroom application, returning a student submission does not set assignedGrade to the draftGrade value. Only a teacher of the course that contains the requested student submission may call this method. This request must be made by the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the corresponding course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or course work, return the requested student submission, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course, course work, or student submission does not exist.

+

+ turnIn(courseId, courseWorkId, id, body, x__xgafv=None)

+

Turns in a student submission. Turning in a student submission transfers ownership of attached Drive files to the teacher and may also update the submission state. This may only be called by the student that owns the specified student submission. This request must be made by the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the corresponding course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or course work, turn in the requested student submission, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course, course work, or student submission does not exist.

+

Method Details

+
+ get(courseId, courseWorkId, id, x__xgafv=None) +
Returns a student submission. * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course, course work, or student submission or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course, course work, or student submission does not exist.
+
+Args:
+  courseId: string, Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias. (required)
+  courseWorkId: string, Identifier of the course work. (required)
+  id: string, Identifier of the student submission. (required)
+  x__xgafv: string, V1 error format.
+
+Returns:
+  An object of the form:
+
+    { # Student submission for course work. StudentSubmission items are generated when a CourseWork item is created. StudentSubmissions that have never been accessed (i.e. with `state` = NEW) may not have a creation time or update time.
+    "draftGrade": 3.14, # Optional pending grade. If unset, no grade was set. This must be an integer value. This is only visible to and modifiable by course teachers.
+    "updateTime": "A String", # Last update time of this submission. This may be unset if the student has not accessed this item. Read-only.
+    "alternateLink": "A String", # Absolute link to the submission in the Classroom web UI. Read-only.
+    "courseId": "A String", # Identifier of the course. Read-only.
+    "userId": "A String", # Identifier for the student that owns this submission. Read-only.
+    "creationTime": "A String", # Creation time of this submission.. This may be unset if the student has not accessed this item. Read-only.
+    "shortAnswerSubmission": { # Student work for a short answer question. # Submission content when course_work_type is SHORT_ANSWER_QUESTION.
+      "answer": "A String", # Student response to a short-answer question.
+    },
+    "associatedWithDeveloper": True or False, # Whether this student submission is associated with the Developer Console project making the request. See google.classroom.Work.CreateCourseWork for more details. Read-only.
+    "late": True or False, # Whether this submission is late. Read-only.
+    "state": "A String", # State of this submission. Read-only.
+    "courseWorkId": "A String", # Identifier for the course work this corresponds to. Read-only.
+    "courseWorkType": "A String", # Type of course work this submission is for. Read-only.
+    "multipleChoiceSubmission": { # Student work for a multiple-choice question. # Submission content when course_work_type is MUTIPLE_CHOICE_QUESTION.
+      "answer": "A String", # Student's select choice.
+    },
+    "assignedGrade": 3.14, # Optional grade. If unset, no grade was set. This must be an integer value. This may be modified only by course teachers.
+    "assignmentSubmission": { # Student work for an assignment. # Submission content when course_work_type is ASSIGNMENT .
+      "attachments": [ # Attachments added by the student. Drive files that correspond to materials with a share mode of SUBMISSION_COPY may not exist yet if the student has not accessed the assignment in Classroom. Some attachment metadata is only populated if the requesting user has permission to access it. Identifier and alternate_link fields are available, but others (e.g. title) may not be.
+        { # Attachment added to student assignment work. When creating attachments, only the Link field may be specified.
+          "link": { # URL item. # Link attachment.
+            "url": "A String", # URL to link to. This must be a valid UTF-8 string containing between 1 and 2024 characters.
+            "thumbnailUrl": "A String", # URL of a thumbnail image of the target URL. Read-only.
+            "title": "A String", # Title of the target of the URL. Read-only.
+          },
+          "driveFile": { # Representation of a Google Drive file. # Google Drive file attachment.
+            "thumbnailUrl": "A String", # URL of a thumbnail image of the Drive item. Read-only.
+            "alternateLink": "A String", # URL that can be used to access the Drive item. Read-only.
+            "id": "A String", # Drive API resource ID.
+            "title": "A String", # Title of the Drive item. Read-only.
+          },
+          "youTubeVideo": { # YouTube video item. # Youtube video attachment.
+            "thumbnailUrl": "A String", # URL of a thumbnail image of the YouTube video. Read-only.
+            "alternateLink": "A String", # URL that can be used to view the YouTube video. Read-only.
+            "id": "A String", # YouTube API resource ID.
+            "title": "A String", # Title of the YouTube video. Read-only.
+          },
+          "form": { # Google Forms item. # Google Forms attachment.
+            "thumbnailUrl": "A String", # URL of a thumbnail image of the Form. Read-only.
+            "formUrl": "A String", # URL of the form.
+            "responseUrl": "A String", # URL of the form responses document. Only set if respsonses have been recorded and only when the requesting user is an editor of the form. Read-only.
+            "title": "A String", # Title of the Form. Read-only.
+          },
+        },
+      ],
+    },
+    "id": "A String", # Classroom-assigned Identifier for the student submission. This is unique among submissions for the relevant course work. Read-only.
+  }
+
+ +
+ list(courseId, courseWorkId, pageSize=None, userId=None, states=None, x__xgafv=None, pageToken=None, late=None) +
Returns a list of student submissions that the requester is permitted to view, factoring in the OAuth scopes of the request. `-` may be specified as the `course_work_id` to include student submissions for multiple course work items. Course students may only view their own work. Course teachers and domain administrators may view all student submissions. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or course work, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course does not exist.
+
+Args:
+  courseId: string, Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias. (required)
+  courseWorkId: string, Identifer of the student work to request. If `user_id` is specified, this may be set to the string literal `"-"` to request student work for all course work in the specified course. (required)
+  pageSize: integer, Maximum number of items to return. Zero or unspecified indicates that the server may assign a maximum. The server may return fewer than the specified number of results.
+  userId: string, Optional argument to restrict returned student work to those owned by the student with the specified identifier. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `"me"`, indicating the requesting user
+  states: string, Requested submission states. If specified, returned student submissions match one of the specified submission states. (repeated)
+  x__xgafv: string, V1 error format.
+  pageToken: string, nextPageToken value returned from a previous list call, indicating that the subsequent page of results should be returned. The list request must be otherwise identical to the one that resulted in this token.
+  late: string, Requested lateness value. If specified, returned student submissions are restricted by the requested value. If unspecified, submissions are returned regardless of `late` value.
+
+Returns:
+  An object of the form:
+
+    { # Response when listing student submissions.
+    "nextPageToken": "A String", # Token identifying the next page of results to return. If empty, no further results are available.
+    "studentSubmissions": [ # Student work that matches the request.
+      { # Student submission for course work. StudentSubmission items are generated when a CourseWork item is created. StudentSubmissions that have never been accessed (i.e. with `state` = NEW) may not have a creation time or update time.
+        "draftGrade": 3.14, # Optional pending grade. If unset, no grade was set. This must be an integer value. This is only visible to and modifiable by course teachers.
+        "updateTime": "A String", # Last update time of this submission. This may be unset if the student has not accessed this item. Read-only.
+        "alternateLink": "A String", # Absolute link to the submission in the Classroom web UI. Read-only.
+        "courseId": "A String", # Identifier of the course. Read-only.
+        "userId": "A String", # Identifier for the student that owns this submission. Read-only.
+        "creationTime": "A String", # Creation time of this submission.. This may be unset if the student has not accessed this item. Read-only.
+        "shortAnswerSubmission": { # Student work for a short answer question. # Submission content when course_work_type is SHORT_ANSWER_QUESTION.
+          "answer": "A String", # Student response to a short-answer question.
+        },
+        "associatedWithDeveloper": True or False, # Whether this student submission is associated with the Developer Console project making the request. See google.classroom.Work.CreateCourseWork for more details. Read-only.
+        "late": True or False, # Whether this submission is late. Read-only.
+        "state": "A String", # State of this submission. Read-only.
+        "courseWorkId": "A String", # Identifier for the course work this corresponds to. Read-only.
+        "courseWorkType": "A String", # Type of course work this submission is for. Read-only.
+        "multipleChoiceSubmission": { # Student work for a multiple-choice question. # Submission content when course_work_type is MUTIPLE_CHOICE_QUESTION.
+          "answer": "A String", # Student's select choice.
+        },
+        "assignedGrade": 3.14, # Optional grade. If unset, no grade was set. This must be an integer value. This may be modified only by course teachers.
+        "assignmentSubmission": { # Student work for an assignment. # Submission content when course_work_type is ASSIGNMENT .
+          "attachments": [ # Attachments added by the student. Drive files that correspond to materials with a share mode of SUBMISSION_COPY may not exist yet if the student has not accessed the assignment in Classroom. Some attachment metadata is only populated if the requesting user has permission to access it. Identifier and alternate_link fields are available, but others (e.g. title) may not be.
+            { # Attachment added to student assignment work. When creating attachments, only the Link field may be specified.
+              "link": { # URL item. # Link attachment.
+                "url": "A String", # URL to link to. This must be a valid UTF-8 string containing between 1 and 2024 characters.
+                "thumbnailUrl": "A String", # URL of a thumbnail image of the target URL. Read-only.
+                "title": "A String", # Title of the target of the URL. Read-only.
+              },
+              "driveFile": { # Representation of a Google Drive file. # Google Drive file attachment.
+                "thumbnailUrl": "A String", # URL of a thumbnail image of the Drive item. Read-only.
+                "alternateLink": "A String", # URL that can be used to access the Drive item. Read-only.
+                "id": "A String", # Drive API resource ID.
+                "title": "A String", # Title of the Drive item. Read-only.
+              },
+              "youTubeVideo": { # YouTube video item. # Youtube video attachment.
+                "thumbnailUrl": "A String", # URL of a thumbnail image of the YouTube video. Read-only.
+                "alternateLink": "A String", # URL that can be used to view the YouTube video. Read-only.
+                "id": "A String", # YouTube API resource ID.
+                "title": "A String", # Title of the YouTube video. Read-only.
+              },
+              "form": { # Google Forms item. # Google Forms attachment.
+                "thumbnailUrl": "A String", # URL of a thumbnail image of the Form. Read-only.
+                "formUrl": "A String", # URL of the form.
+                "responseUrl": "A String", # URL of the form responses document. Only set if respsonses have been recorded and only when the requesting user is an editor of the form. Read-only.
+                "title": "A String", # Title of the Form. Read-only.
+              },
+            },
+          ],
+        },
+        "id": "A String", # Classroom-assigned Identifier for the student submission. This is unique among submissions for the relevant course work. Read-only.
+      },
+    ],
+  }
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    
+
+ +
+ modifyAttachments(courseId, courseWorkId, id, body, x__xgafv=None) +
Modifies attachments of student submission. Attachments may only be added to student submissions whose type is `ASSIGNMENT`. This request must be made by the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the corresponding course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or course work, if the user is not permitted to modify attachments on the requested student submission, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course, course work, or student submission does not exist.
+
+Args:
+  courseId: string, Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias. (required)
+  courseWorkId: string, Identifier of the course work. (required)
+  id: string, Identifier of the student submission. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Request to modify the attachments of a student submission.
+    "addAttachments": [ # Attachments to add. This may only contain link attachments.
+      { # Attachment added to student assignment work. When creating attachments, only the Link field may be specified.
+        "link": { # URL item. # Link attachment.
+          "url": "A String", # URL to link to. This must be a valid UTF-8 string containing between 1 and 2024 characters.
+          "thumbnailUrl": "A String", # URL of a thumbnail image of the target URL. Read-only.
+          "title": "A String", # Title of the target of the URL. Read-only.
+        },
+        "driveFile": { # Representation of a Google Drive file. # Google Drive file attachment.
+          "thumbnailUrl": "A String", # URL of a thumbnail image of the Drive item. Read-only.
+          "alternateLink": "A String", # URL that can be used to access the Drive item. Read-only.
+          "id": "A String", # Drive API resource ID.
+          "title": "A String", # Title of the Drive item. Read-only.
+        },
+        "youTubeVideo": { # YouTube video item. # Youtube video attachment.
+          "thumbnailUrl": "A String", # URL of a thumbnail image of the YouTube video. Read-only.
+          "alternateLink": "A String", # URL that can be used to view the YouTube video. Read-only.
+          "id": "A String", # YouTube API resource ID.
+          "title": "A String", # Title of the YouTube video. Read-only.
+        },
+        "form": { # Google Forms item. # Google Forms attachment.
+          "thumbnailUrl": "A String", # URL of a thumbnail image of the Form. Read-only.
+          "formUrl": "A String", # URL of the form.
+          "responseUrl": "A String", # URL of the form responses document. Only set if respsonses have been recorded and only when the requesting user is an editor of the form. Read-only.
+          "title": "A String", # Title of the Form. Read-only.
+        },
+      },
+    ],
+  }
+
+  x__xgafv: string, V1 error format.
+
+Returns:
+  An object of the form:
+
+    { # Student submission for course work. StudentSubmission items are generated when a CourseWork item is created. StudentSubmissions that have never been accessed (i.e. with `state` = NEW) may not have a creation time or update time.
+    "draftGrade": 3.14, # Optional pending grade. If unset, no grade was set. This must be an integer value. This is only visible to and modifiable by course teachers.
+    "updateTime": "A String", # Last update time of this submission. This may be unset if the student has not accessed this item. Read-only.
+    "alternateLink": "A String", # Absolute link to the submission in the Classroom web UI. Read-only.
+    "courseId": "A String", # Identifier of the course. Read-only.
+    "userId": "A String", # Identifier for the student that owns this submission. Read-only.
+    "creationTime": "A String", # Creation time of this submission.. This may be unset if the student has not accessed this item. Read-only.
+    "shortAnswerSubmission": { # Student work for a short answer question. # Submission content when course_work_type is SHORT_ANSWER_QUESTION.
+      "answer": "A String", # Student response to a short-answer question.
+    },
+    "associatedWithDeveloper": True or False, # Whether this student submission is associated with the Developer Console project making the request. See google.classroom.Work.CreateCourseWork for more details. Read-only.
+    "late": True or False, # Whether this submission is late. Read-only.
+    "state": "A String", # State of this submission. Read-only.
+    "courseWorkId": "A String", # Identifier for the course work this corresponds to. Read-only.
+    "courseWorkType": "A String", # Type of course work this submission is for. Read-only.
+    "multipleChoiceSubmission": { # Student work for a multiple-choice question. # Submission content when course_work_type is MUTIPLE_CHOICE_QUESTION.
+      "answer": "A String", # Student's select choice.
+    },
+    "assignedGrade": 3.14, # Optional grade. If unset, no grade was set. This must be an integer value. This may be modified only by course teachers.
+    "assignmentSubmission": { # Student work for an assignment. # Submission content when course_work_type is ASSIGNMENT .
+      "attachments": [ # Attachments added by the student. Drive files that correspond to materials with a share mode of SUBMISSION_COPY may not exist yet if the student has not accessed the assignment in Classroom. Some attachment metadata is only populated if the requesting user has permission to access it. Identifier and alternate_link fields are available, but others (e.g. title) may not be.
+        { # Attachment added to student assignment work. When creating attachments, only the Link field may be specified.
+          "link": { # URL item. # Link attachment.
+            "url": "A String", # URL to link to. This must be a valid UTF-8 string containing between 1 and 2024 characters.
+            "thumbnailUrl": "A String", # URL of a thumbnail image of the target URL. Read-only.
+            "title": "A String", # Title of the target of the URL. Read-only.
+          },
+          "driveFile": { # Representation of a Google Drive file. # Google Drive file attachment.
+            "thumbnailUrl": "A String", # URL of a thumbnail image of the Drive item. Read-only.
+            "alternateLink": "A String", # URL that can be used to access the Drive item. Read-only.
+            "id": "A String", # Drive API resource ID.
+            "title": "A String", # Title of the Drive item. Read-only.
+          },
+          "youTubeVideo": { # YouTube video item. # Youtube video attachment.
+            "thumbnailUrl": "A String", # URL of a thumbnail image of the YouTube video. Read-only.
+            "alternateLink": "A String", # URL that can be used to view the YouTube video. Read-only.
+            "id": "A String", # YouTube API resource ID.
+            "title": "A String", # Title of the YouTube video. Read-only.
+          },
+          "form": { # Google Forms item. # Google Forms attachment.
+            "thumbnailUrl": "A String", # URL of a thumbnail image of the Form. Read-only.
+            "formUrl": "A String", # URL of the form.
+            "responseUrl": "A String", # URL of the form responses document. Only set if respsonses have been recorded and only when the requesting user is an editor of the form. Read-only.
+            "title": "A String", # Title of the Form. Read-only.
+          },
+        },
+      ],
+    },
+    "id": "A String", # Classroom-assigned Identifier for the student submission. This is unique among submissions for the relevant course work. Read-only.
+  }
+
+ +
+ patch(courseId, courseWorkId, id, body, updateMask=None, x__xgafv=None) +
Updates one or more fields of a student submission. See google.classroom.v1.StudentSubmission for details of which fields may be updated and who may change them. This request must be made by the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the corresponding course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting developer project did not create the corresponding course work, if the user is not permitted to make the requested modification to the student submission, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course, course work, or student submission does not exist.
+
+Args:
+  courseId: string, Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias. (required)
+  courseWorkId: string, Identifier of the course work. (required)
+  id: string, Identifier of the student submission. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Student submission for course work. StudentSubmission items are generated when a CourseWork item is created. StudentSubmissions that have never been accessed (i.e. with `state` = NEW) may not have a creation time or update time.
+  "draftGrade": 3.14, # Optional pending grade. If unset, no grade was set. This must be an integer value. This is only visible to and modifiable by course teachers.
+  "updateTime": "A String", # Last update time of this submission. This may be unset if the student has not accessed this item. Read-only.
+  "alternateLink": "A String", # Absolute link to the submission in the Classroom web UI. Read-only.
+  "courseId": "A String", # Identifier of the course. Read-only.
+  "userId": "A String", # Identifier for the student that owns this submission. Read-only.
+  "creationTime": "A String", # Creation time of this submission.. This may be unset if the student has not accessed this item. Read-only.
+  "shortAnswerSubmission": { # Student work for a short answer question. # Submission content when course_work_type is SHORT_ANSWER_QUESTION.
+    "answer": "A String", # Student response to a short-answer question.
+  },
+  "associatedWithDeveloper": True or False, # Whether this student submission is associated with the Developer Console project making the request. See google.classroom.Work.CreateCourseWork for more details. Read-only.
+  "late": True or False, # Whether this submission is late. Read-only.
+  "state": "A String", # State of this submission. Read-only.
+  "courseWorkId": "A String", # Identifier for the course work this corresponds to. Read-only.
+  "courseWorkType": "A String", # Type of course work this submission is for. Read-only.
+  "multipleChoiceSubmission": { # Student work for a multiple-choice question. # Submission content when course_work_type is MUTIPLE_CHOICE_QUESTION.
+    "answer": "A String", # Student's select choice.
+  },
+  "assignedGrade": 3.14, # Optional grade. If unset, no grade was set. This must be an integer value. This may be modified only by course teachers.
+  "assignmentSubmission": { # Student work for an assignment. # Submission content when course_work_type is ASSIGNMENT .
+    "attachments": [ # Attachments added by the student. Drive files that correspond to materials with a share mode of SUBMISSION_COPY may not exist yet if the student has not accessed the assignment in Classroom. Some attachment metadata is only populated if the requesting user has permission to access it. Identifier and alternate_link fields are available, but others (e.g. title) may not be.
+      { # Attachment added to student assignment work. When creating attachments, only the Link field may be specified.
+        "link": { # URL item. # Link attachment.
+          "url": "A String", # URL to link to. This must be a valid UTF-8 string containing between 1 and 2024 characters.
+          "thumbnailUrl": "A String", # URL of a thumbnail image of the target URL. Read-only.
+          "title": "A String", # Title of the target of the URL. Read-only.
+        },
+        "driveFile": { # Representation of a Google Drive file. # Google Drive file attachment.
+          "thumbnailUrl": "A String", # URL of a thumbnail image of the Drive item. Read-only.
+          "alternateLink": "A String", # URL that can be used to access the Drive item. Read-only.
+          "id": "A String", # Drive API resource ID.
+          "title": "A String", # Title of the Drive item. Read-only.
+        },
+        "youTubeVideo": { # YouTube video item. # Youtube video attachment.
+          "thumbnailUrl": "A String", # URL of a thumbnail image of the YouTube video. Read-only.
+          "alternateLink": "A String", # URL that can be used to view the YouTube video. Read-only.
+          "id": "A String", # YouTube API resource ID.
+          "title": "A String", # Title of the YouTube video. Read-only.
+        },
+        "form": { # Google Forms item. # Google Forms attachment.
+          "thumbnailUrl": "A String", # URL of a thumbnail image of the Form. Read-only.
+          "formUrl": "A String", # URL of the form.
+          "responseUrl": "A String", # URL of the form responses document. Only set if respsonses have been recorded and only when the requesting user is an editor of the form. Read-only.
+          "title": "A String", # Title of the Form. Read-only.
+        },
+      },
+    ],
+  },
+  "id": "A String", # Classroom-assigned Identifier for the student submission. This is unique among submissions for the relevant course work. Read-only.
+}
+
+  updateMask: string, Mask that identifies which fields on the student submission to update. This field is required to do an update. The update fails if invalid fields are specified. The following fields may be specified by teachers: * `draft_grade` * `assigned_grade`
+  x__xgafv: string, V1 error format.
+
+Returns:
+  An object of the form:
+
+    { # Student submission for course work. StudentSubmission items are generated when a CourseWork item is created. StudentSubmissions that have never been accessed (i.e. with `state` = NEW) may not have a creation time or update time.
+    "draftGrade": 3.14, # Optional pending grade. If unset, no grade was set. This must be an integer value. This is only visible to and modifiable by course teachers.
+    "updateTime": "A String", # Last update time of this submission. This may be unset if the student has not accessed this item. Read-only.
+    "alternateLink": "A String", # Absolute link to the submission in the Classroom web UI. Read-only.
+    "courseId": "A String", # Identifier of the course. Read-only.
+    "userId": "A String", # Identifier for the student that owns this submission. Read-only.
+    "creationTime": "A String", # Creation time of this submission.. This may be unset if the student has not accessed this item. Read-only.
+    "shortAnswerSubmission": { # Student work for a short answer question. # Submission content when course_work_type is SHORT_ANSWER_QUESTION.
+      "answer": "A String", # Student response to a short-answer question.
+    },
+    "associatedWithDeveloper": True or False, # Whether this student submission is associated with the Developer Console project making the request. See google.classroom.Work.CreateCourseWork for more details. Read-only.
+    "late": True or False, # Whether this submission is late. Read-only.
+    "state": "A String", # State of this submission. Read-only.
+    "courseWorkId": "A String", # Identifier for the course work this corresponds to. Read-only.
+    "courseWorkType": "A String", # Type of course work this submission is for. Read-only.
+    "multipleChoiceSubmission": { # Student work for a multiple-choice question. # Submission content when course_work_type is MUTIPLE_CHOICE_QUESTION.
+      "answer": "A String", # Student's select choice.
+    },
+    "assignedGrade": 3.14, # Optional grade. If unset, no grade was set. This must be an integer value. This may be modified only by course teachers.
+    "assignmentSubmission": { # Student work for an assignment. # Submission content when course_work_type is ASSIGNMENT .
+      "attachments": [ # Attachments added by the student. Drive files that correspond to materials with a share mode of SUBMISSION_COPY may not exist yet if the student has not accessed the assignment in Classroom. Some attachment metadata is only populated if the requesting user has permission to access it. Identifier and alternate_link fields are available, but others (e.g. title) may not be.
+        { # Attachment added to student assignment work. When creating attachments, only the Link field may be specified.
+          "link": { # URL item. # Link attachment.
+            "url": "A String", # URL to link to. This must be a valid UTF-8 string containing between 1 and 2024 characters.
+            "thumbnailUrl": "A String", # URL of a thumbnail image of the target URL. Read-only.
+            "title": "A String", # Title of the target of the URL. Read-only.
+          },
+          "driveFile": { # Representation of a Google Drive file. # Google Drive file attachment.
+            "thumbnailUrl": "A String", # URL of a thumbnail image of the Drive item. Read-only.
+            "alternateLink": "A String", # URL that can be used to access the Drive item. Read-only.
+            "id": "A String", # Drive API resource ID.
+            "title": "A String", # Title of the Drive item. Read-only.
+          },
+          "youTubeVideo": { # YouTube video item. # Youtube video attachment.
+            "thumbnailUrl": "A String", # URL of a thumbnail image of the YouTube video. Read-only.
+            "alternateLink": "A String", # URL that can be used to view the YouTube video. Read-only.
+            "id": "A String", # YouTube API resource ID.
+            "title": "A String", # Title of the YouTube video. Read-only.
+          },
+          "form": { # Google Forms item. # Google Forms attachment.
+            "thumbnailUrl": "A String", # URL of a thumbnail image of the Form. Read-only.
+            "formUrl": "A String", # URL of the form.
+            "responseUrl": "A String", # URL of the form responses document. Only set if respsonses have been recorded and only when the requesting user is an editor of the form. Read-only.
+            "title": "A String", # Title of the Form. Read-only.
+          },
+        },
+      ],
+    },
+    "id": "A String", # Classroom-assigned Identifier for the student submission. This is unique among submissions for the relevant course work. Read-only.
+  }
+
+ +
+ reclaim(courseId, courseWorkId, id, body, x__xgafv=None) +
Reclaims a student submission on behalf of the student that owns it. Reclaiming a student submission transfers ownership of attached Drive files to the student and update the submission state. Only the student that ownes the requested student submission may call this method, and only for a student submission that has been turned in. This request must be made by the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the corresponding course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or course work, unsubmit the requested student submission, or for access errors. * `FAILED_PRECONDITION` if the student submission has not been turned in. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course, course work, or student submission does not exist.
+
+Args:
+  courseId: string, Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias. (required)
+  courseWorkId: string, Identifier of the course work. (required)
+  id: string, Identifier of the student submission. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Request to reclaim a student submission.
+  }
+
+  x__xgafv: string, V1 error format.
+
+Returns:
+  An object of the form:
+
+    { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.
+  }
+
+ +
+ return_(courseId, courseWorkId, id, body, x__xgafv=None) +
Returns a student submission. Returning a student submission transfers ownership of attached Drive files to the student and may also update the submission state. Unlike the Classroom application, returning a student submission does not set assignedGrade to the draftGrade value. Only a teacher of the course that contains the requested student submission may call this method. This request must be made by the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the corresponding course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or course work, return the requested student submission, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course, course work, or student submission does not exist.
+
+Args:
+  courseId: string, Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias. (required)
+  courseWorkId: string, Identifier of the course work. (required)
+  id: string, Identifier of the student submission. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Request to return a student submission.
+  }
+
+  x__xgafv: string, V1 error format.
+
+Returns:
+  An object of the form:
+
+    { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.
+  }
+
+ +
+ turnIn(courseId, courseWorkId, id, body, x__xgafv=None) +
Turns in a student submission. Turning in a student submission transfers ownership of attached Drive files to the teacher and may also update the submission state. This may only be called by the student that owns the specified student submission. This request must be made by the Developer Console project of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the corresponding course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or course work, turn in the requested student submission, or for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course, course work, or student submission does not exist.
+
+Args:
+  courseId: string, Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias. (required)
+  courseWorkId: string, Identifier of the course work. (required)
+  id: string, Identifier of the student submission. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Request to turn in a student submission.
+  }
+
+  x__xgafv: string, V1 error format.
+
+Returns:
+  An object of the form:
+
+    { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.
+  }
+
+ + \ No newline at end of file diff --git a/docs/dyn/classroom_v1.courses.html b/docs/dyn/classroom_v1.courses.html index 0c0451fe0b3..08c3d1bdded 100644 --- a/docs/dyn/classroom_v1.courses.html +++ b/docs/dyn/classroom_v1.courses.html @@ -79,6 +79,11 @@

Instance Methods

Returns the aliases Resource.

+

+ courseWork() +

+

Returns the courseWork Resource.

+

students()

@@ -120,16 +125,55 @@

Method Details

The object takes the form of: { # A Course in Classroom. - "updateTime": "A String", # Time of the most recent update to this course. Specifying this field in a course update mask will result in an error. Read-only. + "updateTime": "A String", # Time of the most recent update to this course. Specifying this field in a course update mask results in an error. Read-only. "description": "A String", # Optional description. For example, "We'll be learning about the structure of living creatures from a combination of textbooks, guest lectures, and lab work. Expect to be excited!" If set, this field must be a valid UTF-8 string and no longer than 30,000 characters. "alternateLink": "A String", # Absolute link to this course in the Classroom web UI. Read-only. - "enrollmentCode": "A String", # Enrollment code to use when joining this course. Specifying this field in a course update mask will result in an error. Read-only. + "enrollmentCode": "A String", # Enrollment code to use when joining this course. Specifying this field in a course update mask results in an error. Read-only. "section": "A String", # Section of the course. For example, "Period 2". If set, this field must be a valid UTF-8 string and no longer than 2800 characters. - "creationTime": "A String", # Creation time of the course. Specifying this field in a course update mask will result in an error. Read-only. + "teacherFolder": { # Representation of a Google Drive folder. # Information about a Drive Folder that is shared with all teachers of the course. This field will only be set for teachers of the course and domain administrators. Read-only. + "alternateLink": "A String", # URL that can be used to access the Drive folder. Read-only. + "id": "A String", # Drive API resource ID. + "title": "A String", # Title of the Drive folder. Read-only. + }, + "creationTime": "A String", # Creation time of the course. Specifying this field in a course update mask results in an error. Read-only. "name": "A String", # Name of the course. For example, "10th Grade Biology". The name is required. It must be between 1 and 750 characters and a valid UTF-8 string. + "teacherGroupEmail": "A String", # The email address of a Google group containing all teachers of the course. This group does not accept email and can only be used for permissions. Read-only. + "courseMaterialSets": [ # Sets of materials that appear on the "about" page of this course. Read-only. + { # A set of materials that appears on the "About" page of the course. These materials might include a syllabus, schedule, or other background information relating to the course as a whole. + "materials": [ # Materials attached to this set. + { # A material attached to a course as part of a material set. + "link": { # URL item. # Link atatchment. + "url": "A String", # URL to link to. This must be a valid UTF-8 string containing between 1 and 2024 characters. + "thumbnailUrl": "A String", # URL of a thumbnail image of the target URL. Read-only. + "title": "A String", # Title of the target of the URL. Read-only. + }, + "driveFile": { # Representation of a Google Drive file. # Google Drive file attachment. + "thumbnailUrl": "A String", # URL of a thumbnail image of the Drive item. Read-only. + "alternateLink": "A String", # URL that can be used to access the Drive item. Read-only. + "id": "A String", # Drive API resource ID. + "title": "A String", # Title of the Drive item. Read-only. + }, + "youTubeVideo": { # YouTube video item. # Youtube video attachment. + "thumbnailUrl": "A String", # URL of a thumbnail image of the YouTube video. Read-only. + "alternateLink": "A String", # URL that can be used to view the YouTube video. Read-only. + "id": "A String", # YouTube API resource ID. + "title": "A String", # Title of the YouTube video. Read-only. + }, + "form": { # Google Forms item. # Google Forms attachment. + "thumbnailUrl": "A String", # URL of a thumbnail image of the Form. Read-only. + "formUrl": "A String", # URL of the form. + "responseUrl": "A String", # URL of the form responses document. Only set if respsonses have been recorded and only when the requesting user is an editor of the form. Read-only. + "title": "A String", # Title of the Form. Read-only. + }, + }, + ], + "title": "A String", # Title for this set. + }, + ], "courseState": "A String", # State of the course. If unspecified, the default state is `PROVISIONED`. - "ownerId": "A String", # The identifier of the owner of a course. When specified as a parameter of a create course request, this field is required. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `"me"`, indicating the requesting user This must be set in a create request. Specifying this field in a course update mask will result in an `INVALID_ARGUMENT` error. - "id": "A String", # Identifier for this course assigned by Classroom. When creating a course, you may optionally set this identifier to an alias string in the request to create a corresponding alias. The `id` is still assigned by Classroom and cannot be updated after the course is created. Specifying this field in a course update mask will result in an error. + "courseGroupEmail": "A String", # The email address of a Google group containing all members of the course. This group does not accept email and can only be used for permissions. Read-only. + "ownerId": "A String", # The identifier of the owner of a course. When specified as a parameter of a create course request, this field is required. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `"me"`, indicating the requesting user This must be set in a create request. Specifying this field in a course update mask results in an `INVALID_ARGUMENT` error. + "id": "A String", # Identifier for this course assigned by Classroom. When creating a course, you may optionally set this identifier to an alias string in the request to create a corresponding alias. The `id` is still assigned by Classroom and cannot be updated after the course is created. Specifying this field in a course update mask results in an error. "descriptionHeading": "A String", # Optional heading for the description. For example, "Welcome to 10th Grade Biology." If set, this field must be a valid UTF-8 string and no longer than 3600 characters. "room": "A String", # Optional room location. For example, "301". If set, this field must be a valid UTF-8 string and no longer than 650 characters. } @@ -140,16 +184,55 @@

Method Details

An object of the form: { # A Course in Classroom. - "updateTime": "A String", # Time of the most recent update to this course. Specifying this field in a course update mask will result in an error. Read-only. + "updateTime": "A String", # Time of the most recent update to this course. Specifying this field in a course update mask results in an error. Read-only. "description": "A String", # Optional description. For example, "We'll be learning about the structure of living creatures from a combination of textbooks, guest lectures, and lab work. Expect to be excited!" If set, this field must be a valid UTF-8 string and no longer than 30,000 characters. "alternateLink": "A String", # Absolute link to this course in the Classroom web UI. Read-only. - "enrollmentCode": "A String", # Enrollment code to use when joining this course. Specifying this field in a course update mask will result in an error. Read-only. + "enrollmentCode": "A String", # Enrollment code to use when joining this course. Specifying this field in a course update mask results in an error. Read-only. "section": "A String", # Section of the course. For example, "Period 2". If set, this field must be a valid UTF-8 string and no longer than 2800 characters. - "creationTime": "A String", # Creation time of the course. Specifying this field in a course update mask will result in an error. Read-only. + "teacherFolder": { # Representation of a Google Drive folder. # Information about a Drive Folder that is shared with all teachers of the course. This field will only be set for teachers of the course and domain administrators. Read-only. + "alternateLink": "A String", # URL that can be used to access the Drive folder. Read-only. + "id": "A String", # Drive API resource ID. + "title": "A String", # Title of the Drive folder. Read-only. + }, + "creationTime": "A String", # Creation time of the course. Specifying this field in a course update mask results in an error. Read-only. "name": "A String", # Name of the course. For example, "10th Grade Biology". The name is required. It must be between 1 and 750 characters and a valid UTF-8 string. + "teacherGroupEmail": "A String", # The email address of a Google group containing all teachers of the course. This group does not accept email and can only be used for permissions. Read-only. + "courseMaterialSets": [ # Sets of materials that appear on the "about" page of this course. Read-only. + { # A set of materials that appears on the "About" page of the course. These materials might include a syllabus, schedule, or other background information relating to the course as a whole. + "materials": [ # Materials attached to this set. + { # A material attached to a course as part of a material set. + "link": { # URL item. # Link atatchment. + "url": "A String", # URL to link to. This must be a valid UTF-8 string containing between 1 and 2024 characters. + "thumbnailUrl": "A String", # URL of a thumbnail image of the target URL. Read-only. + "title": "A String", # Title of the target of the URL. Read-only. + }, + "driveFile": { # Representation of a Google Drive file. # Google Drive file attachment. + "thumbnailUrl": "A String", # URL of a thumbnail image of the Drive item. Read-only. + "alternateLink": "A String", # URL that can be used to access the Drive item. Read-only. + "id": "A String", # Drive API resource ID. + "title": "A String", # Title of the Drive item. Read-only. + }, + "youTubeVideo": { # YouTube video item. # Youtube video attachment. + "thumbnailUrl": "A String", # URL of a thumbnail image of the YouTube video. Read-only. + "alternateLink": "A String", # URL that can be used to view the YouTube video. Read-only. + "id": "A String", # YouTube API resource ID. + "title": "A String", # Title of the YouTube video. Read-only. + }, + "form": { # Google Forms item. # Google Forms attachment. + "thumbnailUrl": "A String", # URL of a thumbnail image of the Form. Read-only. + "formUrl": "A String", # URL of the form. + "responseUrl": "A String", # URL of the form responses document. Only set if respsonses have been recorded and only when the requesting user is an editor of the form. Read-only. + "title": "A String", # Title of the Form. Read-only. + }, + }, + ], + "title": "A String", # Title for this set. + }, + ], "courseState": "A String", # State of the course. If unspecified, the default state is `PROVISIONED`. - "ownerId": "A String", # The identifier of the owner of a course. When specified as a parameter of a create course request, this field is required. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `"me"`, indicating the requesting user This must be set in a create request. Specifying this field in a course update mask will result in an `INVALID_ARGUMENT` error. - "id": "A String", # Identifier for this course assigned by Classroom. When creating a course, you may optionally set this identifier to an alias string in the request to create a corresponding alias. The `id` is still assigned by Classroom and cannot be updated after the course is created. Specifying this field in a course update mask will result in an error. + "courseGroupEmail": "A String", # The email address of a Google group containing all members of the course. This group does not accept email and can only be used for permissions. Read-only. + "ownerId": "A String", # The identifier of the owner of a course. When specified as a parameter of a create course request, this field is required. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `"me"`, indicating the requesting user This must be set in a create request. Specifying this field in a course update mask results in an `INVALID_ARGUMENT` error. + "id": "A String", # Identifier for this course assigned by Classroom. When creating a course, you may optionally set this identifier to an alias string in the request to create a corresponding alias. The `id` is still assigned by Classroom and cannot be updated after the course is created. Specifying this field in a course update mask results in an error. "descriptionHeading": "A String", # Optional heading for the description. For example, "Welcome to 10th Grade Biology." If set, this field must be a valid UTF-8 string and no longer than 3600 characters. "room": "A String", # Optional room location. For example, "301". If set, this field must be a valid UTF-8 string and no longer than 650 characters. }
@@ -182,16 +265,55 @@

Method Details

An object of the form: { # A Course in Classroom. - "updateTime": "A String", # Time of the most recent update to this course. Specifying this field in a course update mask will result in an error. Read-only. + "updateTime": "A String", # Time of the most recent update to this course. Specifying this field in a course update mask results in an error. Read-only. "description": "A String", # Optional description. For example, "We'll be learning about the structure of living creatures from a combination of textbooks, guest lectures, and lab work. Expect to be excited!" If set, this field must be a valid UTF-8 string and no longer than 30,000 characters. "alternateLink": "A String", # Absolute link to this course in the Classroom web UI. Read-only. - "enrollmentCode": "A String", # Enrollment code to use when joining this course. Specifying this field in a course update mask will result in an error. Read-only. + "enrollmentCode": "A String", # Enrollment code to use when joining this course. Specifying this field in a course update mask results in an error. Read-only. "section": "A String", # Section of the course. For example, "Period 2". If set, this field must be a valid UTF-8 string and no longer than 2800 characters. - "creationTime": "A String", # Creation time of the course. Specifying this field in a course update mask will result in an error. Read-only. + "teacherFolder": { # Representation of a Google Drive folder. # Information about a Drive Folder that is shared with all teachers of the course. This field will only be set for teachers of the course and domain administrators. Read-only. + "alternateLink": "A String", # URL that can be used to access the Drive folder. Read-only. + "id": "A String", # Drive API resource ID. + "title": "A String", # Title of the Drive folder. Read-only. + }, + "creationTime": "A String", # Creation time of the course. Specifying this field in a course update mask results in an error. Read-only. "name": "A String", # Name of the course. For example, "10th Grade Biology". The name is required. It must be between 1 and 750 characters and a valid UTF-8 string. + "teacherGroupEmail": "A String", # The email address of a Google group containing all teachers of the course. This group does not accept email and can only be used for permissions. Read-only. + "courseMaterialSets": [ # Sets of materials that appear on the "about" page of this course. Read-only. + { # A set of materials that appears on the "About" page of the course. These materials might include a syllabus, schedule, or other background information relating to the course as a whole. + "materials": [ # Materials attached to this set. + { # A material attached to a course as part of a material set. + "link": { # URL item. # Link atatchment. + "url": "A String", # URL to link to. This must be a valid UTF-8 string containing between 1 and 2024 characters. + "thumbnailUrl": "A String", # URL of a thumbnail image of the target URL. Read-only. + "title": "A String", # Title of the target of the URL. Read-only. + }, + "driveFile": { # Representation of a Google Drive file. # Google Drive file attachment. + "thumbnailUrl": "A String", # URL of a thumbnail image of the Drive item. Read-only. + "alternateLink": "A String", # URL that can be used to access the Drive item. Read-only. + "id": "A String", # Drive API resource ID. + "title": "A String", # Title of the Drive item. Read-only. + }, + "youTubeVideo": { # YouTube video item. # Youtube video attachment. + "thumbnailUrl": "A String", # URL of a thumbnail image of the YouTube video. Read-only. + "alternateLink": "A String", # URL that can be used to view the YouTube video. Read-only. + "id": "A String", # YouTube API resource ID. + "title": "A String", # Title of the YouTube video. Read-only. + }, + "form": { # Google Forms item. # Google Forms attachment. + "thumbnailUrl": "A String", # URL of a thumbnail image of the Form. Read-only. + "formUrl": "A String", # URL of the form. + "responseUrl": "A String", # URL of the form responses document. Only set if respsonses have been recorded and only when the requesting user is an editor of the form. Read-only. + "title": "A String", # Title of the Form. Read-only. + }, + }, + ], + "title": "A String", # Title for this set. + }, + ], "courseState": "A String", # State of the course. If unspecified, the default state is `PROVISIONED`. - "ownerId": "A String", # The identifier of the owner of a course. When specified as a parameter of a create course request, this field is required. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `"me"`, indicating the requesting user This must be set in a create request. Specifying this field in a course update mask will result in an `INVALID_ARGUMENT` error. - "id": "A String", # Identifier for this course assigned by Classroom. When creating a course, you may optionally set this identifier to an alias string in the request to create a corresponding alias. The `id` is still assigned by Classroom and cannot be updated after the course is created. Specifying this field in a course update mask will result in an error. + "courseGroupEmail": "A String", # The email address of a Google group containing all members of the course. This group does not accept email and can only be used for permissions. Read-only. + "ownerId": "A String", # The identifier of the owner of a course. When specified as a parameter of a create course request, this field is required. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `"me"`, indicating the requesting user This must be set in a create request. Specifying this field in a course update mask results in an `INVALID_ARGUMENT` error. + "id": "A String", # Identifier for this course assigned by Classroom. When creating a course, you may optionally set this identifier to an alias string in the request to create a corresponding alias. The `id` is still assigned by Classroom and cannot be updated after the course is created. Specifying this field in a course update mask results in an error. "descriptionHeading": "A String", # Optional heading for the description. For example, "Welcome to 10th Grade Biology." If set, this field must be a valid UTF-8 string and no longer than 3600 characters. "room": "A String", # Optional room location. For example, "301". If set, this field must be a valid UTF-8 string and no longer than 650 characters. } @@ -215,16 +337,55 @@

Method Details

"nextPageToken": "A String", # Token identifying the next page of results to return. If empty, no further results are available. "courses": [ # Courses that match the list request. { # A Course in Classroom. - "updateTime": "A String", # Time of the most recent update to this course. Specifying this field in a course update mask will result in an error. Read-only. + "updateTime": "A String", # Time of the most recent update to this course. Specifying this field in a course update mask results in an error. Read-only. "description": "A String", # Optional description. For example, "We'll be learning about the structure of living creatures from a combination of textbooks, guest lectures, and lab work. Expect to be excited!" If set, this field must be a valid UTF-8 string and no longer than 30,000 characters. "alternateLink": "A String", # Absolute link to this course in the Classroom web UI. Read-only. - "enrollmentCode": "A String", # Enrollment code to use when joining this course. Specifying this field in a course update mask will result in an error. Read-only. + "enrollmentCode": "A String", # Enrollment code to use when joining this course. Specifying this field in a course update mask results in an error. Read-only. "section": "A String", # Section of the course. For example, "Period 2". If set, this field must be a valid UTF-8 string and no longer than 2800 characters. - "creationTime": "A String", # Creation time of the course. Specifying this field in a course update mask will result in an error. Read-only. + "teacherFolder": { # Representation of a Google Drive folder. # Information about a Drive Folder that is shared with all teachers of the course. This field will only be set for teachers of the course and domain administrators. Read-only. + "alternateLink": "A String", # URL that can be used to access the Drive folder. Read-only. + "id": "A String", # Drive API resource ID. + "title": "A String", # Title of the Drive folder. Read-only. + }, + "creationTime": "A String", # Creation time of the course. Specifying this field in a course update mask results in an error. Read-only. "name": "A String", # Name of the course. For example, "10th Grade Biology". The name is required. It must be between 1 and 750 characters and a valid UTF-8 string. + "teacherGroupEmail": "A String", # The email address of a Google group containing all teachers of the course. This group does not accept email and can only be used for permissions. Read-only. + "courseMaterialSets": [ # Sets of materials that appear on the "about" page of this course. Read-only. + { # A set of materials that appears on the "About" page of the course. These materials might include a syllabus, schedule, or other background information relating to the course as a whole. + "materials": [ # Materials attached to this set. + { # A material attached to a course as part of a material set. + "link": { # URL item. # Link atatchment. + "url": "A String", # URL to link to. This must be a valid UTF-8 string containing between 1 and 2024 characters. + "thumbnailUrl": "A String", # URL of a thumbnail image of the target URL. Read-only. + "title": "A String", # Title of the target of the URL. Read-only. + }, + "driveFile": { # Representation of a Google Drive file. # Google Drive file attachment. + "thumbnailUrl": "A String", # URL of a thumbnail image of the Drive item. Read-only. + "alternateLink": "A String", # URL that can be used to access the Drive item. Read-only. + "id": "A String", # Drive API resource ID. + "title": "A String", # Title of the Drive item. Read-only. + }, + "youTubeVideo": { # YouTube video item. # Youtube video attachment. + "thumbnailUrl": "A String", # URL of a thumbnail image of the YouTube video. Read-only. + "alternateLink": "A String", # URL that can be used to view the YouTube video. Read-only. + "id": "A String", # YouTube API resource ID. + "title": "A String", # Title of the YouTube video. Read-only. + }, + "form": { # Google Forms item. # Google Forms attachment. + "thumbnailUrl": "A String", # URL of a thumbnail image of the Form. Read-only. + "formUrl": "A String", # URL of the form. + "responseUrl": "A String", # URL of the form responses document. Only set if respsonses have been recorded and only when the requesting user is an editor of the form. Read-only. + "title": "A String", # Title of the Form. Read-only. + }, + }, + ], + "title": "A String", # Title for this set. + }, + ], "courseState": "A String", # State of the course. If unspecified, the default state is `PROVISIONED`. - "ownerId": "A String", # The identifier of the owner of a course. When specified as a parameter of a create course request, this field is required. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `"me"`, indicating the requesting user This must be set in a create request. Specifying this field in a course update mask will result in an `INVALID_ARGUMENT` error. - "id": "A String", # Identifier for this course assigned by Classroom. When creating a course, you may optionally set this identifier to an alias string in the request to create a corresponding alias. The `id` is still assigned by Classroom and cannot be updated after the course is created. Specifying this field in a course update mask will result in an error. + "courseGroupEmail": "A String", # The email address of a Google group containing all members of the course. This group does not accept email and can only be used for permissions. Read-only. + "ownerId": "A String", # The identifier of the owner of a course. When specified as a parameter of a create course request, this field is required. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `"me"`, indicating the requesting user This must be set in a create request. Specifying this field in a course update mask results in an `INVALID_ARGUMENT` error. + "id": "A String", # Identifier for this course assigned by Classroom. When creating a course, you may optionally set this identifier to an alias string in the request to create a corresponding alias. The `id` is still assigned by Classroom and cannot be updated after the course is created. Specifying this field in a course update mask results in an error. "descriptionHeading": "A String", # Optional heading for the description. For example, "Welcome to 10th Grade Biology." If set, this field must be a valid UTF-8 string and no longer than 3600 characters. "room": "A String", # Optional room location. For example, "301". If set, this field must be a valid UTF-8 string and no longer than 650 characters. }, @@ -256,16 +417,55 @@

Method Details

The object takes the form of: { # A Course in Classroom. - "updateTime": "A String", # Time of the most recent update to this course. Specifying this field in a course update mask will result in an error. Read-only. + "updateTime": "A String", # Time of the most recent update to this course. Specifying this field in a course update mask results in an error. Read-only. "description": "A String", # Optional description. For example, "We'll be learning about the structure of living creatures from a combination of textbooks, guest lectures, and lab work. Expect to be excited!" If set, this field must be a valid UTF-8 string and no longer than 30,000 characters. "alternateLink": "A String", # Absolute link to this course in the Classroom web UI. Read-only. - "enrollmentCode": "A String", # Enrollment code to use when joining this course. Specifying this field in a course update mask will result in an error. Read-only. + "enrollmentCode": "A String", # Enrollment code to use when joining this course. Specifying this field in a course update mask results in an error. Read-only. "section": "A String", # Section of the course. For example, "Period 2". If set, this field must be a valid UTF-8 string and no longer than 2800 characters. - "creationTime": "A String", # Creation time of the course. Specifying this field in a course update mask will result in an error. Read-only. + "teacherFolder": { # Representation of a Google Drive folder. # Information about a Drive Folder that is shared with all teachers of the course. This field will only be set for teachers of the course and domain administrators. Read-only. + "alternateLink": "A String", # URL that can be used to access the Drive folder. Read-only. + "id": "A String", # Drive API resource ID. + "title": "A String", # Title of the Drive folder. Read-only. + }, + "creationTime": "A String", # Creation time of the course. Specifying this field in a course update mask results in an error. Read-only. "name": "A String", # Name of the course. For example, "10th Grade Biology". The name is required. It must be between 1 and 750 characters and a valid UTF-8 string. + "teacherGroupEmail": "A String", # The email address of a Google group containing all teachers of the course. This group does not accept email and can only be used for permissions. Read-only. + "courseMaterialSets": [ # Sets of materials that appear on the "about" page of this course. Read-only. + { # A set of materials that appears on the "About" page of the course. These materials might include a syllabus, schedule, or other background information relating to the course as a whole. + "materials": [ # Materials attached to this set. + { # A material attached to a course as part of a material set. + "link": { # URL item. # Link atatchment. + "url": "A String", # URL to link to. This must be a valid UTF-8 string containing between 1 and 2024 characters. + "thumbnailUrl": "A String", # URL of a thumbnail image of the target URL. Read-only. + "title": "A String", # Title of the target of the URL. Read-only. + }, + "driveFile": { # Representation of a Google Drive file. # Google Drive file attachment. + "thumbnailUrl": "A String", # URL of a thumbnail image of the Drive item. Read-only. + "alternateLink": "A String", # URL that can be used to access the Drive item. Read-only. + "id": "A String", # Drive API resource ID. + "title": "A String", # Title of the Drive item. Read-only. + }, + "youTubeVideo": { # YouTube video item. # Youtube video attachment. + "thumbnailUrl": "A String", # URL of a thumbnail image of the YouTube video. Read-only. + "alternateLink": "A String", # URL that can be used to view the YouTube video. Read-only. + "id": "A String", # YouTube API resource ID. + "title": "A String", # Title of the YouTube video. Read-only. + }, + "form": { # Google Forms item. # Google Forms attachment. + "thumbnailUrl": "A String", # URL of a thumbnail image of the Form. Read-only. + "formUrl": "A String", # URL of the form. + "responseUrl": "A String", # URL of the form responses document. Only set if respsonses have been recorded and only when the requesting user is an editor of the form. Read-only. + "title": "A String", # Title of the Form. Read-only. + }, + }, + ], + "title": "A String", # Title for this set. + }, + ], "courseState": "A String", # State of the course. If unspecified, the default state is `PROVISIONED`. - "ownerId": "A String", # The identifier of the owner of a course. When specified as a parameter of a create course request, this field is required. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `"me"`, indicating the requesting user This must be set in a create request. Specifying this field in a course update mask will result in an `INVALID_ARGUMENT` error. - "id": "A String", # Identifier for this course assigned by Classroom. When creating a course, you may optionally set this identifier to an alias string in the request to create a corresponding alias. The `id` is still assigned by Classroom and cannot be updated after the course is created. Specifying this field in a course update mask will result in an error. + "courseGroupEmail": "A String", # The email address of a Google group containing all members of the course. This group does not accept email and can only be used for permissions. Read-only. + "ownerId": "A String", # The identifier of the owner of a course. When specified as a parameter of a create course request, this field is required. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `"me"`, indicating the requesting user This must be set in a create request. Specifying this field in a course update mask results in an `INVALID_ARGUMENT` error. + "id": "A String", # Identifier for this course assigned by Classroom. When creating a course, you may optionally set this identifier to an alias string in the request to create a corresponding alias. The `id` is still assigned by Classroom and cannot be updated after the course is created. Specifying this field in a course update mask results in an error. "descriptionHeading": "A String", # Optional heading for the description. For example, "Welcome to 10th Grade Biology." If set, this field must be a valid UTF-8 string and no longer than 3600 characters. "room": "A String", # Optional room location. For example, "301". If set, this field must be a valid UTF-8 string and no longer than 650 characters. } @@ -277,16 +477,55 @@

Method Details

An object of the form: { # A Course in Classroom. - "updateTime": "A String", # Time of the most recent update to this course. Specifying this field in a course update mask will result in an error. Read-only. + "updateTime": "A String", # Time of the most recent update to this course. Specifying this field in a course update mask results in an error. Read-only. "description": "A String", # Optional description. For example, "We'll be learning about the structure of living creatures from a combination of textbooks, guest lectures, and lab work. Expect to be excited!" If set, this field must be a valid UTF-8 string and no longer than 30,000 characters. "alternateLink": "A String", # Absolute link to this course in the Classroom web UI. Read-only. - "enrollmentCode": "A String", # Enrollment code to use when joining this course. Specifying this field in a course update mask will result in an error. Read-only. + "enrollmentCode": "A String", # Enrollment code to use when joining this course. Specifying this field in a course update mask results in an error. Read-only. "section": "A String", # Section of the course. For example, "Period 2". If set, this field must be a valid UTF-8 string and no longer than 2800 characters. - "creationTime": "A String", # Creation time of the course. Specifying this field in a course update mask will result in an error. Read-only. + "teacherFolder": { # Representation of a Google Drive folder. # Information about a Drive Folder that is shared with all teachers of the course. This field will only be set for teachers of the course and domain administrators. Read-only. + "alternateLink": "A String", # URL that can be used to access the Drive folder. Read-only. + "id": "A String", # Drive API resource ID. + "title": "A String", # Title of the Drive folder. Read-only. + }, + "creationTime": "A String", # Creation time of the course. Specifying this field in a course update mask results in an error. Read-only. "name": "A String", # Name of the course. For example, "10th Grade Biology". The name is required. It must be between 1 and 750 characters and a valid UTF-8 string. + "teacherGroupEmail": "A String", # The email address of a Google group containing all teachers of the course. This group does not accept email and can only be used for permissions. Read-only. + "courseMaterialSets": [ # Sets of materials that appear on the "about" page of this course. Read-only. + { # A set of materials that appears on the "About" page of the course. These materials might include a syllabus, schedule, or other background information relating to the course as a whole. + "materials": [ # Materials attached to this set. + { # A material attached to a course as part of a material set. + "link": { # URL item. # Link atatchment. + "url": "A String", # URL to link to. This must be a valid UTF-8 string containing between 1 and 2024 characters. + "thumbnailUrl": "A String", # URL of a thumbnail image of the target URL. Read-only. + "title": "A String", # Title of the target of the URL. Read-only. + }, + "driveFile": { # Representation of a Google Drive file. # Google Drive file attachment. + "thumbnailUrl": "A String", # URL of a thumbnail image of the Drive item. Read-only. + "alternateLink": "A String", # URL that can be used to access the Drive item. Read-only. + "id": "A String", # Drive API resource ID. + "title": "A String", # Title of the Drive item. Read-only. + }, + "youTubeVideo": { # YouTube video item. # Youtube video attachment. + "thumbnailUrl": "A String", # URL of a thumbnail image of the YouTube video. Read-only. + "alternateLink": "A String", # URL that can be used to view the YouTube video. Read-only. + "id": "A String", # YouTube API resource ID. + "title": "A String", # Title of the YouTube video. Read-only. + }, + "form": { # Google Forms item. # Google Forms attachment. + "thumbnailUrl": "A String", # URL of a thumbnail image of the Form. Read-only. + "formUrl": "A String", # URL of the form. + "responseUrl": "A String", # URL of the form responses document. Only set if respsonses have been recorded and only when the requesting user is an editor of the form. Read-only. + "title": "A String", # Title of the Form. Read-only. + }, + }, + ], + "title": "A String", # Title for this set. + }, + ], "courseState": "A String", # State of the course. If unspecified, the default state is `PROVISIONED`. - "ownerId": "A String", # The identifier of the owner of a course. When specified as a parameter of a create course request, this field is required. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `"me"`, indicating the requesting user This must be set in a create request. Specifying this field in a course update mask will result in an `INVALID_ARGUMENT` error. - "id": "A String", # Identifier for this course assigned by Classroom. When creating a course, you may optionally set this identifier to an alias string in the request to create a corresponding alias. The `id` is still assigned by Classroom and cannot be updated after the course is created. Specifying this field in a course update mask will result in an error. + "courseGroupEmail": "A String", # The email address of a Google group containing all members of the course. This group does not accept email and can only be used for permissions. Read-only. + "ownerId": "A String", # The identifier of the owner of a course. When specified as a parameter of a create course request, this field is required. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `"me"`, indicating the requesting user This must be set in a create request. Specifying this field in a course update mask results in an `INVALID_ARGUMENT` error. + "id": "A String", # Identifier for this course assigned by Classroom. When creating a course, you may optionally set this identifier to an alias string in the request to create a corresponding alias. The `id` is still assigned by Classroom and cannot be updated after the course is created. Specifying this field in a course update mask results in an error. "descriptionHeading": "A String", # Optional heading for the description. For example, "Welcome to 10th Grade Biology." If set, this field must be a valid UTF-8 string and no longer than 3600 characters. "room": "A String", # Optional room location. For example, "301". If set, this field must be a valid UTF-8 string and no longer than 650 characters. } @@ -302,16 +541,55 @@

Method Details

The object takes the form of: { # A Course in Classroom. - "updateTime": "A String", # Time of the most recent update to this course. Specifying this field in a course update mask will result in an error. Read-only. + "updateTime": "A String", # Time of the most recent update to this course. Specifying this field in a course update mask results in an error. Read-only. "description": "A String", # Optional description. For example, "We'll be learning about the structure of living creatures from a combination of textbooks, guest lectures, and lab work. Expect to be excited!" If set, this field must be a valid UTF-8 string and no longer than 30,000 characters. "alternateLink": "A String", # Absolute link to this course in the Classroom web UI. Read-only. - "enrollmentCode": "A String", # Enrollment code to use when joining this course. Specifying this field in a course update mask will result in an error. Read-only. + "enrollmentCode": "A String", # Enrollment code to use when joining this course. Specifying this field in a course update mask results in an error. Read-only. "section": "A String", # Section of the course. For example, "Period 2". If set, this field must be a valid UTF-8 string and no longer than 2800 characters. - "creationTime": "A String", # Creation time of the course. Specifying this field in a course update mask will result in an error. Read-only. + "teacherFolder": { # Representation of a Google Drive folder. # Information about a Drive Folder that is shared with all teachers of the course. This field will only be set for teachers of the course and domain administrators. Read-only. + "alternateLink": "A String", # URL that can be used to access the Drive folder. Read-only. + "id": "A String", # Drive API resource ID. + "title": "A String", # Title of the Drive folder. Read-only. + }, + "creationTime": "A String", # Creation time of the course. Specifying this field in a course update mask results in an error. Read-only. "name": "A String", # Name of the course. For example, "10th Grade Biology". The name is required. It must be between 1 and 750 characters and a valid UTF-8 string. + "teacherGroupEmail": "A String", # The email address of a Google group containing all teachers of the course. This group does not accept email and can only be used for permissions. Read-only. + "courseMaterialSets": [ # Sets of materials that appear on the "about" page of this course. Read-only. + { # A set of materials that appears on the "About" page of the course. These materials might include a syllabus, schedule, or other background information relating to the course as a whole. + "materials": [ # Materials attached to this set. + { # A material attached to a course as part of a material set. + "link": { # URL item. # Link atatchment. + "url": "A String", # URL to link to. This must be a valid UTF-8 string containing between 1 and 2024 characters. + "thumbnailUrl": "A String", # URL of a thumbnail image of the target URL. Read-only. + "title": "A String", # Title of the target of the URL. Read-only. + }, + "driveFile": { # Representation of a Google Drive file. # Google Drive file attachment. + "thumbnailUrl": "A String", # URL of a thumbnail image of the Drive item. Read-only. + "alternateLink": "A String", # URL that can be used to access the Drive item. Read-only. + "id": "A String", # Drive API resource ID. + "title": "A String", # Title of the Drive item. Read-only. + }, + "youTubeVideo": { # YouTube video item. # Youtube video attachment. + "thumbnailUrl": "A String", # URL of a thumbnail image of the YouTube video. Read-only. + "alternateLink": "A String", # URL that can be used to view the YouTube video. Read-only. + "id": "A String", # YouTube API resource ID. + "title": "A String", # Title of the YouTube video. Read-only. + }, + "form": { # Google Forms item. # Google Forms attachment. + "thumbnailUrl": "A String", # URL of a thumbnail image of the Form. Read-only. + "formUrl": "A String", # URL of the form. + "responseUrl": "A String", # URL of the form responses document. Only set if respsonses have been recorded and only when the requesting user is an editor of the form. Read-only. + "title": "A String", # Title of the Form. Read-only. + }, + }, + ], + "title": "A String", # Title for this set. + }, + ], "courseState": "A String", # State of the course. If unspecified, the default state is `PROVISIONED`. - "ownerId": "A String", # The identifier of the owner of a course. When specified as a parameter of a create course request, this field is required. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `"me"`, indicating the requesting user This must be set in a create request. Specifying this field in a course update mask will result in an `INVALID_ARGUMENT` error. - "id": "A String", # Identifier for this course assigned by Classroom. When creating a course, you may optionally set this identifier to an alias string in the request to create a corresponding alias. The `id` is still assigned by Classroom and cannot be updated after the course is created. Specifying this field in a course update mask will result in an error. + "courseGroupEmail": "A String", # The email address of a Google group containing all members of the course. This group does not accept email and can only be used for permissions. Read-only. + "ownerId": "A String", # The identifier of the owner of a course. When specified as a parameter of a create course request, this field is required. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `"me"`, indicating the requesting user This must be set in a create request. Specifying this field in a course update mask results in an `INVALID_ARGUMENT` error. + "id": "A String", # Identifier for this course assigned by Classroom. When creating a course, you may optionally set this identifier to an alias string in the request to create a corresponding alias. The `id` is still assigned by Classroom and cannot be updated after the course is created. Specifying this field in a course update mask results in an error. "descriptionHeading": "A String", # Optional heading for the description. For example, "Welcome to 10th Grade Biology." If set, this field must be a valid UTF-8 string and no longer than 3600 characters. "room": "A String", # Optional room location. For example, "301". If set, this field must be a valid UTF-8 string and no longer than 650 characters. } @@ -322,16 +600,55 @@

Method Details

An object of the form: { # A Course in Classroom. - "updateTime": "A String", # Time of the most recent update to this course. Specifying this field in a course update mask will result in an error. Read-only. + "updateTime": "A String", # Time of the most recent update to this course. Specifying this field in a course update mask results in an error. Read-only. "description": "A String", # Optional description. For example, "We'll be learning about the structure of living creatures from a combination of textbooks, guest lectures, and lab work. Expect to be excited!" If set, this field must be a valid UTF-8 string and no longer than 30,000 characters. "alternateLink": "A String", # Absolute link to this course in the Classroom web UI. Read-only. - "enrollmentCode": "A String", # Enrollment code to use when joining this course. Specifying this field in a course update mask will result in an error. Read-only. + "enrollmentCode": "A String", # Enrollment code to use when joining this course. Specifying this field in a course update mask results in an error. Read-only. "section": "A String", # Section of the course. For example, "Period 2". If set, this field must be a valid UTF-8 string and no longer than 2800 characters. - "creationTime": "A String", # Creation time of the course. Specifying this field in a course update mask will result in an error. Read-only. + "teacherFolder": { # Representation of a Google Drive folder. # Information about a Drive Folder that is shared with all teachers of the course. This field will only be set for teachers of the course and domain administrators. Read-only. + "alternateLink": "A String", # URL that can be used to access the Drive folder. Read-only. + "id": "A String", # Drive API resource ID. + "title": "A String", # Title of the Drive folder. Read-only. + }, + "creationTime": "A String", # Creation time of the course. Specifying this field in a course update mask results in an error. Read-only. "name": "A String", # Name of the course. For example, "10th Grade Biology". The name is required. It must be between 1 and 750 characters and a valid UTF-8 string. + "teacherGroupEmail": "A String", # The email address of a Google group containing all teachers of the course. This group does not accept email and can only be used for permissions. Read-only. + "courseMaterialSets": [ # Sets of materials that appear on the "about" page of this course. Read-only. + { # A set of materials that appears on the "About" page of the course. These materials might include a syllabus, schedule, or other background information relating to the course as a whole. + "materials": [ # Materials attached to this set. + { # A material attached to a course as part of a material set. + "link": { # URL item. # Link atatchment. + "url": "A String", # URL to link to. This must be a valid UTF-8 string containing between 1 and 2024 characters. + "thumbnailUrl": "A String", # URL of a thumbnail image of the target URL. Read-only. + "title": "A String", # Title of the target of the URL. Read-only. + }, + "driveFile": { # Representation of a Google Drive file. # Google Drive file attachment. + "thumbnailUrl": "A String", # URL of a thumbnail image of the Drive item. Read-only. + "alternateLink": "A String", # URL that can be used to access the Drive item. Read-only. + "id": "A String", # Drive API resource ID. + "title": "A String", # Title of the Drive item. Read-only. + }, + "youTubeVideo": { # YouTube video item. # Youtube video attachment. + "thumbnailUrl": "A String", # URL of a thumbnail image of the YouTube video. Read-only. + "alternateLink": "A String", # URL that can be used to view the YouTube video. Read-only. + "id": "A String", # YouTube API resource ID. + "title": "A String", # Title of the YouTube video. Read-only. + }, + "form": { # Google Forms item. # Google Forms attachment. + "thumbnailUrl": "A String", # URL of a thumbnail image of the Form. Read-only. + "formUrl": "A String", # URL of the form. + "responseUrl": "A String", # URL of the form responses document. Only set if respsonses have been recorded and only when the requesting user is an editor of the form. Read-only. + "title": "A String", # Title of the Form. Read-only. + }, + }, + ], + "title": "A String", # Title for this set. + }, + ], "courseState": "A String", # State of the course. If unspecified, the default state is `PROVISIONED`. - "ownerId": "A String", # The identifier of the owner of a course. When specified as a parameter of a create course request, this field is required. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `"me"`, indicating the requesting user This must be set in a create request. Specifying this field in a course update mask will result in an `INVALID_ARGUMENT` error. - "id": "A String", # Identifier for this course assigned by Classroom. When creating a course, you may optionally set this identifier to an alias string in the request to create a corresponding alias. The `id` is still assigned by Classroom and cannot be updated after the course is created. Specifying this field in a course update mask will result in an error. + "courseGroupEmail": "A String", # The email address of a Google group containing all members of the course. This group does not accept email and can only be used for permissions. Read-only. + "ownerId": "A String", # The identifier of the owner of a course. When specified as a parameter of a create course request, this field is required. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `"me"`, indicating the requesting user This must be set in a create request. Specifying this field in a course update mask results in an `INVALID_ARGUMENT` error. + "id": "A String", # Identifier for this course assigned by Classroom. When creating a course, you may optionally set this identifier to an alias string in the request to create a corresponding alias. The `id` is still assigned by Classroom and cannot be updated after the course is created. Specifying this field in a course update mask results in an error. "descriptionHeading": "A String", # Optional heading for the description. For example, "Welcome to 10th Grade Biology." If set, this field must be a valid UTF-8 string and no longer than 3600 characters. "room": "A String", # Optional room location. For example, "301". If set, this field must be a valid UTF-8 string and no longer than 650 characters. } diff --git a/docs/dyn/classroom_v1.courses.students.html b/docs/dyn/classroom_v1.courses.students.html index 4c346d04c2b..21978e377bc 100644 --- a/docs/dyn/classroom_v1.courses.students.html +++ b/docs/dyn/classroom_v1.courses.students.html @@ -116,6 +116,11 @@

Method Details

"familyName": "A String", # The user's last name. Read-only. }, }, + "studentWorkFolder": { # Representation of a Google Drive folder. # Information about a Drive Folder for this student's work in this course. Only visible to the student and domain administrators. Read-only. + "alternateLink": "A String", # URL that can be used to access the Drive folder. Read-only. + "id": "A String", # Drive API resource ID. + "title": "A String", # Title of the Drive folder. Read-only. + }, "userId": "A String", # Identifier of the user. When specified as a parameter of a request, this identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `"me"`, indicating the requesting user } @@ -142,6 +147,11 @@

Method Details

"familyName": "A String", # The user's last name. Read-only. }, }, + "studentWorkFolder": { # Representation of a Google Drive folder. # Information about a Drive Folder for this student's work in this course. Only visible to the student and domain administrators. Read-only. + "alternateLink": "A String", # URL that can be used to access the Drive folder. Read-only. + "id": "A String", # Drive API resource ID. + "title": "A String", # Title of the Drive folder. Read-only. + }, "userId": "A String", # Identifier of the user. When specified as a parameter of a request, this identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `"me"`, indicating the requesting user }
@@ -191,6 +201,11 @@

Method Details

"familyName": "A String", # The user's last name. Read-only. }, }, + "studentWorkFolder": { # Representation of a Google Drive folder. # Information about a Drive Folder for this student's work in this course. Only visible to the student and domain administrators. Read-only. + "alternateLink": "A String", # URL that can be used to access the Drive folder. Read-only. + "id": "A String", # Drive API resource ID. + "title": "A String", # Title of the Drive folder. Read-only. + }, "userId": "A String", # Identifier of the user. When specified as a parameter of a request, this identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `"me"`, indicating the requesting user } @@ -227,6 +242,11 @@

Method Details

"familyName": "A String", # The user's last name. Read-only. }, }, + "studentWorkFolder": { # Representation of a Google Drive folder. # Information about a Drive Folder for this student's work in this course. Only visible to the student and domain administrators. Read-only. + "alternateLink": "A String", # URL that can be used to access the Drive folder. Read-only. + "id": "A String", # Drive API resource ID. + "title": "A String", # Title of the Drive folder. Read-only. + }, "userId": "A String", # Identifier of the user. When specified as a parameter of a request, this identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `"me"`, indicating the requesting user }, ], diff --git a/docs/dyn/cloudbuild_v1.html b/docs/dyn/cloudbuild_v1.html new file mode 100644 index 00000000000..f71c4d6a187 --- /dev/null +++ b/docs/dyn/cloudbuild_v1.html @@ -0,0 +1,108 @@ + + + +

Google Cloud Container Builder API

+

Instance Methods

+

+ operations() +

+

Returns the operations Resource.

+ +

+ projects() +

+

Returns the projects Resource.

+ +

+ new_batch_http_request()

+

Create a BatchHttpRequest object based on the discovery document.

+

Method Details

+
+ new_batch_http_request() +
Create a BatchHttpRequest object based on the discovery document.
+
+        Args:
+          callback: callable, A callback to be called for each response, of the
+            form callback(id, response, exception). The first parameter is the
+            request id, and the second is the deserialized response object. The
+            third is an apiclient.errors.HttpError exception object if an HTTP
+            error occurred while processing the request, or None if no error
+            occurred.
+
+        Returns:
+          A BatchHttpRequest object based on the discovery document.
+        
+
+ + \ No newline at end of file diff --git a/docs/dyn/cloudbuild_v1.operations.html b/docs/dyn/cloudbuild_v1.operations.html new file mode 100644 index 00000000000..03d086a168c --- /dev/null +++ b/docs/dyn/cloudbuild_v1.operations.html @@ -0,0 +1,323 @@ + + + +

Google Cloud Container Builder API . operations

+

Instance Methods

+

+ get(name, x__xgafv=None)

+

Gets the latest state of a long-running operation. Clients can use this

+

+ list(name, pageSize=None, filter=None, pageToken=None, x__xgafv=None)

+

Lists operations that match the specified filter in the request. If the

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

Method Details

+
+ get(name, x__xgafv=None) +
Gets the latest state of a long-running operation.  Clients can use this
+method to poll the operation result at intervals as recommended by the API
+service.
+
+Args:
+  name: string, The name of the operation resource. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a
+      # network API call.
+    "metadata": { # Service-specific metadata associated with the operation.  It typically
+        # contains progress information and common metadata such as create time.
+        # Some services might not provide such metadata.  Any method that returns a
+        # long-running operation should document the metadata type, if any.
+      "a_key": "", # Properties of the object. Contains field @ype with type URL.
+    },
+    "done": True or False, # If the value is `false`, it means the operation is still in progress.
+        # If true, the operation is completed, and either `error` or `response` is
+        # available.
+    "response": { # The normal response of the operation in case of success.  If the original
+        # method returns no data on success, such as `Delete`, the response is
+        # `google.protobuf.Empty`.  If the original method is standard
+        # `Get`/`Create`/`Update`, the response should be the resource.  For other
+        # methods, the response should have the type `XxxResponse`, where `Xxx`
+        # is the original method name.  For example, if the original method name
+        # is `TakeSnapshot()`, the inferred response type is
+        # `TakeSnapshotResponse`.
+      "a_key": "", # Properties of the object. Contains field @ype with type URL.
+    },
+    "name": "A String", # The server-assigned name, which is only unique within the same service that
+        # originally returns it. If you use the default HTTP mapping, the
+        # `name` should have the format of `operations/some/unique/name`.
+    "error": { # The `Status` type defines a logical error model that is suitable for different # The error result of the operation in case of failure.
+        # programming environments, including REST APIs and RPC APIs. It is used by
+        # [gRPC](https://github.com/grpc). The error model is designed to be:
+        #
+        # - Simple to use and understand for most users
+        # - Flexible enough to meet unexpected needs
+        #
+        # # Overview
+        #
+        # The `Status` message contains three pieces of data: error code, error message,
+        # and error details. The error code should be an enum value of
+        # google.rpc.Code, but it may accept additional error codes if needed.  The
+        # error message should be a developer-facing English message that helps
+        # developers *understand* and *resolve* the error. If a localized user-facing
+        # error message is needed, put the localized message in the error details or
+        # localize it in the client. The optional error details may contain arbitrary
+        # information about the error. There is a predefined set of error detail types
+        # in the package `google.rpc` which can be used for common error conditions.
+        #
+        # # Language mapping
+        #
+        # The `Status` message is the logical representation of the error model, but it
+        # is not necessarily the actual wire format. When the `Status` message is
+        # exposed in different client libraries and different wire protocols, it can be
+        # mapped differently. For example, it will likely be mapped to some exceptions
+        # in Java, but more likely mapped to some error codes in C.
+        #
+        # # Other uses
+        #
+        # The error model and the `Status` message can be used in a variety of
+        # environments, either with or without APIs, to provide a
+        # consistent developer experience across different environments.
+        #
+        # Example uses of this error model include:
+        #
+        # - Partial errors. If a service needs to return partial errors to the client,
+        #     it may embed the `Status` in the normal response to indicate the partial
+        #     errors.
+        #
+        # - Workflow errors. A typical workflow has multiple steps. Each step may
+        #     have a `Status` message for error reporting purpose.
+        #
+        # - Batch operations. If a client uses batch request and batch response, the
+        #     `Status` message should be used directly inside batch response, one for
+        #     each error sub-response.
+        #
+        # - Asynchronous operations. If an API call embeds asynchronous operation
+        #     results in its response, the status of those operations should be
+        #     represented directly using the `Status` message.
+        #
+        # - Logging. If some API errors are stored in logs, the message `Status` could
+        #     be used directly after any stripping needed for security/privacy reasons.
+      "message": "A String", # A developer-facing error message, which should be in English. Any
+          # user-facing error message should be localized and sent in the
+          # google.rpc.Status.details field, or localized by the client.
+      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+      "details": [ # A list of messages that carry the error details.  There will be a
+          # common set of message types for APIs to use.
+        {
+          "a_key": "", # Properties of the object. Contains field @ype with type URL.
+        },
+      ],
+    },
+  }
+
+ +
+ list(name, pageSize=None, filter=None, pageToken=None, x__xgafv=None) +
Lists operations that match the specified filter in the request. If the
+server doesn't support this method, it returns `UNIMPLEMENTED`.
+
+NOTE: the `name` binding below allows API services to override the binding
+to use different resource name schemes, such as `users/*/operations`.
+
+Args:
+  name: string, The name of the operation collection. (required)
+  pageSize: integer, The standard list page size.
+  filter: string, The standard list filter.
+  pageToken: string, The standard list page token.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The response message for Operations.ListOperations.
+    "nextPageToken": "A String", # The standard List next-page token.
+    "operations": [ # A list of operations that matches the specified filter in the request.
+      { # This resource represents a long-running operation that is the result of a
+          # network API call.
+        "metadata": { # Service-specific metadata associated with the operation.  It typically
+            # contains progress information and common metadata such as create time.
+            # Some services might not provide such metadata.  Any method that returns a
+            # long-running operation should document the metadata type, if any.
+          "a_key": "", # Properties of the object. Contains field @ype with type URL.
+        },
+        "done": True or False, # If the value is `false`, it means the operation is still in progress.
+            # If true, the operation is completed, and either `error` or `response` is
+            # available.
+        "response": { # The normal response of the operation in case of success.  If the original
+            # method returns no data on success, such as `Delete`, the response is
+            # `google.protobuf.Empty`.  If the original method is standard
+            # `Get`/`Create`/`Update`, the response should be the resource.  For other
+            # methods, the response should have the type `XxxResponse`, where `Xxx`
+            # is the original method name.  For example, if the original method name
+            # is `TakeSnapshot()`, the inferred response type is
+            # `TakeSnapshotResponse`.
+          "a_key": "", # Properties of the object. Contains field @ype with type URL.
+        },
+        "name": "A String", # The server-assigned name, which is only unique within the same service that
+            # originally returns it. If you use the default HTTP mapping, the
+            # `name` should have the format of `operations/some/unique/name`.
+        "error": { # The `Status` type defines a logical error model that is suitable for different # The error result of the operation in case of failure.
+            # programming environments, including REST APIs and RPC APIs. It is used by
+            # [gRPC](https://github.com/grpc). The error model is designed to be:
+            #
+            # - Simple to use and understand for most users
+            # - Flexible enough to meet unexpected needs
+            #
+            # # Overview
+            #
+            # The `Status` message contains three pieces of data: error code, error message,
+            # and error details. The error code should be an enum value of
+            # google.rpc.Code, but it may accept additional error codes if needed.  The
+            # error message should be a developer-facing English message that helps
+            # developers *understand* and *resolve* the error. If a localized user-facing
+            # error message is needed, put the localized message in the error details or
+            # localize it in the client. The optional error details may contain arbitrary
+            # information about the error. There is a predefined set of error detail types
+            # in the package `google.rpc` which can be used for common error conditions.
+            #
+            # # Language mapping
+            #
+            # The `Status` message is the logical representation of the error model, but it
+            # is not necessarily the actual wire format. When the `Status` message is
+            # exposed in different client libraries and different wire protocols, it can be
+            # mapped differently. For example, it will likely be mapped to some exceptions
+            # in Java, but more likely mapped to some error codes in C.
+            #
+            # # Other uses
+            #
+            # The error model and the `Status` message can be used in a variety of
+            # environments, either with or without APIs, to provide a
+            # consistent developer experience across different environments.
+            #
+            # Example uses of this error model include:
+            #
+            # - Partial errors. If a service needs to return partial errors to the client,
+            #     it may embed the `Status` in the normal response to indicate the partial
+            #     errors.
+            #
+            # - Workflow errors. A typical workflow has multiple steps. Each step may
+            #     have a `Status` message for error reporting purpose.
+            #
+            # - Batch operations. If a client uses batch request and batch response, the
+            #     `Status` message should be used directly inside batch response, one for
+            #     each error sub-response.
+            #
+            # - Asynchronous operations. If an API call embeds asynchronous operation
+            #     results in its response, the status of those operations should be
+            #     represented directly using the `Status` message.
+            #
+            # - Logging. If some API errors are stored in logs, the message `Status` could
+            #     be used directly after any stripping needed for security/privacy reasons.
+          "message": "A String", # A developer-facing error message, which should be in English. Any
+              # user-facing error message should be localized and sent in the
+              # google.rpc.Status.details field, or localized by the client.
+          "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+          "details": [ # A list of messages that carry the error details.  There will be a
+              # common set of message types for APIs to use.
+            {
+              "a_key": "", # Properties of the object. Contains field @ype with type URL.
+            },
+          ],
+        },
+      },
+    ],
+  }
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    
+
+ + \ No newline at end of file diff --git a/docs/dyn/cloudbuild_v1.projects.builds.html b/docs/dyn/cloudbuild_v1.projects.builds.html new file mode 100644 index 00000000000..faeeb52495a --- /dev/null +++ b/docs/dyn/cloudbuild_v1.projects.builds.html @@ -0,0 +1,588 @@ + + + +

Google Cloud Container Builder API . projects . builds

+

Instance Methods

+

+ cancel(projectId, id, body, x__xgafv=None)

+

Cancels a requested build in progress.

+

+ create(projectId, body, x__xgafv=None)

+

Starts a build with the specified configuration.

+

+ get(projectId, id, x__xgafv=None)

+

Returns information about a previously requested build.

+

+ list(projectId, pageSize=None, pageToken=None, x__xgafv=None)

+

Lists previously requested builds.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

Method Details

+
+ cancel(projectId, id, body, x__xgafv=None) +
Cancels a requested build in progress.
+
+Args:
+  projectId: string, ID of the project. (required)
+  id: string, ID of the build. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Request to cancel an ongoing build.
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A build resource in the Container Builder API.
+      #
+      # At a high level, a Build describes where to find source code, how to build
+      # it (for example, the builder image to run on the source), and what tag to
+      # apply to the built image when it is pushed to Google Container Registry.
+    "status": "A String", # Status of the build.
+        # @OutputOnly
+    "finishTime": "A String", # Time at which execution of the build was finished.
+        # @OutputOnly
+    "startTime": "A String", # Time at which execution of the build was started.
+        # @OutputOnly
+    "statusDetail": "A String", # Customer-readable message about the current status.
+        # @OutputOnly
+    "logsBucket": "A String", # Google Cloud Storage bucket where logs should be written (see
+        # [Bucket Name
+        # Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).
+        # Logs file names will be of the format `${logs_bucket}/log-${build_id}.txt`.
+    "results": { # Results describes the artifacts created by the build pipeline. # Results of the build.
+        # @OutputOnly
+      "images": [ # Images that were built as a part of the build.
+        { # BuiltImage describes an image built by the pipeline.
+          "name": "A String", # Name used to push the container image to Google Container Registry, as
+              # presented to `docker push`.
+          "digest": "A String", # Docker Registry 2.0 digest.
+        },
+      ],
+    },
+    "createTime": "A String", # Time at which the build was created.
+        # @OutputOnly
+    "source": { # Source describes the location of the source in a supported storage # Describes where to find the source files to build.
+        # service.
+      "storageSource": { # StorageSource describes the location of the source in an archive file in # If provided, get the source from this location in in Google Cloud
+          # Storage.
+          # Google Cloud Storage.
+        "generation": "A String", # Google Cloud Storage generation for the object. If the generation is
+            # omitted, the latest generation will be used.
+        "object": "A String", # Google Cloud Storage object containing source.
+            #
+            # This object must be a gzipped archive file (.tar.gz) containing source to
+            # build.
+        "bucket": "A String", # Google Cloud Storage bucket containing source (see
+            # [Bucket Name
+            # Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).
+      },
+    },
+    "steps": [ # Describes the operations to be performed on the workspace.
+      { # BuildStep describes a step to perform in the build pipeline.
+        "args": [ # Command-line arguments to use when running this step's container.
+          "A String",
+        ],
+        "name": "A String", # Name of the container image to use for creating this stage in the
+            # pipeline, as presented to `docker pull`.
+        "dir": "A String", # Working directory (relative to project source root) to use when running
+            # this operation's container.
+        "env": [ # Additional environment variables to set for this step's container.
+          "A String",
+        ],
+      },
+    ],
+    "timeout": "A String", # Amount of time that this build should be allowed to run, to second
+        # granularity. If this amount of time elapses, work on the build will cease
+        # and the build status will be TIMEOUT.
+        #
+        # Default time is ten minutes.
+    "projectId": "A String", # ID of the project.
+        # @OutputOnly.
+    "images": [ # List of images expected to be built and pushed to Google Container
+        # Registry. If an image is listed here and the image is not produced by
+        # one of the build steps, the build will fail. Any images present when
+        # the build steps are complete will be pushed to Container Registry.
+      "A String",
+    ],
+    "id": "A String", # Unique identifier of the build.
+        # @OutputOnly
+  }
+
+ +
+ create(projectId, body, x__xgafv=None) +
Starts a build with the specified configuration.
+
+The long-running Operation returned by this method will include the ID of
+the build, which can be passed to GetBuild to determine its status (e.g.,
+success or failure).
+
+Args:
+  projectId: string, ID of the project. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A build resource in the Container Builder API.
+    # 
+    # At a high level, a Build describes where to find source code, how to build
+    # it (for example, the builder image to run on the source), and what tag to
+    # apply to the built image when it is pushed to Google Container Registry.
+  "status": "A String", # Status of the build.
+      # @OutputOnly
+  "finishTime": "A String", # Time at which execution of the build was finished.
+      # @OutputOnly
+  "startTime": "A String", # Time at which execution of the build was started.
+      # @OutputOnly
+  "statusDetail": "A String", # Customer-readable message about the current status.
+      # @OutputOnly
+  "logsBucket": "A String", # Google Cloud Storage bucket where logs should be written (see
+      # [Bucket Name
+      # Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).
+      # Logs file names will be of the format `${logs_bucket}/log-${build_id}.txt`.
+  "results": { # Results describes the artifacts created by the build pipeline. # Results of the build.
+      # @OutputOnly
+    "images": [ # Images that were built as a part of the build.
+      { # BuiltImage describes an image built by the pipeline.
+        "name": "A String", # Name used to push the container image to Google Container Registry, as
+            # presented to `docker push`.
+        "digest": "A String", # Docker Registry 2.0 digest.
+      },
+    ],
+  },
+  "createTime": "A String", # Time at which the build was created.
+      # @OutputOnly
+  "source": { # Source describes the location of the source in a supported storage # Describes where to find the source files to build.
+      # service.
+    "storageSource": { # StorageSource describes the location of the source in an archive file in # If provided, get the source from this location in in Google Cloud
+        # Storage.
+        # Google Cloud Storage.
+      "generation": "A String", # Google Cloud Storage generation for the object. If the generation is
+          # omitted, the latest generation will be used.
+      "object": "A String", # Google Cloud Storage object containing source.
+          #
+          # This object must be a gzipped archive file (.tar.gz) containing source to
+          # build.
+      "bucket": "A String", # Google Cloud Storage bucket containing source (see
+          # [Bucket Name
+          # Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).
+    },
+  },
+  "steps": [ # Describes the operations to be performed on the workspace.
+    { # BuildStep describes a step to perform in the build pipeline.
+      "args": [ # Command-line arguments to use when running this step's container.
+        "A String",
+      ],
+      "name": "A String", # Name of the container image to use for creating this stage in the
+          # pipeline, as presented to `docker pull`.
+      "dir": "A String", # Working directory (relative to project source root) to use when running
+          # this operation's container.
+      "env": [ # Additional environment variables to set for this step's container.
+        "A String",
+      ],
+    },
+  ],
+  "timeout": "A String", # Amount of time that this build should be allowed to run, to second
+      # granularity. If this amount of time elapses, work on the build will cease
+      # and the build status will be TIMEOUT.
+      # 
+      # Default time is ten minutes.
+  "projectId": "A String", # ID of the project.
+      # @OutputOnly.
+  "images": [ # List of images expected to be built and pushed to Google Container
+      # Registry. If an image is listed here and the image is not produced by
+      # one of the build steps, the build will fail. Any images present when
+      # the build steps are complete will be pushed to Container Registry.
+    "A String",
+  ],
+  "id": "A String", # Unique identifier of the build.
+      # @OutputOnly
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a
+      # network API call.
+    "metadata": { # Service-specific metadata associated with the operation.  It typically
+        # contains progress information and common metadata such as create time.
+        # Some services might not provide such metadata.  Any method that returns a
+        # long-running operation should document the metadata type, if any.
+      "a_key": "", # Properties of the object. Contains field @ype with type URL.
+    },
+    "done": True or False, # If the value is `false`, it means the operation is still in progress.
+        # If true, the operation is completed, and either `error` or `response` is
+        # available.
+    "response": { # The normal response of the operation in case of success.  If the original
+        # method returns no data on success, such as `Delete`, the response is
+        # `google.protobuf.Empty`.  If the original method is standard
+        # `Get`/`Create`/`Update`, the response should be the resource.  For other
+        # methods, the response should have the type `XxxResponse`, where `Xxx`
+        # is the original method name.  For example, if the original method name
+        # is `TakeSnapshot()`, the inferred response type is
+        # `TakeSnapshotResponse`.
+      "a_key": "", # Properties of the object. Contains field @ype with type URL.
+    },
+    "name": "A String", # The server-assigned name, which is only unique within the same service that
+        # originally returns it. If you use the default HTTP mapping, the
+        # `name` should have the format of `operations/some/unique/name`.
+    "error": { # The `Status` type defines a logical error model that is suitable for different # The error result of the operation in case of failure.
+        # programming environments, including REST APIs and RPC APIs. It is used by
+        # [gRPC](https://github.com/grpc). The error model is designed to be:
+        #
+        # - Simple to use and understand for most users
+        # - Flexible enough to meet unexpected needs
+        #
+        # # Overview
+        #
+        # The `Status` message contains three pieces of data: error code, error message,
+        # and error details. The error code should be an enum value of
+        # google.rpc.Code, but it may accept additional error codes if needed.  The
+        # error message should be a developer-facing English message that helps
+        # developers *understand* and *resolve* the error. If a localized user-facing
+        # error message is needed, put the localized message in the error details or
+        # localize it in the client. The optional error details may contain arbitrary
+        # information about the error. There is a predefined set of error detail types
+        # in the package `google.rpc` which can be used for common error conditions.
+        #
+        # # Language mapping
+        #
+        # The `Status` message is the logical representation of the error model, but it
+        # is not necessarily the actual wire format. When the `Status` message is
+        # exposed in different client libraries and different wire protocols, it can be
+        # mapped differently. For example, it will likely be mapped to some exceptions
+        # in Java, but more likely mapped to some error codes in C.
+        #
+        # # Other uses
+        #
+        # The error model and the `Status` message can be used in a variety of
+        # environments, either with or without APIs, to provide a
+        # consistent developer experience across different environments.
+        #
+        # Example uses of this error model include:
+        #
+        # - Partial errors. If a service needs to return partial errors to the client,
+        #     it may embed the `Status` in the normal response to indicate the partial
+        #     errors.
+        #
+        # - Workflow errors. A typical workflow has multiple steps. Each step may
+        #     have a `Status` message for error reporting purpose.
+        #
+        # - Batch operations. If a client uses batch request and batch response, the
+        #     `Status` message should be used directly inside batch response, one for
+        #     each error sub-response.
+        #
+        # - Asynchronous operations. If an API call embeds asynchronous operation
+        #     results in its response, the status of those operations should be
+        #     represented directly using the `Status` message.
+        #
+        # - Logging. If some API errors are stored in logs, the message `Status` could
+        #     be used directly after any stripping needed for security/privacy reasons.
+      "message": "A String", # A developer-facing error message, which should be in English. Any
+          # user-facing error message should be localized and sent in the
+          # google.rpc.Status.details field, or localized by the client.
+      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+      "details": [ # A list of messages that carry the error details.  There will be a
+          # common set of message types for APIs to use.
+        {
+          "a_key": "", # Properties of the object. Contains field @ype with type URL.
+        },
+      ],
+    },
+  }
+
+ +
+ get(projectId, id, x__xgafv=None) +
Returns information about a previously requested build.
+
+The Build that is returned includes its status (e.g., success or failure,
+or in-progress), and timing information.
+
+Args:
+  projectId: string, ID of the project. (required)
+  id: string, ID of the build. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A build resource in the Container Builder API.
+      #
+      # At a high level, a Build describes where to find source code, how to build
+      # it (for example, the builder image to run on the source), and what tag to
+      # apply to the built image when it is pushed to Google Container Registry.
+    "status": "A String", # Status of the build.
+        # @OutputOnly
+    "finishTime": "A String", # Time at which execution of the build was finished.
+        # @OutputOnly
+    "startTime": "A String", # Time at which execution of the build was started.
+        # @OutputOnly
+    "statusDetail": "A String", # Customer-readable message about the current status.
+        # @OutputOnly
+    "logsBucket": "A String", # Google Cloud Storage bucket where logs should be written (see
+        # [Bucket Name
+        # Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).
+        # Logs file names will be of the format `${logs_bucket}/log-${build_id}.txt`.
+    "results": { # Results describes the artifacts created by the build pipeline. # Results of the build.
+        # @OutputOnly
+      "images": [ # Images that were built as a part of the build.
+        { # BuiltImage describes an image built by the pipeline.
+          "name": "A String", # Name used to push the container image to Google Container Registry, as
+              # presented to `docker push`.
+          "digest": "A String", # Docker Registry 2.0 digest.
+        },
+      ],
+    },
+    "createTime": "A String", # Time at which the build was created.
+        # @OutputOnly
+    "source": { # Source describes the location of the source in a supported storage # Describes where to find the source files to build.
+        # service.
+      "storageSource": { # StorageSource describes the location of the source in an archive file in # If provided, get the source from this location in in Google Cloud
+          # Storage.
+          # Google Cloud Storage.
+        "generation": "A String", # Google Cloud Storage generation for the object. If the generation is
+            # omitted, the latest generation will be used.
+        "object": "A String", # Google Cloud Storage object containing source.
+            #
+            # This object must be a gzipped archive file (.tar.gz) containing source to
+            # build.
+        "bucket": "A String", # Google Cloud Storage bucket containing source (see
+            # [Bucket Name
+            # Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).
+      },
+    },
+    "steps": [ # Describes the operations to be performed on the workspace.
+      { # BuildStep describes a step to perform in the build pipeline.
+        "args": [ # Command-line arguments to use when running this step's container.
+          "A String",
+        ],
+        "name": "A String", # Name of the container image to use for creating this stage in the
+            # pipeline, as presented to `docker pull`.
+        "dir": "A String", # Working directory (relative to project source root) to use when running
+            # this operation's container.
+        "env": [ # Additional environment variables to set for this step's container.
+          "A String",
+        ],
+      },
+    ],
+    "timeout": "A String", # Amount of time that this build should be allowed to run, to second
+        # granularity. If this amount of time elapses, work on the build will cease
+        # and the build status will be TIMEOUT.
+        #
+        # Default time is ten minutes.
+    "projectId": "A String", # ID of the project.
+        # @OutputOnly.
+    "images": [ # List of images expected to be built and pushed to Google Container
+        # Registry. If an image is listed here and the image is not produced by
+        # one of the build steps, the build will fail. Any images present when
+        # the build steps are complete will be pushed to Container Registry.
+      "A String",
+    ],
+    "id": "A String", # Unique identifier of the build.
+        # @OutputOnly
+  }
+
+ +
+ list(projectId, pageSize=None, pageToken=None, x__xgafv=None) +
Lists previously requested builds.
+
+Previously requested builds may still be in-progress, or may have finished
+successfully or unsuccessfully.
+
+Args:
+  projectId: string, ID of the project. (required)
+  pageSize: integer, Number of results to return in the list.
+  pageToken: string, Token to provide to skip to a particular spot in the list.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response including listed builds.
+    "nextPageToken": "A String", # Token to receive the next page of results.
+    "builds": [ # Builds will be sorted by create_time, descending.
+      { # A build resource in the Container Builder API.
+          #
+          # At a high level, a Build describes where to find source code, how to build
+          # it (for example, the builder image to run on the source), and what tag to
+          # apply to the built image when it is pushed to Google Container Registry.
+        "status": "A String", # Status of the build.
+            # @OutputOnly
+        "finishTime": "A String", # Time at which execution of the build was finished.
+            # @OutputOnly
+        "startTime": "A String", # Time at which execution of the build was started.
+            # @OutputOnly
+        "statusDetail": "A String", # Customer-readable message about the current status.
+            # @OutputOnly
+        "logsBucket": "A String", # Google Cloud Storage bucket where logs should be written (see
+            # [Bucket Name
+            # Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).
+            # Logs file names will be of the format `${logs_bucket}/log-${build_id}.txt`.
+        "results": { # Results describes the artifacts created by the build pipeline. # Results of the build.
+            # @OutputOnly
+          "images": [ # Images that were built as a part of the build.
+            { # BuiltImage describes an image built by the pipeline.
+              "name": "A String", # Name used to push the container image to Google Container Registry, as
+                  # presented to `docker push`.
+              "digest": "A String", # Docker Registry 2.0 digest.
+            },
+          ],
+        },
+        "createTime": "A String", # Time at which the build was created.
+            # @OutputOnly
+        "source": { # Source describes the location of the source in a supported storage # Describes where to find the source files to build.
+            # service.
+          "storageSource": { # StorageSource describes the location of the source in an archive file in # If provided, get the source from this location in in Google Cloud
+              # Storage.
+              # Google Cloud Storage.
+            "generation": "A String", # Google Cloud Storage generation for the object. If the generation is
+                # omitted, the latest generation will be used.
+            "object": "A String", # Google Cloud Storage object containing source.
+                #
+                # This object must be a gzipped archive file (.tar.gz) containing source to
+                # build.
+            "bucket": "A String", # Google Cloud Storage bucket containing source (see
+                # [Bucket Name
+                # Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).
+          },
+        },
+        "steps": [ # Describes the operations to be performed on the workspace.
+          { # BuildStep describes a step to perform in the build pipeline.
+            "args": [ # Command-line arguments to use when running this step's container.
+              "A String",
+            ],
+            "name": "A String", # Name of the container image to use for creating this stage in the
+                # pipeline, as presented to `docker pull`.
+            "dir": "A String", # Working directory (relative to project source root) to use when running
+                # this operation's container.
+            "env": [ # Additional environment variables to set for this step's container.
+              "A String",
+            ],
+          },
+        ],
+        "timeout": "A String", # Amount of time that this build should be allowed to run, to second
+            # granularity. If this amount of time elapses, work on the build will cease
+            # and the build status will be TIMEOUT.
+            #
+            # Default time is ten minutes.
+        "projectId": "A String", # ID of the project.
+            # @OutputOnly.
+        "images": [ # List of images expected to be built and pushed to Google Container
+            # Registry. If an image is listed here and the image is not produced by
+            # one of the build steps, the build will fail. Any images present when
+            # the build steps are complete will be pushed to Container Registry.
+          "A String",
+        ],
+        "id": "A String", # Unique identifier of the build.
+            # @OutputOnly
+      },
+    ],
+  }
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    
+
+ + \ No newline at end of file diff --git a/docs/dyn/cloudbuild_v1.projects.html b/docs/dyn/cloudbuild_v1.projects.html new file mode 100644 index 00000000000..1c2edb433f5 --- /dev/null +++ b/docs/dyn/cloudbuild_v1.projects.html @@ -0,0 +1,82 @@ + + + +

Google Cloud Container Builder API . projects

+

Instance Methods

+

+ builds() +

+

Returns the builds Resource.

+ + \ No newline at end of file diff --git a/docs/dyn/clouddebugger_v2.controller.debuggees.breakpoints.html b/docs/dyn/clouddebugger_v2.controller.debuggees.breakpoints.html index 27dc5dc33f0..448e7c2626d 100644 --- a/docs/dyn/clouddebugger_v2.controller.debuggees.breakpoints.html +++ b/docs/dyn/clouddebugger_v2.controller.debuggees.breakpoints.html @@ -111,7 +111,7 @@

Method Details

}, }, "logMessageFormat": "A String", # Only relevant when action is `LOG`. Defines the message to log when the breakpoint hits. The message may include parameter placeholders `$0`, `$1`, etc. These placeholders are replaced with the evaluated value of the appropriate expression. Expressions not referenced in `log_message_format` are not logged. Example: `Message received, id = $0, count = $1` with `expressions` = `[ message.id, message.count ]`. - "variableTable": [ # The `variable_table` exists to aid with computation, memory and network traffic optimization. It enables storing a variable once and reference it from multiple variables, including variables stored in the `variable_table` itself. For example, the same `this` object, which may appear at many levels of the stack, can have all of its data stored once in this table. The stack frame variables then would hold only a reference to it. The variable `var_table_index` field is an index into this repeated field. The stored objects are nameless and get their name from the referencing variable. The effective variable is a merge of the referencing veariable and the referenced variable. + "variableTable": [ # The `variable_table` exists to aid with computation, memory and network traffic optimization. It enables storing a variable once and reference it from multiple variables, including variables stored in the `variable_table` itself. For example, the same `this` object, which may appear at many levels of the stack, can have all of its data stored once in this table. The stack frame variables then would hold only a reference to it. The variable `var_table_index` field is an index into this repeated field. The stored objects are nameless and get their name from the referencing variable. The effective variable is a merge of the referencing variable and the referenced variable. { # Represents a variable or an argument possibly of a compound object type. Note how the following variables are represented: 1) A simple variable: int x = 5 { name: "x", value: "5", type: "int" } // Captured variable 2) A compound object: struct T { int m1; int m2; }; T x = { 3, 7 }; { // Captured variable name: "x", type: "T", members { name: "m1", value: "3", type: "int" }, members { name: "m2", value: "7", type: "int" } } 3) A pointer where the pointee was captured: T x = { 3, 7 }; T* p = &x; { // Captured variable name: "p", type: "T*", value: "0x00500500", members { name: "m1", value: "3", type: "int" }, members { name: "m2", value: "7", type: "int" } } 4) A pointer where the pointee was not captured: T* p = new T; { // Captured variable name: "p", type: "T*", value: "0x00400400" status { is_error: true, description { format: "unavailable" } } } The status should describe the reason for the missing value, such as ``, ``, ` # `. Note that a null pointer should not have members. 5) An unnamed value: int* p = new int(7); { // Captured variable name: "p", value: "0x00500500", type: "int*", members { value: "7", type: "int" } } 6) An unnamed pointer where the pointee was not captured: int* p = new int(7); int** pp = &p; { // Captured variable name: "pp", value: "0x00500500", type: "int**", members { value: "0x00400400", type: "int*" status { is_error: true, description: { format: "unavailable" } } } } } To optimize computation, memory and network traffic, variables that repeat in the output multiple times can be stored once in a shared variable table and be referenced using the `var_table_index` field. The variables stored in the shared table are nameless and are essentially a partition of the complete variable. To reconstruct the complete variable, merge the referencing variable with the referenced variable. When using the shared variable table, the following variables: T x = { 3, 7 }; T* p = &x; T& r = x; { name: "x", var_table_index: 3, type: "T" } // Captured variables { name: "p", value "0x00500500", type="T*", var_table_index: 3 } { name: "r", type="T&", var_table_index: 3 } { // Shared variable table entry #3: members { name: "m1", value: "3", type: "int" }, members { name: "m2", value: "7", type: "int" } } Note that the pointer address is stored with the referencing variable and not with the referenced variable. This allows the referenced variable to be shared between pointers and references. The type field is optional. The debugger agent may or may not support it. "status": { # Represents a contextual status message. The message can indicate an error or informational status, and refer to specific parts of the containing object. For example, the `Breakpoint.status` field can indicate an error referring to the `BREAKPOINT_SOURCE_LOCATION` with the message `Location not found`. # Status associated with the variable. This field will usually stay unset. A status of a single variable only applies to that variable or expression. The rest of breakpoint data still remains valid. Variables might be reported in error state even when breakpoint is not in final state. The message may refer to variable name with `refers_to` set to `VARIABLE_NAME`. Alternatively `refers_to` will be set to `VARIABLE_VALUE`. In either case variable value and members will be unset. Example of error message applied to name: `Invalid expression syntax`. Example of information message applied to value: `Not captured`. Examples of error message applied to value: * `Malformed string`, * `Field f not found in class C` * `Null pointer dereference` @@ -134,6 +134,9 @@

Method Details

}, ], "logLevel": "A String", # Indicates the severity of the log. Only relevant when action is `LOG`. + "labels": { # A set of custom breakpoint properties, populated by the agent, to be displayed to the user. + "a_key": "A String", + }, "finalTime": "A String", # Time this breakpoint was finalized as seen by the server in seconds resolution. "createTime": "A String", # Time this breakpoint was created by the server in seconds resolution. "stackFrames": [ # The stack at breakpoint time. @@ -251,7 +254,7 @@

Method Details

}, }, "logMessageFormat": "A String", # Only relevant when action is `LOG`. Defines the message to log when the breakpoint hits. The message may include parameter placeholders `$0`, `$1`, etc. These placeholders are replaced with the evaluated value of the appropriate expression. Expressions not referenced in `log_message_format` are not logged. Example: `Message received, id = $0, count = $1` with `expressions` = `[ message.id, message.count ]`. - "variableTable": [ # The `variable_table` exists to aid with computation, memory and network traffic optimization. It enables storing a variable once and reference it from multiple variables, including variables stored in the `variable_table` itself. For example, the same `this` object, which may appear at many levels of the stack, can have all of its data stored once in this table. The stack frame variables then would hold only a reference to it. The variable `var_table_index` field is an index into this repeated field. The stored objects are nameless and get their name from the referencing variable. The effective variable is a merge of the referencing veariable and the referenced variable. + "variableTable": [ # The `variable_table` exists to aid with computation, memory and network traffic optimization. It enables storing a variable once and reference it from multiple variables, including variables stored in the `variable_table` itself. For example, the same `this` object, which may appear at many levels of the stack, can have all of its data stored once in this table. The stack frame variables then would hold only a reference to it. The variable `var_table_index` field is an index into this repeated field. The stored objects are nameless and get their name from the referencing variable. The effective variable is a merge of the referencing variable and the referenced variable. { # Represents a variable or an argument possibly of a compound object type. Note how the following variables are represented: 1) A simple variable: int x = 5 { name: "x", value: "5", type: "int" } // Captured variable 2) A compound object: struct T { int m1; int m2; }; T x = { 3, 7 }; { // Captured variable name: "x", type: "T", members { name: "m1", value: "3", type: "int" }, members { name: "m2", value: "7", type: "int" } } 3) A pointer where the pointee was captured: T x = { 3, 7 }; T* p = &x; { // Captured variable name: "p", type: "T*", value: "0x00500500", members { name: "m1", value: "3", type: "int" }, members { name: "m2", value: "7", type: "int" } } 4) A pointer where the pointee was not captured: T* p = new T; { // Captured variable name: "p", type: "T*", value: "0x00400400" status { is_error: true, description { format: "unavailable" } } } The status should describe the reason for the missing value, such as ``, ``, ` # `. Note that a null pointer should not have members. 5) An unnamed value: int* p = new int(7); { // Captured variable name: "p", value: "0x00500500", type: "int*", members { value: "7", type: "int" } } 6) An unnamed pointer where the pointee was not captured: int* p = new int(7); int** pp = &p; { // Captured variable name: "pp", value: "0x00500500", type: "int**", members { value: "0x00400400", type: "int*" status { is_error: true, description: { format: "unavailable" } } } } } To optimize computation, memory and network traffic, variables that repeat in the output multiple times can be stored once in a shared variable table and be referenced using the `var_table_index` field. The variables stored in the shared table are nameless and are essentially a partition of the complete variable. To reconstruct the complete variable, merge the referencing variable with the referenced variable. When using the shared variable table, the following variables: T x = { 3, 7 }; T* p = &x; T& r = x; { name: "x", var_table_index: 3, type: "T" } // Captured variables { name: "p", value "0x00500500", type="T*", var_table_index: 3 } { name: "r", type="T&", var_table_index: 3 } { // Shared variable table entry #3: members { name: "m1", value: "3", type: "int" }, members { name: "m2", value: "7", type: "int" } } Note that the pointer address is stored with the referencing variable and not with the referenced variable. This allows the referenced variable to be shared between pointers and references. The type field is optional. The debugger agent may or may not support it. "status": { # Represents a contextual status message. The message can indicate an error or informational status, and refer to specific parts of the containing object. For example, the `Breakpoint.status` field can indicate an error referring to the `BREAKPOINT_SOURCE_LOCATION` with the message `Location not found`. # Status associated with the variable. This field will usually stay unset. A status of a single variable only applies to that variable or expression. The rest of breakpoint data still remains valid. Variables might be reported in error state even when breakpoint is not in final state. The message may refer to variable name with `refers_to` set to `VARIABLE_NAME`. Alternatively `refers_to` will be set to `VARIABLE_VALUE`. In either case variable value and members will be unset. Example of error message applied to name: `Invalid expression syntax`. Example of information message applied to value: `Not captured`. Examples of error message applied to value: * `Malformed string`, * `Field f not found in class C` * `Null pointer dereference` @@ -274,6 +277,9 @@

Method Details

}, ], "logLevel": "A String", # Indicates the severity of the log. Only relevant when action is `LOG`. + "labels": { # A set of custom breakpoint properties, populated by the agent, to be displayed to the user. + "a_key": "A String", + }, "finalTime": "A String", # Time this breakpoint was finalized as seen by the server in seconds resolution. "createTime": "A String", # Time this breakpoint was created by the server in seconds resolution. "stackFrames": [ # The stack at breakpoint time. diff --git a/docs/dyn/clouddebugger_v2.debugger.debuggees.breakpoints.html b/docs/dyn/clouddebugger_v2.debugger.debuggees.breakpoints.html index 266705b2080..089ded41aed 100644 --- a/docs/dyn/clouddebugger_v2.debugger.debuggees.breakpoints.html +++ b/docs/dyn/clouddebugger_v2.debugger.debuggees.breakpoints.html @@ -75,25 +75,26 @@

Google Cloud Debugger API . debugger . debuggees . breakpoints

Instance Methods

- delete(debuggeeId, breakpointId, x__xgafv=None)

+ delete(debuggeeId, breakpointId, clientVersion=None, x__xgafv=None)

Deletes the breakpoint from the debuggee.

- get(debuggeeId, breakpointId, x__xgafv=None)

+ get(debuggeeId, breakpointId, clientVersion=None, x__xgafv=None)

Gets breakpoint information.

- list(debuggeeId, includeAllUsers=None, includeInactive=None, x__xgafv=None, stripResults=None, action_value=None, waitToken=None)

+ list(debuggeeId, includeAllUsers=None, includeInactive=None, x__xgafv=None, clientVersion=None, stripResults=None, action_value=None, waitToken=None)

Lists all breakpoints for the debuggee.

- set(debuggeeId, body, x__xgafv=None)

+ set(debuggeeId, body, clientVersion=None, x__xgafv=None)

Sets the breakpoint to the debuggee.

Method Details

- delete(debuggeeId, breakpointId, x__xgafv=None) + delete(debuggeeId, breakpointId, clientVersion=None, x__xgafv=None)
Deletes the breakpoint from the debuggee.
 
 Args:
   debuggeeId: string, ID of the debuggee whose breakpoint to delete. (required)
   breakpointId: string, ID of the breakpoint to delete. (required)
+  clientVersion: string, The client version making the call. Following: `domain/type/version` (e.g., `google.com/intellij/v1`).
   x__xgafv: string, V1 error format.
 
 Returns:
@@ -104,12 +105,13 @@ 

Method Details

- get(debuggeeId, breakpointId, x__xgafv=None) + get(debuggeeId, breakpointId, clientVersion=None, x__xgafv=None)
Gets breakpoint information.
 
 Args:
   debuggeeId: string, ID of the debuggee whose breakpoint to get. (required)
   breakpointId: string, ID of the breakpoint to get. (required)
+  clientVersion: string, The client version making the call. Following: `domain/type/version` (e.g., `google.com/intellij/v1`).
   x__xgafv: string, V1 error format.
 
 Returns:
@@ -129,7 +131,7 @@ 

Method Details

}, }, "logMessageFormat": "A String", # Only relevant when action is `LOG`. Defines the message to log when the breakpoint hits. The message may include parameter placeholders `$0`, `$1`, etc. These placeholders are replaced with the evaluated value of the appropriate expression. Expressions not referenced in `log_message_format` are not logged. Example: `Message received, id = $0, count = $1` with `expressions` = `[ message.id, message.count ]`. - "variableTable": [ # The `variable_table` exists to aid with computation, memory and network traffic optimization. It enables storing a variable once and reference it from multiple variables, including variables stored in the `variable_table` itself. For example, the same `this` object, which may appear at many levels of the stack, can have all of its data stored once in this table. The stack frame variables then would hold only a reference to it. The variable `var_table_index` field is an index into this repeated field. The stored objects are nameless and get their name from the referencing variable. The effective variable is a merge of the referencing veariable and the referenced variable. + "variableTable": [ # The `variable_table` exists to aid with computation, memory and network traffic optimization. It enables storing a variable once and reference it from multiple variables, including variables stored in the `variable_table` itself. For example, the same `this` object, which may appear at many levels of the stack, can have all of its data stored once in this table. The stack frame variables then would hold only a reference to it. The variable `var_table_index` field is an index into this repeated field. The stored objects are nameless and get their name from the referencing variable. The effective variable is a merge of the referencing variable and the referenced variable. { # Represents a variable or an argument possibly of a compound object type. Note how the following variables are represented: 1) A simple variable: int x = 5 { name: "x", value: "5", type: "int" } // Captured variable 2) A compound object: struct T { int m1; int m2; }; T x = { 3, 7 }; { // Captured variable name: "x", type: "T", members { name: "m1", value: "3", type: "int" }, members { name: "m2", value: "7", type: "int" } } 3) A pointer where the pointee was captured: T x = { 3, 7 }; T* p = &x; { // Captured variable name: "p", type: "T*", value: "0x00500500", members { name: "m1", value: "3", type: "int" }, members { name: "m2", value: "7", type: "int" } } 4) A pointer where the pointee was not captured: T* p = new T; { // Captured variable name: "p", type: "T*", value: "0x00400400" status { is_error: true, description { format: "unavailable" } } } The status should describe the reason for the missing value, such as ``, ``, ` # `. Note that a null pointer should not have members. 5) An unnamed value: int* p = new int(7); { // Captured variable name: "p", value: "0x00500500", type: "int*", members { value: "7", type: "int" } } 6) An unnamed pointer where the pointee was not captured: int* p = new int(7); int** pp = &p; { // Captured variable name: "pp", value: "0x00500500", type: "int**", members { value: "0x00400400", type: "int*" status { is_error: true, description: { format: "unavailable" } } } } } To optimize computation, memory and network traffic, variables that repeat in the output multiple times can be stored once in a shared variable table and be referenced using the `var_table_index` field. The variables stored in the shared table are nameless and are essentially a partition of the complete variable. To reconstruct the complete variable, merge the referencing variable with the referenced variable. When using the shared variable table, the following variables: T x = { 3, 7 }; T* p = &x; T& r = x; { name: "x", var_table_index: 3, type: "T" } // Captured variables { name: "p", value "0x00500500", type="T*", var_table_index: 3 } { name: "r", type="T&", var_table_index: 3 } { // Shared variable table entry #3: members { name: "m1", value: "3", type: "int" }, members { name: "m2", value: "7", type: "int" } } Note that the pointer address is stored with the referencing variable and not with the referenced variable. This allows the referenced variable to be shared between pointers and references. The type field is optional. The debugger agent may or may not support it. "status": { # Represents a contextual status message. The message can indicate an error or informational status, and refer to specific parts of the containing object. For example, the `Breakpoint.status` field can indicate an error referring to the `BREAKPOINT_SOURCE_LOCATION` with the message `Location not found`. # Status associated with the variable. This field will usually stay unset. A status of a single variable only applies to that variable or expression. The rest of breakpoint data still remains valid. Variables might be reported in error state even when breakpoint is not in final state. The message may refer to variable name with `refers_to` set to `VARIABLE_NAME`. Alternatively `refers_to` will be set to `VARIABLE_VALUE`. In either case variable value and members will be unset. Example of error message applied to name: `Invalid expression syntax`. Example of information message applied to value: `Not captured`. Examples of error message applied to value: * `Malformed string`, * `Field f not found in class C` * `Null pointer dereference` @@ -152,6 +154,9 @@

Method Details

}, ], "logLevel": "A String", # Indicates the severity of the log. Only relevant when action is `LOG`. + "labels": { # A set of custom breakpoint properties, populated by the agent, to be displayed to the user. + "a_key": "A String", + }, "finalTime": "A String", # Time this breakpoint was finalized as seen by the server in seconds resolution. "createTime": "A String", # Time this breakpoint was created by the server in seconds resolution. "stackFrames": [ # The stack at breakpoint time. @@ -245,7 +250,7 @@

Method Details

- list(debuggeeId, includeAllUsers=None, includeInactive=None, x__xgafv=None, stripResults=None, action_value=None, waitToken=None) + list(debuggeeId, includeAllUsers=None, includeInactive=None, x__xgafv=None, clientVersion=None, stripResults=None, action_value=None, waitToken=None)
Lists all breakpoints for the debuggee.
 
 Args:
@@ -253,6 +258,7 @@ 

Method Details

includeAllUsers: boolean, When set to `true`, the response includes the list of breakpoints set by any user. Otherwise, it includes only breakpoints set by the caller. includeInactive: boolean, When set to `true`, the response includes active and inactive breakpoints. Otherwise, it includes only active breakpoints. x__xgafv: string, V1 error format. + clientVersion: string, The client version making the call. Following: `domain/type/version` (e.g., `google.com/intellij/v1`). stripResults: boolean, When set to `true`, the response breakpoints are stripped of the results fields: `stack_frames`, `evaluated_expressions` and `variable_table`. action_value: string, Only breakpoints with the specified action will pass the filter. waitToken: string, A wait token that, if specified, blocks the call until the breakpoints list has changed, or a server selected timeout has expired. The value should be set from the last response. The error code `google.rpc.Code.ABORTED` (RPC) is returned on wait timeout, which should be called again with the same `wait_token`. @@ -276,7 +282,7 @@

Method Details

}, }, "logMessageFormat": "A String", # Only relevant when action is `LOG`. Defines the message to log when the breakpoint hits. The message may include parameter placeholders `$0`, `$1`, etc. These placeholders are replaced with the evaluated value of the appropriate expression. Expressions not referenced in `log_message_format` are not logged. Example: `Message received, id = $0, count = $1` with `expressions` = `[ message.id, message.count ]`. - "variableTable": [ # The `variable_table` exists to aid with computation, memory and network traffic optimization. It enables storing a variable once and reference it from multiple variables, including variables stored in the `variable_table` itself. For example, the same `this` object, which may appear at many levels of the stack, can have all of its data stored once in this table. The stack frame variables then would hold only a reference to it. The variable `var_table_index` field is an index into this repeated field. The stored objects are nameless and get their name from the referencing variable. The effective variable is a merge of the referencing veariable and the referenced variable. + "variableTable": [ # The `variable_table` exists to aid with computation, memory and network traffic optimization. It enables storing a variable once and reference it from multiple variables, including variables stored in the `variable_table` itself. For example, the same `this` object, which may appear at many levels of the stack, can have all of its data stored once in this table. The stack frame variables then would hold only a reference to it. The variable `var_table_index` field is an index into this repeated field. The stored objects are nameless and get their name from the referencing variable. The effective variable is a merge of the referencing variable and the referenced variable. { # Represents a variable or an argument possibly of a compound object type. Note how the following variables are represented: 1) A simple variable: int x = 5 { name: "x", value: "5", type: "int" } // Captured variable 2) A compound object: struct T { int m1; int m2; }; T x = { 3, 7 }; { // Captured variable name: "x", type: "T", members { name: "m1", value: "3", type: "int" }, members { name: "m2", value: "7", type: "int" } } 3) A pointer where the pointee was captured: T x = { 3, 7 }; T* p = &x; { // Captured variable name: "p", type: "T*", value: "0x00500500", members { name: "m1", value: "3", type: "int" }, members { name: "m2", value: "7", type: "int" } } 4) A pointer where the pointee was not captured: T* p = new T; { // Captured variable name: "p", type: "T*", value: "0x00400400" status { is_error: true, description { format: "unavailable" } } } The status should describe the reason for the missing value, such as ``, ``, ` # `. Note that a null pointer should not have members. 5) An unnamed value: int* p = new int(7); { // Captured variable name: "p", value: "0x00500500", type: "int*", members { value: "7", type: "int" } } 6) An unnamed pointer where the pointee was not captured: int* p = new int(7); int** pp = &p; { // Captured variable name: "pp", value: "0x00500500", type: "int**", members { value: "0x00400400", type: "int*" status { is_error: true, description: { format: "unavailable" } } } } } To optimize computation, memory and network traffic, variables that repeat in the output multiple times can be stored once in a shared variable table and be referenced using the `var_table_index` field. The variables stored in the shared table are nameless and are essentially a partition of the complete variable. To reconstruct the complete variable, merge the referencing variable with the referenced variable. When using the shared variable table, the following variables: T x = { 3, 7 }; T* p = &x; T& r = x; { name: "x", var_table_index: 3, type: "T" } // Captured variables { name: "p", value "0x00500500", type="T*", var_table_index: 3 } { name: "r", type="T&", var_table_index: 3 } { // Shared variable table entry #3: members { name: "m1", value: "3", type: "int" }, members { name: "m2", value: "7", type: "int" } } Note that the pointer address is stored with the referencing variable and not with the referenced variable. This allows the referenced variable to be shared between pointers and references. The type field is optional. The debugger agent may or may not support it. "status": { # Represents a contextual status message. The message can indicate an error or informational status, and refer to specific parts of the containing object. For example, the `Breakpoint.status` field can indicate an error referring to the `BREAKPOINT_SOURCE_LOCATION` with the message `Location not found`. # Status associated with the variable. This field will usually stay unset. A status of a single variable only applies to that variable or expression. The rest of breakpoint data still remains valid. Variables might be reported in error state even when breakpoint is not in final state. The message may refer to variable name with `refers_to` set to `VARIABLE_NAME`. Alternatively `refers_to` will be set to `VARIABLE_VALUE`. In either case variable value and members will be unset. Example of error message applied to name: `Invalid expression syntax`. Example of information message applied to value: `Not captured`. Examples of error message applied to value: * `Malformed string`, * `Field f not found in class C` * `Null pointer dereference` @@ -299,6 +305,9 @@

Method Details

}, ], "logLevel": "A String", # Indicates the severity of the log. Only relevant when action is `LOG`. + "labels": { # A set of custom breakpoint properties, populated by the agent, to be displayed to the user. + "a_key": "A String", + }, "finalTime": "A String", # Time this breakpoint was finalized as seen by the server in seconds resolution. "createTime": "A String", # Time this breakpoint was created by the server in seconds resolution. "stackFrames": [ # The stack at breakpoint time. @@ -393,7 +402,7 @@

Method Details

- set(debuggeeId, body, x__xgafv=None) + set(debuggeeId, body, clientVersion=None, x__xgafv=None)
Sets the breakpoint to the debuggee.
 
 Args:
@@ -414,7 +423,7 @@ 

Method Details

}, }, "logMessageFormat": "A String", # Only relevant when action is `LOG`. Defines the message to log when the breakpoint hits. The message may include parameter placeholders `$0`, `$1`, etc. These placeholders are replaced with the evaluated value of the appropriate expression. Expressions not referenced in `log_message_format` are not logged. Example: `Message received, id = $0, count = $1` with `expressions` = `[ message.id, message.count ]`. - "variableTable": [ # The `variable_table` exists to aid with computation, memory and network traffic optimization. It enables storing a variable once and reference it from multiple variables, including variables stored in the `variable_table` itself. For example, the same `this` object, which may appear at many levels of the stack, can have all of its data stored once in this table. The stack frame variables then would hold only a reference to it. The variable `var_table_index` field is an index into this repeated field. The stored objects are nameless and get their name from the referencing variable. The effective variable is a merge of the referencing veariable and the referenced variable. + "variableTable": [ # The `variable_table` exists to aid with computation, memory and network traffic optimization. It enables storing a variable once and reference it from multiple variables, including variables stored in the `variable_table` itself. For example, the same `this` object, which may appear at many levels of the stack, can have all of its data stored once in this table. The stack frame variables then would hold only a reference to it. The variable `var_table_index` field is an index into this repeated field. The stored objects are nameless and get their name from the referencing variable. The effective variable is a merge of the referencing variable and the referenced variable. { # Represents a variable or an argument possibly of a compound object type. Note how the following variables are represented: 1) A simple variable: int x = 5 { name: "x", value: "5", type: "int" } // Captured variable 2) A compound object: struct T { int m1; int m2; }; T x = { 3, 7 }; { // Captured variable name: "x", type: "T", members { name: "m1", value: "3", type: "int" }, members { name: "m2", value: "7", type: "int" } } 3) A pointer where the pointee was captured: T x = { 3, 7 }; T* p = &x; { // Captured variable name: "p", type: "T*", value: "0x00500500", members { name: "m1", value: "3", type: "int" }, members { name: "m2", value: "7", type: "int" } } 4) A pointer where the pointee was not captured: T* p = new T; { // Captured variable name: "p", type: "T*", value: "0x00400400" status { is_error: true, description { format: "unavailable" } } } The status should describe the reason for the missing value, such as ``, ``, ` # `. Note that a null pointer should not have members. 5) An unnamed value: int* p = new int(7); { // Captured variable name: "p", value: "0x00500500", type: "int*", members { value: "7", type: "int" } } 6) An unnamed pointer where the pointee was not captured: int* p = new int(7); int** pp = &p; { // Captured variable name: "pp", value: "0x00500500", type: "int**", members { value: "0x00400400", type: "int*" status { is_error: true, description: { format: "unavailable" } } } } } To optimize computation, memory and network traffic, variables that repeat in the output multiple times can be stored once in a shared variable table and be referenced using the `var_table_index` field. The variables stored in the shared table are nameless and are essentially a partition of the complete variable. To reconstruct the complete variable, merge the referencing variable with the referenced variable. When using the shared variable table, the following variables: T x = { 3, 7 }; T* p = &x; T& r = x; { name: "x", var_table_index: 3, type: "T" } // Captured variables { name: "p", value "0x00500500", type="T*", var_table_index: 3 } { name: "r", type="T&", var_table_index: 3 } { // Shared variable table entry #3: members { name: "m1", value: "3", type: "int" }, members { name: "m2", value: "7", type: "int" } } Note that the pointer address is stored with the referencing variable and not with the referenced variable. This allows the referenced variable to be shared between pointers and references. The type field is optional. The debugger agent may or may not support it. "status": { # Represents a contextual status message. The message can indicate an error or informational status, and refer to specific parts of the containing object. For example, the `Breakpoint.status` field can indicate an error referring to the `BREAKPOINT_SOURCE_LOCATION` with the message `Location not found`. # Status associated with the variable. This field will usually stay unset. A status of a single variable only applies to that variable or expression. The rest of breakpoint data still remains valid. Variables might be reported in error state even when breakpoint is not in final state. The message may refer to variable name with `refers_to` set to `VARIABLE_NAME`. Alternatively `refers_to` will be set to `VARIABLE_VALUE`. In either case variable value and members will be unset. Example of error message applied to name: `Invalid expression syntax`. Example of information message applied to value: `Not captured`. Examples of error message applied to value: * `Malformed string`, * `Field f not found in class C` * `Null pointer dereference` @@ -437,6 +446,9 @@

Method Details

}, ], "logLevel": "A String", # Indicates the severity of the log. Only relevant when action is `LOG`. + "labels": { # A set of custom breakpoint properties, populated by the agent, to be displayed to the user. + "a_key": "A String", + }, "finalTime": "A String", # Time this breakpoint was finalized as seen by the server in seconds resolution. "createTime": "A String", # Time this breakpoint was created by the server in seconds resolution. "stackFrames": [ # The stack at breakpoint time. @@ -527,6 +539,7 @@

Method Details

"condition": "A String", # Condition that triggers the breakpoint. The condition is a compound boolean expression composed using expressions in a programming language at the source location. } + clientVersion: string, The client version making the call. Following: `domain/type/version` (e.g., `google.com/intellij/v1`). x__xgafv: string, V1 error format. Returns: @@ -546,7 +559,7 @@

Method Details

}, }, "logMessageFormat": "A String", # Only relevant when action is `LOG`. Defines the message to log when the breakpoint hits. The message may include parameter placeholders `$0`, `$1`, etc. These placeholders are replaced with the evaluated value of the appropriate expression. Expressions not referenced in `log_message_format` are not logged. Example: `Message received, id = $0, count = $1` with `expressions` = `[ message.id, message.count ]`. - "variableTable": [ # The `variable_table` exists to aid with computation, memory and network traffic optimization. It enables storing a variable once and reference it from multiple variables, including variables stored in the `variable_table` itself. For example, the same `this` object, which may appear at many levels of the stack, can have all of its data stored once in this table. The stack frame variables then would hold only a reference to it. The variable `var_table_index` field is an index into this repeated field. The stored objects are nameless and get their name from the referencing variable. The effective variable is a merge of the referencing veariable and the referenced variable. + "variableTable": [ # The `variable_table` exists to aid with computation, memory and network traffic optimization. It enables storing a variable once and reference it from multiple variables, including variables stored in the `variable_table` itself. For example, the same `this` object, which may appear at many levels of the stack, can have all of its data stored once in this table. The stack frame variables then would hold only a reference to it. The variable `var_table_index` field is an index into this repeated field. The stored objects are nameless and get their name from the referencing variable. The effective variable is a merge of the referencing variable and the referenced variable. { # Represents a variable or an argument possibly of a compound object type. Note how the following variables are represented: 1) A simple variable: int x = 5 { name: "x", value: "5", type: "int" } // Captured variable 2) A compound object: struct T { int m1; int m2; }; T x = { 3, 7 }; { // Captured variable name: "x", type: "T", members { name: "m1", value: "3", type: "int" }, members { name: "m2", value: "7", type: "int" } } 3) A pointer where the pointee was captured: T x = { 3, 7 }; T* p = &x; { // Captured variable name: "p", type: "T*", value: "0x00500500", members { name: "m1", value: "3", type: "int" }, members { name: "m2", value: "7", type: "int" } } 4) A pointer where the pointee was not captured: T* p = new T; { // Captured variable name: "p", type: "T*", value: "0x00400400" status { is_error: true, description { format: "unavailable" } } } The status should describe the reason for the missing value, such as ``, ``, ` # `. Note that a null pointer should not have members. 5) An unnamed value: int* p = new int(7); { // Captured variable name: "p", value: "0x00500500", type: "int*", members { value: "7", type: "int" } } 6) An unnamed pointer where the pointee was not captured: int* p = new int(7); int** pp = &p; { // Captured variable name: "pp", value: "0x00500500", type: "int**", members { value: "0x00400400", type: "int*" status { is_error: true, description: { format: "unavailable" } } } } } To optimize computation, memory and network traffic, variables that repeat in the output multiple times can be stored once in a shared variable table and be referenced using the `var_table_index` field. The variables stored in the shared table are nameless and are essentially a partition of the complete variable. To reconstruct the complete variable, merge the referencing variable with the referenced variable. When using the shared variable table, the following variables: T x = { 3, 7 }; T* p = &x; T& r = x; { name: "x", var_table_index: 3, type: "T" } // Captured variables { name: "p", value "0x00500500", type="T*", var_table_index: 3 } { name: "r", type="T&", var_table_index: 3 } { // Shared variable table entry #3: members { name: "m1", value: "3", type: "int" }, members { name: "m2", value: "7", type: "int" } } Note that the pointer address is stored with the referencing variable and not with the referenced variable. This allows the referenced variable to be shared between pointers and references. The type field is optional. The debugger agent may or may not support it. "status": { # Represents a contextual status message. The message can indicate an error or informational status, and refer to specific parts of the containing object. For example, the `Breakpoint.status` field can indicate an error referring to the `BREAKPOINT_SOURCE_LOCATION` with the message `Location not found`. # Status associated with the variable. This field will usually stay unset. A status of a single variable only applies to that variable or expression. The rest of breakpoint data still remains valid. Variables might be reported in error state even when breakpoint is not in final state. The message may refer to variable name with `refers_to` set to `VARIABLE_NAME`. Alternatively `refers_to` will be set to `VARIABLE_VALUE`. In either case variable value and members will be unset. Example of error message applied to name: `Invalid expression syntax`. Example of information message applied to value: `Not captured`. Examples of error message applied to value: * `Malformed string`, * `Field f not found in class C` * `Null pointer dereference` @@ -569,6 +582,9 @@

Method Details

}, ], "logLevel": "A String", # Indicates the severity of the log. Only relevant when action is `LOG`. + "labels": { # A set of custom breakpoint properties, populated by the agent, to be displayed to the user. + "a_key": "A String", + }, "finalTime": "A String", # Time this breakpoint was finalized as seen by the server in seconds resolution. "createTime": "A String", # Time this breakpoint was created by the server in seconds resolution. "stackFrames": [ # The stack at breakpoint time. diff --git a/docs/dyn/clouddebugger_v2.debugger.debuggees.html b/docs/dyn/clouddebugger_v2.debugger.debuggees.html index 950273682fd..06bf7c5d5ad 100644 --- a/docs/dyn/clouddebugger_v2.debugger.debuggees.html +++ b/docs/dyn/clouddebugger_v2.debugger.debuggees.html @@ -80,14 +80,15 @@

Instance Methods

Returns the breakpoints Resource.

- list(includeInactive=None, project=None, x__xgafv=None)

+ list(clientVersion=None, includeInactive=None, project=None, x__xgafv=None)

Lists all the debuggees that the user can set breakpoints to.

Method Details

- list(includeInactive=None, project=None, x__xgafv=None) + list(clientVersion=None, includeInactive=None, project=None, x__xgafv=None)
Lists all the debuggees that the user can set breakpoints to.
 
 Args:
+  clientVersion: string, The client version making the call. Following: `domain/type/version` (e.g., `google.com/intellij/v1`).
   includeInactive: boolean, When set to `true`, the result includes all debuggees. Otherwise, the result includes only debuggees that are active.
   project: string, Project number of a Google Cloud project whose debuggees to list.
   x__xgafv: string, V1 error format.
diff --git a/docs/dyn/clouderrorreporting_v1beta1.html b/docs/dyn/clouderrorreporting_v1beta1.html
new file mode 100644
index 00000000000..af57363d34a
--- /dev/null
+++ b/docs/dyn/clouderrorreporting_v1beta1.html
@@ -0,0 +1,103 @@
+
+
+
+

Stackdriver Error Reporting API

+

Instance Methods

+

+ projects() +

+

Returns the projects Resource.

+ +

+ new_batch_http_request()

+

Create a BatchHttpRequest object based on the discovery document.

+

Method Details

+
+ new_batch_http_request() +
Create a BatchHttpRequest object based on the discovery document.
+
+        Args:
+          callback: callable, A callback to be called for each response, of the
+            form callback(id, response, exception). The first parameter is the
+            request id, and the second is the deserialized response object. The
+            third is an apiclient.errors.HttpError exception object if an HTTP
+            error occurred while processing the request, or None if no error
+            occurred.
+
+        Returns:
+          A BatchHttpRequest object based on the discovery document.
+        
+
+ + \ No newline at end of file diff --git a/docs/dyn/clouderrorreporting_v1beta1.projects.events.html b/docs/dyn/clouderrorreporting_v1beta1.projects.events.html new file mode 100644 index 00000000000..5a8d70cf5ce --- /dev/null +++ b/docs/dyn/clouderrorreporting_v1beta1.projects.events.html @@ -0,0 +1,194 @@ + + + +

Stackdriver Error Reporting API . projects . events

+

Instance Methods

+

+ list(projectName=None, pageSize=None, x__xgafv=None, timeRange_period=None, pageToken=None, serviceFilter_version=None, serviceFilter_service=None, groupId=None)

+

Lists the specified events.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

Method Details

+
+ list(projectName=None, pageSize=None, x__xgafv=None, timeRange_period=None, pageToken=None, serviceFilter_version=None, serviceFilter_service=None, groupId=None) +
Lists the specified events.
+
+Args:
+  projectName: string, The resource name of the Google Cloud Platform project. Required.
+Example: projects/my-project (required)
+  pageSize: integer, The maximum number of results to return per response.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+  timeRange_period: string, Restricts the query to the specified time range.
+  pageToken: string, A `next_page_token` provided by a previous response.
+  serviceFilter_version: string, The exact value to match against
+[`ServiceContext.version`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.version).
+  serviceFilter_service: string, The exact value to match against
+[`ServiceContext.service`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.service).
+  groupId: string, The group for which events shall be returned. Required.
+
+Returns:
+  An object of the form:
+
+    { # Contains a set of requested error events.
+    "nextPageToken": "A String", # If non-empty, more results are available.
+        # Pass this token, along with the same query parameters as the first
+        # request, to view the next page of results.
+    "errorEvents": [ # The error events which match the given request.
+      { # An error event which is returned by the Error Reporting system.
+        "serviceContext": { # Describes a running service that sends errors. # The service_context for which this error was reported.
+            # Its version changes over time and multiple versions can run in parallel.
+          "version": "A String", # Represents the source code version that the developer provided,
+              # which could represent a version label or a Git SHA-1 hash, for example.
+          "service": "A String", # An identifier of the service, such as the name of the executable, job, or
+              # Google App Engine module name. This field is expected to have a low number
+              # of values that are relatively stable over time, as opposed to
+              # `version`, which can be changed whenever new code is deployed.
+              #
+              # Contains the module name for error reports extracted from Google
+              # App Engine logs or `default` if the App Engine default module is used.
+        },
+        "eventTime": "A String", # Time when the event occurred as provided in the error report.
+            # If the report did not contain a timestamp, the time the error was received
+            # by the Error Reporting system is used.
+        "message": "A String", # The stack trace that was reported or logged by the service.
+        "context": { # A description of the context in which an error occurred. # Data about the context in which the error occurred.
+            # This data should be provided by the application when reporting an error,
+            # unless the
+            # error report has been generated automatically from Google App Engine logs.
+            # All fields are optional.
+          "httpRequest": { # HTTP request data that is related to a reported error. # The HTTP request which was processed when the error was triggered.
+              # This data should be provided by the application when reporting an error,
+              # unless the
+              # error report has been generated automatically from Google App Engine logs.
+              # All fields are optional.
+            "responseStatusCode": 42, # The HTTP response status code for the request.
+            "url": "A String", # The URL of the request.
+            "referrer": "A String", # The referrer information that is provided with the request.
+            "remoteIp": "A String", # The IP address from which the request originated.
+                # This can be IPv4, IPv6, or a token which is derived from the
+                # IP address, depending on the data that has been provided
+                # in the error report.
+            "userAgent": "A String", # The user agent information that is provided with the request.
+            "method": "A String", # The type of HTTP request, such as `GET`, `POST`, etc.
+          },
+          "reportLocation": { # Indicates a location in the source code of the service for which # The location in the source code where the decision was made to
+              # report the error, usually the place where it was logged.
+              # For a logged exception this would be the source line where the
+              # exception is logged, usually close to the place where it was
+              # caught. This value is in contrast to `Exception.cause_location`,
+              # which describes the source line where the exception was thrown.
+              # errors are reported.
+              # This data should be provided by the application when reporting an error,
+              # unless the error report has been generated automatically from Google App
+              # Engine logs. All fields are optional.
+            "lineNumber": 42, # 1-based. 0 indicates that the line number is unknown.
+            "functionName": "A String", # Human-readable name of a function or method.
+                # The value can include optional context like the class or package name.
+                # For example, `my.package.MyClass.method` in case of Java.
+            "filePath": "A String", # The source code filename, which can include a truncated relative path, or
+                # a full path from a production machine.
+          },
+          "user": "A String", # The user who caused or was affected by the crash.
+              # This can be a user ID, an email address, or an arbitrary token that
+              # uniquely identifies the user.
+              # When sending an error report, leave this field empty if the user was not
+              # logged in. In this case the
+              # Error Reporting system will use other data, such as remote IP address, to
+              # distinguish affected users. See `affected_users_count` in
+              # `ErrorGroupStats`.
+        },
+      },
+    ],
+  }
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    
+
+ + \ No newline at end of file diff --git a/docs/dyn/clouderrorreporting_v1beta1.projects.groupStats.html b/docs/dyn/clouderrorreporting_v1beta1.projects.groupStats.html new file mode 100644 index 00000000000..71d4da8e190 --- /dev/null +++ b/docs/dyn/clouderrorreporting_v1beta1.projects.groupStats.html @@ -0,0 +1,278 @@ + + + +

Stackdriver Error Reporting API . projects . groupStats

+

Instance Methods

+

+ list(projectName=None, alignmentTime=None, pageSize=None, x__xgafv=None, alignment=None, timedCountDuration=None, timeRange_period=None, pageToken=None, serviceFilter_version=None, serviceFilter_service=None, groupId=None, order=None)

+

Lists the specified groups.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

Method Details

+
+ list(projectName=None, alignmentTime=None, pageSize=None, x__xgafv=None, alignment=None, timedCountDuration=None, timeRange_period=None, pageToken=None, serviceFilter_version=None, serviceFilter_service=None, groupId=None, order=None) +
Lists the specified groups.
+
+Args:
+  projectName: string, The resource name of the Google Cloud Platform project. Written as
+`projects/` plus the
+[Google Cloud Platform project ID](https://support.google.com/cloud/answer/6158840).
+Required. Example: `projects/my-project-123`. (required)
+  alignmentTime: string, Time where the timed counts shall be aligned if rounded alignment
+is chosen. Default is 00:00 UTC.
+  pageSize: integer, The maximum number of results to return per response.
+Default is 20.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+  alignment: string, The alignment of the timed counts to be returned.
+Default is `ALIGNMENT_EQUAL_AT_END`.
+  timedCountDuration: string, The preferred duration for a single returned `TimedCount`.
+If not set, no timed counts are returned.
+  timeRange_period: string, Restricts the query to the specified time range.
+  pageToken: string, A `next_page_token` provided by a previous response. To view additional
+results, pass this token along with the identical query parameters as the
+first request.
+  serviceFilter_version: string, The exact value to match against
+[`ServiceContext.version`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.version).
+  serviceFilter_service: string, The exact value to match against
+[`ServiceContext.service`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.service).
+  groupId: string, List all `ErrorGroupStats` with these IDs.
+If not specified, all error group stats with a non-zero error count
+for the given selection criteria are returned. (repeated)
+  order: string, The sort order in which the results are returned.
+Default is `COUNT_DESC`.
+
+Returns:
+  An object of the form:
+
+    { # Contains a set of requested error group stats.
+    "nextPageToken": "A String", # If non-empty, more results are available.
+        # Pass this token, along with the same query parameters as the first
+        # request, to view the next page of results.
+    "errorGroupStats": [ # The error group stats which match the given request.
+      { # Data extracted for a specific group based on certain selection criteria,
+          # such as a given time period and/or service filter.
+        "count": "A String", # Approximate total number of events in the given group that match
+            # the selection criteria.
+        "firstSeenTime": "A String", # Approximate first occurrence that was seen for this group and
+            # which matches the given selection criteria.
+        "affectedUsersCount": "A String", # Approximate number of affected users in the given group that
+            # match the selection criteria.
+            # Users are distinguished by data in the `ErrorContext` of the
+            # individual error events, such as their login name or their remote
+            # IP address in case of HTTP requests.
+            # The number of affected users can be zero even if the number of
+            # errors is non-zero if no data was provided from which the
+            # affected user could be deduced.
+            # Users are counted based on data in the request
+            # context that was provided in the error report. If more users are
+            # implicitly affected, such as due to a crash of the whole service,
+            # this is not reflected here.
+        "group": { # Description of a group of similar error events. # Group data that is independent of the selection criteria.
+          "trackingIssues": [ # Associated tracking issues.
+            { # Information related to tracking the progress on resolving the error.
+              "url": "A String", # A URL pointing to a related entry in an issue tracking system.
+                  # Example: https://github.com/user/project/issues/4
+            },
+          ],
+          "groupId": "A String", # Group IDs are unique for a given project. If the same kind of error
+              # occurs in different service contexts, it will receive the same group ID.
+          "name": "A String", # Group resource name.
+              # Example: `projects/my-project-123/groups/my-groupid`
+        },
+        "timedCounts": [ # Approximate number of occurrences over time.
+            # Timed counts returned by ListGroups are guaranteed to be:
+            #
+            # - Inside the requested time interval
+            # - Non-overlapping, and
+            # - Ordered by ascending time.
+          { # The number of errors in a given time period.
+              # All numbers are approximate since the error events are sampled
+              # before counting them.
+            "count": "A String", # Approximate number of occurrences in the given time period.
+            "endTime": "A String", # End of the time period to which `count` refers (excluded).
+            "startTime": "A String", # Start of the time period to which `count` refers (included).
+          },
+        ],
+        "lastSeenTime": "A String", # Approximate last occurrence that was seen for this group
+            # and which matches the given selection criteria.
+        "representative": { # An error event which is returned by the Error Reporting system. # An arbitrary event that is chosen as representative for the whole group.
+            # The representative event is intended to be used as a quick preview for
+            # the whole group. Events in the group are usually sufficiently similar
+            # to each other such that showing an arbitrary representative provides
+            # insight into the characteristics of the group as a whole.
+          "serviceContext": { # Describes a running service that sends errors. # The service_context for which this error was reported.
+              # Its version changes over time and multiple versions can run in parallel.
+            "version": "A String", # Represents the source code version that the developer provided,
+                # which could represent a version label or a Git SHA-1 hash, for example.
+            "service": "A String", # An identifier of the service, such as the name of the executable, job, or
+                # Google App Engine module name. This field is expected to have a low number
+                # of values that are relatively stable over time, as opposed to
+                # `version`, which can be changed whenever new code is deployed.
+                #
+                # Contains the module name for error reports extracted from Google
+                # App Engine logs or `default` if the App Engine default module is used.
+          },
+          "eventTime": "A String", # Time when the event occurred as provided in the error report.
+              # If the report did not contain a timestamp, the time the error was received
+              # by the Error Reporting system is used.
+          "message": "A String", # The stack trace that was reported or logged by the service.
+          "context": { # A description of the context in which an error occurred. # Data about the context in which the error occurred.
+              # This data should be provided by the application when reporting an error,
+              # unless the
+              # error report has been generated automatically from Google App Engine logs.
+              # All fields are optional.
+            "httpRequest": { # HTTP request data that is related to a reported error. # The HTTP request which was processed when the error was triggered.
+                # This data should be provided by the application when reporting an error,
+                # unless the
+                # error report has been generated automatically from Google App Engine logs.
+                # All fields are optional.
+              "responseStatusCode": 42, # The HTTP response status code for the request.
+              "url": "A String", # The URL of the request.
+              "referrer": "A String", # The referrer information that is provided with the request.
+              "remoteIp": "A String", # The IP address from which the request originated.
+                  # This can be IPv4, IPv6, or a token which is derived from the
+                  # IP address, depending on the data that has been provided
+                  # in the error report.
+              "userAgent": "A String", # The user agent information that is provided with the request.
+              "method": "A String", # The type of HTTP request, such as `GET`, `POST`, etc.
+            },
+            "reportLocation": { # Indicates a location in the source code of the service for which # The location in the source code where the decision was made to
+                # report the error, usually the place where it was logged.
+                # For a logged exception this would be the source line where the
+                # exception is logged, usually close to the place where it was
+                # caught. This value is in contrast to `Exception.cause_location`,
+                # which describes the source line where the exception was thrown.
+                # errors are reported.
+                # This data should be provided by the application when reporting an error,
+                # unless the error report has been generated automatically from Google App
+                # Engine logs. All fields are optional.
+              "lineNumber": 42, # 1-based. 0 indicates that the line number is unknown.
+              "functionName": "A String", # Human-readable name of a function or method.
+                  # The value can include optional context like the class or package name.
+                  # For example, `my.package.MyClass.method` in case of Java.
+              "filePath": "A String", # The source code filename, which can include a truncated relative path, or
+                  # a full path from a production machine.
+            },
+            "user": "A String", # The user who caused or was affected by the crash.
+                # This can be a user ID, an email address, or an arbitrary token that
+                # uniquely identifies the user.
+                # When sending an error report, leave this field empty if the user was not
+                # logged in. In this case the
+                # Error Reporting system will use other data, such as remote IP address, to
+                # distinguish affected users. See `affected_users_count` in
+                # `ErrorGroupStats`.
+          },
+        },
+        "numAffectedServices": 42, # The total number of services with a non-zero error count for the given
+            # selection criteria.
+        "affectedServices": [ # Service contexts with a non-zero error count for the given selection
+            # criteria. This list can be truncated if multiple services are affected.
+            # Refer to `num_affected_services` for the total count.
+          { # Describes a running service that sends errors.
+              # Its version changes over time and multiple versions can run in parallel.
+            "version": "A String", # Represents the source code version that the developer provided,
+                # which could represent a version label or a Git SHA-1 hash, for example.
+            "service": "A String", # An identifier of the service, such as the name of the executable, job, or
+                # Google App Engine module name. This field is expected to have a low number
+                # of values that are relatively stable over time, as opposed to
+                # `version`, which can be changed whenever new code is deployed.
+                #
+                # Contains the module name for error reports extracted from Google
+                # App Engine logs or `default` if the App Engine default module is used.
+          },
+        ],
+      },
+    ],
+  }
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    
+
+ + \ No newline at end of file diff --git a/docs/dyn/clouderrorreporting_v1beta1.projects.groups.html b/docs/dyn/clouderrorreporting_v1beta1.projects.groups.html new file mode 100644 index 00000000000..110d180cf82 --- /dev/null +++ b/docs/dyn/clouderrorreporting_v1beta1.projects.groups.html @@ -0,0 +1,159 @@ + + + +

Stackdriver Error Reporting API . projects . groups

+

Instance Methods

+

+ get(groupName=None, x__xgafv=None)

+

Get the specified group.

+

+ update(name=None, body, x__xgafv=None)

+

Replace the data for the specified group.

+

Method Details

+
+ get(groupName=None, x__xgafv=None) +
Get the specified group.
+
+Args:
+  groupName: string, Group resource name. Required.
+Example: `projects/my-project-123/groups/my-group` (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Description of a group of similar error events.
+    "trackingIssues": [ # Associated tracking issues.
+      { # Information related to tracking the progress on resolving the error.
+        "url": "A String", # A URL pointing to a related entry in an issue tracking system.
+            # Example: https://github.com/user/project/issues/4
+      },
+    ],
+    "groupId": "A String", # Group IDs are unique for a given project. If the same kind of error
+        # occurs in different service contexts, it will receive the same group ID.
+    "name": "A String", # Group resource name.
+        # Example: `projects/my-project-123/groups/my-groupid`
+  }
+
+ +
+ update(name=None, body, x__xgafv=None) +
Replace the data for the specified group.
+Fails if the group does not exist.
+
+Args:
+  name: string, Group resource name.
+Example: `projects/my-project-123/groups/my-groupid` (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Description of a group of similar error events.
+  "trackingIssues": [ # Associated tracking issues.
+    { # Information related to tracking the progress on resolving the error.
+      "url": "A String", # A URL pointing to a related entry in an issue tracking system.
+          # Example: https://github.com/user/project/issues/4
+    },
+  ],
+  "groupId": "A String", # Group IDs are unique for a given project. If the same kind of error
+      # occurs in different service contexts, it will receive the same group ID.
+  "name": "A String", # Group resource name.
+      # Example: `projects/my-project-123/groups/my-groupid`
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Description of a group of similar error events.
+    "trackingIssues": [ # Associated tracking issues.
+      { # Information related to tracking the progress on resolving the error.
+        "url": "A String", # A URL pointing to a related entry in an issue tracking system.
+            # Example: https://github.com/user/project/issues/4
+      },
+    ],
+    "groupId": "A String", # Group IDs are unique for a given project. If the same kind of error
+        # occurs in different service contexts, it will receive the same group ID.
+    "name": "A String", # Group resource name.
+        # Example: `projects/my-project-123/groups/my-groupid`
+  }
+
+ + \ No newline at end of file diff --git a/docs/dyn/clouderrorreporting_v1beta1.projects.html b/docs/dyn/clouderrorreporting_v1beta1.projects.html new file mode 100644 index 00000000000..15d6c6de65e --- /dev/null +++ b/docs/dyn/clouderrorreporting_v1beta1.projects.html @@ -0,0 +1,115 @@ + + + +

Stackdriver Error Reporting API . projects

+

Instance Methods

+

+ events() +

+

Returns the events Resource.

+ +

+ groupStats() +

+

Returns the groupStats Resource.

+ +

+ groups() +

+

Returns the groups Resource.

+ +

+ deleteEvents(projectName=None, x__xgafv=None)

+

Deletes all error events of a given project.

+

Method Details

+
+ deleteEvents(projectName=None, x__xgafv=None) +
Deletes all error events of a given project.
+
+Args:
+  projectName: string, The resource name of the Google Cloud Platform project. Required.
+Example: `projects/my-project`. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response message for deleting error events.
+  }
+
+ + \ No newline at end of file diff --git a/docs/dyn/cloudresourcemanager_v1.html b/docs/dyn/cloudresourcemanager_v1.html new file mode 100644 index 00000000000..c4d7b0fd9b7 --- /dev/null +++ b/docs/dyn/cloudresourcemanager_v1.html @@ -0,0 +1,103 @@ + + + +

Google Cloud Resource Manager API

+

Instance Methods

+

+ projects() +

+

Returns the projects Resource.

+ +

+ new_batch_http_request()

+

Create a BatchHttpRequest object based on the discovery document.

+

Method Details

+
+ new_batch_http_request() +
Create a BatchHttpRequest object based on the discovery document.
+
+        Args:
+          callback: callable, A callback to be called for each response, of the
+            form callback(id, response, exception). The first parameter is the
+            request id, and the second is the deserialized response object. The
+            third is an apiclient.errors.HttpError exception object if an HTTP
+            error occurred while processing the request, or None if no error
+            occurred.
+
+        Returns:
+          A BatchHttpRequest object based on the discovery document.
+        
+
+ + \ No newline at end of file diff --git a/docs/dyn/cloudresourcemanager_v1.projects.html b/docs/dyn/cloudresourcemanager_v1.projects.html new file mode 100644 index 00000000000..37b48d8736c --- /dev/null +++ b/docs/dyn/cloudresourcemanager_v1.projects.html @@ -0,0 +1,362 @@ + + + +

Google Cloud Resource Manager API . projects

+

Instance Methods

+

+ delete(projectId, x__xgafv=None)

+

Marks the Project identified by the specified `project_id` (for example, `my-project-123`) for deletion. This method will only affect the Project if the following criteria are met: + The Project does not have a billing account associated with it. + The Project has a lifecycle state of ACTIVE. This method changes the Project's lifecycle state from ACTIVE to DELETE_REQUESTED. The deletion starts at an unspecified time, at which point the lifecycle state changes to DELETE_IN_PROGRESS. Until the deletion completes, you can check the lifecycle state checked by retrieving the Project with GetProject, and the Project remains visible to ListProjects. However, you cannot update the project. After the deletion completes, the Project is not retrievable by the GetProject and ListProjects methods. The caller must have modify permissions for this Project.

+

+ get(projectId, x__xgafv=None)

+

Retrieves the Project identified by the specified `project_id` (for example, `my-project-123`). The caller must have read permissions for this Project.

+

+ getIamPolicy(resource, body, x__xgafv=None)

+

Returns the IAM access control policy for the specified Project. Permission is denied if the policy or the resource does not exist.

+

+ list(pageSize=None, filter=None, pageToken=None, x__xgafv=None)

+

Lists Projects that are visible to the user and satisfy the specified filter. This method returns Projects in an unspecified order. New Projects do not necessarily appear at the end of the list.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

+ setIamPolicy(resource, body, x__xgafv=None)

+

Sets the IAM access control policy for the specified Project. Replaces any existing policy. The following constraints apply when using `setIamPolicy()`: + Project currently supports only `user:{emailid}` and `serviceAccount:{emailid}` members in a `Binding` of a `Policy`. + To be added as an `owner`, a user must be invited via Cloud Platform console and must accept the invitation. + Members cannot be added to more than one role in the same policy. + There must be at least one owner who has accepted the Terms of Service (ToS) agreement in the policy. Calling `setIamPolicy()` to to remove the last ToS-accepted owner from the policy will fail. + Calling this method requires enabling the App Engine Admin API. Note: Removing service accounts from policies or changing their roles can render services completely inoperable. It is important to understand how the service account is being used before removing or updating its roles.

+

+ testIamPermissions(resource, body, x__xgafv=None)

+

Returns permissions that a caller has on the specified Project.

+

+ undelete(projectId, body, x__xgafv=None)

+

Restores the Project identified by the specified `project_id` (for example, `my-project-123`). You can only use this method for a Project that has a lifecycle state of DELETE_REQUESTED. After deletion starts, as indicated by a lifecycle state of DELETE_IN_PROGRESS, the Project cannot be restored. The caller must have modify permissions for this Project.

+

+ update(projectId, body, x__xgafv=None)

+

Updates the attributes of the Project identified by the specified `project_id` (for example, `my-project-123`). The caller must have modify permissions for this Project.

+

Method Details

+
+ delete(projectId, x__xgafv=None) +
Marks the Project identified by the specified `project_id` (for example, `my-project-123`) for deletion. This method will only affect the Project if the following criteria are met: + The Project does not have a billing account associated with it. + The Project has a lifecycle state of ACTIVE. This method changes the Project's lifecycle state from ACTIVE to DELETE_REQUESTED. The deletion starts at an unspecified time, at which point the lifecycle state changes to DELETE_IN_PROGRESS. Until the deletion completes, you can check the lifecycle state checked by retrieving the Project with GetProject, and the Project remains visible to ListProjects. However, you cannot update the project. After the deletion completes, the Project is not retrievable by the GetProject and ListProjects methods. The caller must have modify permissions for this Project.
+
+Args:
+  projectId: string, The Project ID (for example, `foo-bar-123`). Required. (required)
+  x__xgafv: string, V1 error format.
+
+Returns:
+  An object of the form:
+
+    { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.
+  }
+
+ +
+ get(projectId, x__xgafv=None) +
Retrieves the Project identified by the specified `project_id` (for example, `my-project-123`). The caller must have read permissions for this Project.
+
+Args:
+  projectId: string, The Project ID (for example, `my-project-123`). Required. (required)
+  x__xgafv: string, V1 error format.
+
+Returns:
+  An object of the form:
+
+    { # A Project is a high-level Google Cloud Platform entity. It is a container for ACLs, APIs, AppEngine Apps, VMs, and other Google Cloud Platform resources.
+    "name": "A String", # The user-assigned name of the Project. It must be 4 to 30 characters. Allowed characters are: lowercase and uppercase letters, numbers, hyphen, single-quote, double-quote, space, and exclamation point. Example: My Project Read-write.
+    "parent": { # A container to reference an id for any resource type. A `resource` in Google Cloud Platform is a generic term for something you (a developer) may want to interact with through one of our API's. Some examples are an AppEngine app, a Compute Engine instance, a Cloud SQL database, and so on. # An optional reference to a parent Resource. The only supported parent type is "organization". Once set, the parent cannot be modified. Read-write.
+      "type": "A String", # Required field representing the resource type this id is for. At present, the only valid type is "organization".
+      "id": "A String", # Required field for the type-specific id. This should correspond to the id used in the type-specific API's.
+    },
+    "projectId": "A String", # The unique, user-assigned ID of the Project. It must be 6 to 30 lowercase letters, digits, or hyphens. It must start with a letter. Trailing hyphens are prohibited. Example: tokyo-rain-123 Read-only after creation.
+    "labels": { # The labels associated with this Project. Label keys must be between 1 and 63 characters long and must conform to the following regular expression: \[a-z\](\[-a-z0-9\]*\[a-z0-9\])?. Label values must be between 0 and 63 characters long and must conform to the regular expression (\[a-z\](\[-a-z0-9\]*\[a-z0-9\])?)?. No more than 256 labels can be associated with a given resource. Clients should store labels in a representation such as JSON that does not depend on specific characters being disallowed. Example: "environment" : "dev" Read-write.
+      "a_key": "A String",
+    },
+    "projectNumber": "A String", # The number uniquely identifying the project. Example: 415104041262 Read-only.
+    "lifecycleState": "A String", # The Project lifecycle state. Read-only.
+    "createTime": "A String", # Creation time. Read-only.
+  }
+
+ +
+ getIamPolicy(resource, body, x__xgafv=None) +
Returns the IAM access control policy for the specified Project. Permission is denied if the policy or the resource does not exist.
+
+Args:
+  resource: string, REQUIRED: The resource for which the policy is being requested. `resource` is usually specified as a path, such as `projects/*project*/zones/*zone*/disks/*disk*`. The format for the path specified in this value is resource specific and is specified in the `getIamPolicy` documentation. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Request message for `GetIamPolicy` method.
+  }
+
+  x__xgafv: string, V1 error format.
+
+Returns:
+  An object of the form:
+
+    { # Defines an Identity and Access Management (IAM) policy. It is used to specify access control policies for Cloud Platform resources. A `Policy` consists of a list of `bindings`. A `Binding` binds a list of `members` to a `role`, where the members can be user accounts, Google groups, Google domains, and service accounts. A `role` is a named list of permissions defined by IAM. **Example** { "bindings": [ { "role": "roles/owner", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@appspot.gserviceaccount.com", ] }, { "role": "roles/viewer", "members": ["user:sean@example.com"] } ] } For a description of IAM and its features, see the [IAM developer's guide](https://cloud.google.com/iam).
+    "bindings": [ # Associates a list of `members` to a `role`. Multiple `bindings` must not be specified for the same `role`. `bindings` with no members will result in an error.
+      { # Associates `members` with a `role`.
+        "role": "A String", # Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. Required
+        "members": [ # Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@gmail.com` or `joe@example.com`. * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: A Google Apps domain name that represents all the users of that domain. For example, `google.com` or `example.com`.
+          "A String",
+        ],
+      },
+    ],
+    "version": 42, # Version of the `Policy`. The default version is 0.
+    "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. If no `etag` is provided in the call to `setIamPolicy`, then the existing policy is overwritten blindly.
+  }
+
+ +
+ list(pageSize=None, filter=None, pageToken=None, x__xgafv=None) +
Lists Projects that are visible to the user and satisfy the specified filter. This method returns Projects in an unspecified order. New Projects do not necessarily appear at the end of the list.
+
+Args:
+  pageSize: integer, The maximum number of Projects to return in the response. The server can return fewer Projects than requested. If unspecified, server picks an appropriate default. Optional.
+  filter: string, An expression for filtering the results of the request. Filter rules are case insensitive. The fields eligible for filtering are: + `name` + `id` + labels.key where *key* is the name of a label Some examples of using labels as filters: |Filter|Description| |------|-----------| |name:*|The project has a name.| |name:Howl|The project's name is `Howl` or `howl`.| |name:HOWL|Equivalent to above.| |NAME:howl|Equivalent to above.| |labels.color:*|The project has the label `color`.| |labels.color:red|The project's label `color` has the value `red`.| |labels.color:red label.size:big|The project's label `color` has the value `red` and its label `size` has the value `big`. Optional.
+  pageToken: string, A pagination token returned from a previous call to ListProjects that indicates from where listing should continue. Optional.
+  x__xgafv: string, V1 error format.
+
+Returns:
+  An object of the form:
+
+    { # A page of the response received from the ListProjects method. A paginated response where more pages are available has `next_page_token` set. This token can be used in a subsequent request to retrieve the next request page.
+    "nextPageToken": "A String", # Pagination token. If the result set is too large to fit in a single response, this token is returned. It encodes the position of the current result cursor. Feeding this value into a new list request with the `page_token` parameter gives the next page of the results. When `next_page_token` is not filled in, there is no next page and the list returned is the last page in the result set. Pagination tokens have a limited lifetime.
+    "projects": [ # The list of Projects that matched the list filter. This list can be paginated.
+      { # A Project is a high-level Google Cloud Platform entity. It is a container for ACLs, APIs, AppEngine Apps, VMs, and other Google Cloud Platform resources.
+        "name": "A String", # The user-assigned name of the Project. It must be 4 to 30 characters. Allowed characters are: lowercase and uppercase letters, numbers, hyphen, single-quote, double-quote, space, and exclamation point. Example: My Project Read-write.
+        "parent": { # A container to reference an id for any resource type. A `resource` in Google Cloud Platform is a generic term for something you (a developer) may want to interact with through one of our API's. Some examples are an AppEngine app, a Compute Engine instance, a Cloud SQL database, and so on. # An optional reference to a parent Resource. The only supported parent type is "organization". Once set, the parent cannot be modified. Read-write.
+          "type": "A String", # Required field representing the resource type this id is for. At present, the only valid type is "organization".
+          "id": "A String", # Required field for the type-specific id. This should correspond to the id used in the type-specific API's.
+        },
+        "projectId": "A String", # The unique, user-assigned ID of the Project. It must be 6 to 30 lowercase letters, digits, or hyphens. It must start with a letter. Trailing hyphens are prohibited. Example: tokyo-rain-123 Read-only after creation.
+        "labels": { # The labels associated with this Project. Label keys must be between 1 and 63 characters long and must conform to the following regular expression: \[a-z\](\[-a-z0-9\]*\[a-z0-9\])?. Label values must be between 0 and 63 characters long and must conform to the regular expression (\[a-z\](\[-a-z0-9\]*\[a-z0-9\])?)?. No more than 256 labels can be associated with a given resource. Clients should store labels in a representation such as JSON that does not depend on specific characters being disallowed. Example: "environment" : "dev" Read-write.
+          "a_key": "A String",
+        },
+        "projectNumber": "A String", # The number uniquely identifying the project. Example: 415104041262 Read-only.
+        "lifecycleState": "A String", # The Project lifecycle state. Read-only.
+        "createTime": "A String", # Creation time. Read-only.
+      },
+    ],
+  }
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    
+
+ +
+ setIamPolicy(resource, body, x__xgafv=None) +
Sets the IAM access control policy for the specified Project. Replaces any existing policy. The following constraints apply when using `setIamPolicy()`: + Project currently supports only `user:{emailid}` and `serviceAccount:{emailid}` members in a `Binding` of a `Policy`. + To be added as an `owner`, a user must be invited via Cloud Platform console and must accept the invitation. + Members cannot be added to more than one role in the same policy. + There must be at least one owner who has accepted the Terms of Service (ToS) agreement in the policy. Calling `setIamPolicy()` to to remove the last ToS-accepted owner from the policy will fail. + Calling this method requires enabling the App Engine Admin API. Note: Removing service accounts from policies or changing their roles can render services completely inoperable. It is important to understand how the service account is being used before removing or updating its roles.
+
+Args:
+  resource: string, REQUIRED: The resource for which the policy is being specified. `resource` is usually specified as a path, such as `projects/*project*/zones/*zone*/disks/*disk*`. The format for the path specified in this value is resource specific and is specified in the `setIamPolicy` documentation. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Request message for `SetIamPolicy` method.
+    "policy": { # Defines an Identity and Access Management (IAM) policy. It is used to specify access control policies for Cloud Platform resources. A `Policy` consists of a list of `bindings`. A `Binding` binds a list of `members` to a `role`, where the members can be user accounts, Google groups, Google domains, and service accounts. A `role` is a named list of permissions defined by IAM. **Example** { "bindings": [ { "role": "roles/owner", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@appspot.gserviceaccount.com", ] }, { "role": "roles/viewer", "members": ["user:sean@example.com"] } ] } For a description of IAM and its features, see the [IAM developer's guide](https://cloud.google.com/iam). # REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them.
+      "bindings": [ # Associates a list of `members` to a `role`. Multiple `bindings` must not be specified for the same `role`. `bindings` with no members will result in an error.
+        { # Associates `members` with a `role`.
+          "role": "A String", # Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. Required
+          "members": [ # Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@gmail.com` or `joe@example.com`. * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: A Google Apps domain name that represents all the users of that domain. For example, `google.com` or `example.com`.
+            "A String",
+          ],
+        },
+      ],
+      "version": 42, # Version of the `Policy`. The default version is 0.
+      "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. If no `etag` is provided in the call to `setIamPolicy`, then the existing policy is overwritten blindly.
+    },
+  }
+
+  x__xgafv: string, V1 error format.
+
+Returns:
+  An object of the form:
+
+    { # Defines an Identity and Access Management (IAM) policy. It is used to specify access control policies for Cloud Platform resources. A `Policy` consists of a list of `bindings`. A `Binding` binds a list of `members` to a `role`, where the members can be user accounts, Google groups, Google domains, and service accounts. A `role` is a named list of permissions defined by IAM. **Example** { "bindings": [ { "role": "roles/owner", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@appspot.gserviceaccount.com", ] }, { "role": "roles/viewer", "members": ["user:sean@example.com"] } ] } For a description of IAM and its features, see the [IAM developer's guide](https://cloud.google.com/iam).
+    "bindings": [ # Associates a list of `members` to a `role`. Multiple `bindings` must not be specified for the same `role`. `bindings` with no members will result in an error.
+      { # Associates `members` with a `role`.
+        "role": "A String", # Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. Required
+        "members": [ # Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@gmail.com` or `joe@example.com`. * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: A Google Apps domain name that represents all the users of that domain. For example, `google.com` or `example.com`.
+          "A String",
+        ],
+      },
+    ],
+    "version": 42, # Version of the `Policy`. The default version is 0.
+    "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. If no `etag` is provided in the call to `setIamPolicy`, then the existing policy is overwritten blindly.
+  }
+
+ +
+ testIamPermissions(resource, body, x__xgafv=None) +
Returns permissions that a caller has on the specified Project.
+
+Args:
+  resource: string, REQUIRED: The resource for which the policy detail is being requested. `resource` is usually specified as a path, such as `projects/*project*/zones/*zone*/disks/*disk*`. The format for the path specified in this value is resource specific and is specified in the `testIamPermissions` documentation. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Request message for `TestIamPermissions` method.
+    "permissions": [ # The set of permissions to check for the `resource`. Permissions with wildcards (such as '*' or 'storage.*') are not allowed. For more information see IAM Overview.
+      "A String",
+    ],
+  }
+
+  x__xgafv: string, V1 error format.
+
+Returns:
+  An object of the form:
+
+    { # Response message for `TestIamPermissions` method.
+    "permissions": [ # A subset of `TestPermissionsRequest.permissions` that the caller is allowed.
+      "A String",
+    ],
+  }
+
+ +
+ undelete(projectId, body, x__xgafv=None) +
Restores the Project identified by the specified `project_id` (for example, `my-project-123`). You can only use this method for a Project that has a lifecycle state of DELETE_REQUESTED. After deletion starts, as indicated by a lifecycle state of DELETE_IN_PROGRESS, the Project cannot be restored. The caller must have modify permissions for this Project.
+
+Args:
+  projectId: string, The project ID (for example, `foo-bar-123`). Required. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # The request sent to the UndeleteProject method.
+  }
+
+  x__xgafv: string, V1 error format.
+
+Returns:
+  An object of the form:
+
+    { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.
+  }
+
+ +
+ update(projectId, body, x__xgafv=None) +
Updates the attributes of the Project identified by the specified `project_id` (for example, `my-project-123`). The caller must have modify permissions for this Project.
+
+Args:
+  projectId: string, The project ID (for example, `my-project-123`). Required. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A Project is a high-level Google Cloud Platform entity. It is a container for ACLs, APIs, AppEngine Apps, VMs, and other Google Cloud Platform resources.
+  "name": "A String", # The user-assigned name of the Project. It must be 4 to 30 characters. Allowed characters are: lowercase and uppercase letters, numbers, hyphen, single-quote, double-quote, space, and exclamation point. Example: My Project Read-write.
+  "parent": { # A container to reference an id for any resource type. A `resource` in Google Cloud Platform is a generic term for something you (a developer) may want to interact with through one of our API's. Some examples are an AppEngine app, a Compute Engine instance, a Cloud SQL database, and so on. # An optional reference to a parent Resource. The only supported parent type is "organization". Once set, the parent cannot be modified. Read-write.
+    "type": "A String", # Required field representing the resource type this id is for. At present, the only valid type is "organization".
+    "id": "A String", # Required field for the type-specific id. This should correspond to the id used in the type-specific API's.
+  },
+  "projectId": "A String", # The unique, user-assigned ID of the Project. It must be 6 to 30 lowercase letters, digits, or hyphens. It must start with a letter. Trailing hyphens are prohibited. Example: tokyo-rain-123 Read-only after creation.
+  "labels": { # The labels associated with this Project. Label keys must be between 1 and 63 characters long and must conform to the following regular expression: \[a-z\](\[-a-z0-9\]*\[a-z0-9\])?. Label values must be between 0 and 63 characters long and must conform to the regular expression (\[a-z\](\[-a-z0-9\]*\[a-z0-9\])?)?. No more than 256 labels can be associated with a given resource. Clients should store labels in a representation such as JSON that does not depend on specific characters being disallowed. Example: "environment" : "dev" Read-write.
+    "a_key": "A String",
+  },
+  "projectNumber": "A String", # The number uniquely identifying the project. Example: 415104041262 Read-only.
+  "lifecycleState": "A String", # The Project lifecycle state. Read-only.
+  "createTime": "A String", # Creation time. Read-only.
+}
+
+  x__xgafv: string, V1 error format.
+
+Returns:
+  An object of the form:
+
+    { # A Project is a high-level Google Cloud Platform entity. It is a container for ACLs, APIs, AppEngine Apps, VMs, and other Google Cloud Platform resources.
+    "name": "A String", # The user-assigned name of the Project. It must be 4 to 30 characters. Allowed characters are: lowercase and uppercase letters, numbers, hyphen, single-quote, double-quote, space, and exclamation point. Example: My Project Read-write.
+    "parent": { # A container to reference an id for any resource type. A `resource` in Google Cloud Platform is a generic term for something you (a developer) may want to interact with through one of our API's. Some examples are an AppEngine app, a Compute Engine instance, a Cloud SQL database, and so on. # An optional reference to a parent Resource. The only supported parent type is "organization". Once set, the parent cannot be modified. Read-write.
+      "type": "A String", # Required field representing the resource type this id is for. At present, the only valid type is "organization".
+      "id": "A String", # Required field for the type-specific id. This should correspond to the id used in the type-specific API's.
+    },
+    "projectId": "A String", # The unique, user-assigned ID of the Project. It must be 6 to 30 lowercase letters, digits, or hyphens. It must start with a letter. Trailing hyphens are prohibited. Example: tokyo-rain-123 Read-only after creation.
+    "labels": { # The labels associated with this Project. Label keys must be between 1 and 63 characters long and must conform to the following regular expression: \[a-z\](\[-a-z0-9\]*\[a-z0-9\])?. Label values must be between 0 and 63 characters long and must conform to the regular expression (\[a-z\](\[-a-z0-9\]*\[a-z0-9\])?)?. No more than 256 labels can be associated with a given resource. Clients should store labels in a representation such as JSON that does not depend on specific characters being disallowed. Example: "environment" : "dev" Read-write.
+      "a_key": "A String",
+    },
+    "projectNumber": "A String", # The number uniquely identifying the project. Example: 415104041262 Read-only.
+    "lifecycleState": "A String", # The Project lifecycle state. Read-only.
+    "createTime": "A String", # Creation time. Read-only.
+  }
+
+ + \ No newline at end of file diff --git a/docs/dyn/cloudtrace_v1.projects.html b/docs/dyn/cloudtrace_v1.projects.html index 1063fcdbb81..71e51762f51 100644 --- a/docs/dyn/cloudtrace_v1.projects.html +++ b/docs/dyn/cloudtrace_v1.projects.html @@ -81,11 +81,11 @@

Instance Methods

patchTraces(projectId, body, x__xgafv=None)

-

Sends new traces to Cloud Trace or updates existing traces. If the ID of a trace that you send matches that of an existing trace, any fields in the existing trace and its spans are overwritten by the provided values, and any new fields provided are merged with the existing trace data. If the ID does not match, a new trace is created.

+

Sends new traces to Stackdriver Trace or updates existing traces. If the ID of a trace that you send matches that of an existing trace, any fields in the existing trace and its spans are overwritten by the provided values, and any new fields provided are merged with the existing trace data. If the ID does not match, a new trace is created.

Method Details

patchTraces(projectId, body, x__xgafv=None) -
Sends new traces to Cloud Trace or updates existing traces. If the ID of a trace that you send matches that of an existing trace, any fields in the existing trace and its spans are overwritten by the provided values, and any new fields provided are merged with the existing trace data. If the ID does not match, a new trace is created.
+  
Sends new traces to Stackdriver Trace or updates existing traces. If the ID of a trace that you send matches that of an existing trace, any fields in the existing trace and its spans are overwritten by the provided values, and any new fields provided are merged with the existing trace data. If the ID does not match, a new trace is created.
 
 Args:
   projectId: string, ID of the Cloud project where the trace data is stored. (required)
@@ -100,7 +100,7 @@ 

Method Details

"spans": [ # Collection of spans in the trace. { # A span represents a single timed event within a trace. Spans can be nested and form a trace tree. Often, a trace contains a root span that describes the end-to-end latency of an operation and, optionally, one or more subspans for its suboperations. Spans do not need to be contiguous. There may be gaps between spans in a trace. "kind": "A String", # Distinguishes between spans generated in a particular context. For example, two spans with the same name may be distinguished using `RPC_CLIENT` and `RPC_SERVER` to identify queueing latency associated with the span. - "name": "A String", # Name of the trace. The trace name is sanitized and displayed in the Cloud Trace tool in the Google Developers Console. The name may be a method name or some other per-call site name. For the same executable and the same call point, a best practice is to use a consistent name, which makes it easier to correlate cross-trace spans. + "name": "A String", # Name of the trace. The trace name is sanitized and displayed in the Stackdriver Trace tool in the {% dynamic print site_values.console_name %}. The name may be a method name or some other per-call site name. For the same executable and the same call point, a best practice is to use a consistent name, which makes it easier to correlate cross-trace spans. "labels": { # Collection of labels associated with the span. "a_key": "A String", }, diff --git a/docs/dyn/cloudtrace_v1.projects.traces.html b/docs/dyn/cloudtrace_v1.projects.traces.html index 1f3f2a2421f..780a3a542ec 100644 --- a/docs/dyn/cloudtrace_v1.projects.traces.html +++ b/docs/dyn/cloudtrace_v1.projects.traces.html @@ -102,7 +102,7 @@

Method Details

"spans": [ # Collection of spans in the trace. { # A span represents a single timed event within a trace. Spans can be nested and form a trace tree. Often, a trace contains a root span that describes the end-to-end latency of an operation and, optionally, one or more subspans for its suboperations. Spans do not need to be contiguous. There may be gaps between spans in a trace. "kind": "A String", # Distinguishes between spans generated in a particular context. For example, two spans with the same name may be distinguished using `RPC_CLIENT` and `RPC_SERVER` to identify queueing latency associated with the span. - "name": "A String", # Name of the trace. The trace name is sanitized and displayed in the Cloud Trace tool in the Google Developers Console. The name may be a method name or some other per-call site name. For the same executable and the same call point, a best practice is to use a consistent name, which makes it easier to correlate cross-trace spans. + "name": "A String", # Name of the trace. The trace name is sanitized and displayed in the Stackdriver Trace tool in the {% dynamic print site_values.console_name %}. The name may be a method name or some other per-call site name. For the same executable and the same call point, a best practice is to use a consistent name, which makes it easier to correlate cross-trace spans. "labels": { # Collection of labels associated with the span. "a_key": "A String", }, @@ -142,7 +142,7 @@

Method Details

"spans": [ # Collection of spans in the trace. { # A span represents a single timed event within a trace. Spans can be nested and form a trace tree. Often, a trace contains a root span that describes the end-to-end latency of an operation and, optionally, one or more subspans for its suboperations. Spans do not need to be contiguous. There may be gaps between spans in a trace. "kind": "A String", # Distinguishes between spans generated in a particular context. For example, two spans with the same name may be distinguished using `RPC_CLIENT` and `RPC_SERVER` to identify queueing latency associated with the span. - "name": "A String", # Name of the trace. The trace name is sanitized and displayed in the Cloud Trace tool in the Google Developers Console. The name may be a method name or some other per-call site name. For the same executable and the same call point, a best practice is to use a consistent name, which makes it easier to correlate cross-trace spans. + "name": "A String", # Name of the trace. The trace name is sanitized and displayed in the Stackdriver Trace tool in the {% dynamic print site_values.console_name %}. The name may be a method name or some other per-call site name. For the same executable and the same call point, a best practice is to use a consistent name, which makes it easier to correlate cross-trace spans. "labels": { # Collection of labels associated with the span. "a_key": "A String", }, diff --git a/docs/dyn/clouduseraccounts_vm_alpha.globalAccountsOperations.html b/docs/dyn/clouduseraccounts_vm_alpha.globalAccountsOperations.html index e176e3d4a88..19da0032234 100644 --- a/docs/dyn/clouduseraccounts_vm_alpha.globalAccountsOperations.html +++ b/docs/dyn/clouduseraccounts_vm_alpha.globalAccountsOperations.html @@ -109,47 +109,49 @@

Method Details

An object of the form: { # An Operation resource, used to manage asynchronous API requests. - "targetId": "A String", # [Output Only] Unique target ID which identifies a particular incarnation of the target. - "clientOperationId": "A String", # [Output Only] An optional identifier specified by the client when the mutation was initiated. Must be unique for all Operation resources in the project. + "targetId": "A String", # [Output Only] The unique target ID, which identifies a specific incarnation of the target resource. + "clientOperationId": "A String", # [Output Only] Reserved for future use. "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format. - "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server. - "zone": "A String", # [Output Only] URL of the zone where the operation resides. - "operationType": "A String", # [Output Only] Type of the operation, such as insert, compute.instanceGroups.update, or compute.instanceGroups.delete. + "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server. + "zone": "A String", # [Output Only] The URL of the zone where the operation resides. Only available when performing per-zone operations. + "insertTime": "A String", # [Output Only] The time that this operation was requested. This value is in RFC3339 text format. + "operationType": "A String", # [Output Only] The type of operation, such as insert, update, or delete, and so on. "httpErrorMessage": "A String", # [Output Only] If the operation fails, this field contains the HTTP error message that was returned, such as NOT FOUND. - "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should monotonically increase as the operation progresses. - "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error message that was returned, such as 404. + "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess when the operation will be complete. This number should monotonically increase as the operation progresses. + "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error status code that was returned. For example, a 404 means the resource was not found. "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation. - "status": "A String", # [Output Only] Status of the operation. Can be one of the following: PENDING, RUNNING, or DONE. - "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC3339 text format. + "status": "A String", # [Output Only] The status of the operation, which can be one of the following: PENDING, RUNNING, or DONE. + "description": "A String", # [Output Only] A textual description of the operation, which is set when the operation is created. "warnings": [ # [Output Only] If warning messages are generated during processing of the operation, this field will be populated. { - "message": "A String", # [Output Only] Optional human-readable details for this warning. - "code": "A String", # [Output Only] The warning type identifier for this warning. - "data": [ # [Output Only] Metadata for this warning in key: value format. + "message": "A String", # [Output Only] A human-readable description of the warning code. + "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response. + "data": [ # [Output Only] Metadata about this warning in key: value format. For example: + # "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key for the warning data. + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, ], "user": "A String", # [Output Only] User who requested the operation, for example: user@example.com. - "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC3339 text format. + "startTime": "A String", # [Output Only] The time that this operation was started by the server. This value is in RFC3339 text format. "kind": "clouduseraccounts#operation", # [Output Only] Type of the resource. Always compute#operation for Operation resources. "name": "A String", # [Output Only] Name of the resource. - "region": "A String", # [Output Only] URL of the region where the operation resides. Only applicable for regional resources. + "region": "A String", # [Output Only] The URL of the region where the operation resides. Only available when performing regional operations. "error": { # [Output Only] If errors are generated during processing of the operation, this field will be populated. "errors": [ # [Output Only] The array of errors encountered while processing this operation. { "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, - "endTime": "A String", # [Output Only] The time that this operation was completed. This is in RFC3339 text format. + "endTime": "A String", # [Output Only] The time that this operation was completed. This value is in RFC3339 text format. "selfLink": "A String", # [Output Only] Server-defined URL for the resource. - "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating. + "targetLink": "A String", # [Output Only] The URL of the resource that the operation modifies. }
@@ -164,66 +166,72 @@

Method Details

You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. - maxResults: integer, Maximum count of results to be returned. - pageToken: string, Specifies a page token to use. Use this parameter if you want to list the next page of results. Set pageToken to the nextPageToken returned by a previous list request. - filter: string, Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING. + maxResults: integer, The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. + pageToken: string, Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + filter: string, Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string. -The FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. +The field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. -For example, filter=name ne example-instance. +For example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance. + +Compute Engine Beta API Only: If you use filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. In particular, use filtering on nested fields to take advantage of instance labels to organize and filter results based on label values. + +The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters. Returns: An object of the form: { # Contains a list of Operation resources. - "nextPageToken": "A String", # [Output Only] A token used to continue a truncate. - "items": [ # [Output Only] The Operation resources. + "nextPageToken": "A String", # [Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results. + "items": [ # [Output Only] A list of Operation resources. { # An Operation resource, used to manage asynchronous API requests. - "targetId": "A String", # [Output Only] Unique target ID which identifies a particular incarnation of the target. - "clientOperationId": "A String", # [Output Only] An optional identifier specified by the client when the mutation was initiated. Must be unique for all Operation resources in the project. + "targetId": "A String", # [Output Only] The unique target ID, which identifies a specific incarnation of the target resource. + "clientOperationId": "A String", # [Output Only] Reserved for future use. "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format. - "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server. - "zone": "A String", # [Output Only] URL of the zone where the operation resides. - "operationType": "A String", # [Output Only] Type of the operation, such as insert, compute.instanceGroups.update, or compute.instanceGroups.delete. + "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server. + "zone": "A String", # [Output Only] The URL of the zone where the operation resides. Only available when performing per-zone operations. + "insertTime": "A String", # [Output Only] The time that this operation was requested. This value is in RFC3339 text format. + "operationType": "A String", # [Output Only] The type of operation, such as insert, update, or delete, and so on. "httpErrorMessage": "A String", # [Output Only] If the operation fails, this field contains the HTTP error message that was returned, such as NOT FOUND. - "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should monotonically increase as the operation progresses. - "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error message that was returned, such as 404. + "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess when the operation will be complete. This number should monotonically increase as the operation progresses. + "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error status code that was returned. For example, a 404 means the resource was not found. "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation. - "status": "A String", # [Output Only] Status of the operation. Can be one of the following: PENDING, RUNNING, or DONE. - "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC3339 text format. + "status": "A String", # [Output Only] The status of the operation, which can be one of the following: PENDING, RUNNING, or DONE. + "description": "A String", # [Output Only] A textual description of the operation, which is set when the operation is created. "warnings": [ # [Output Only] If warning messages are generated during processing of the operation, this field will be populated. { - "message": "A String", # [Output Only] Optional human-readable details for this warning. - "code": "A String", # [Output Only] The warning type identifier for this warning. - "data": [ # [Output Only] Metadata for this warning in key: value format. + "message": "A String", # [Output Only] A human-readable description of the warning code. + "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response. + "data": [ # [Output Only] Metadata about this warning in key: value format. For example: + # "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key for the warning data. + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, ], "user": "A String", # [Output Only] User who requested the operation, for example: user@example.com. - "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC3339 text format. + "startTime": "A String", # [Output Only] The time that this operation was started by the server. This value is in RFC3339 text format. "kind": "clouduseraccounts#operation", # [Output Only] Type of the resource. Always compute#operation for Operation resources. "name": "A String", # [Output Only] Name of the resource. - "region": "A String", # [Output Only] URL of the region where the operation resides. Only applicable for regional resources. + "region": "A String", # [Output Only] The URL of the region where the operation resides. Only available when performing regional operations. "error": { # [Output Only] If errors are generated during processing of the operation, this field will be populated. "errors": [ # [Output Only] The array of errors encountered while processing this operation. { "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, - "endTime": "A String", # [Output Only] The time that this operation was completed. This is in RFC3339 text format. + "endTime": "A String", # [Output Only] The time that this operation was completed. This value is in RFC3339 text format. "selfLink": "A String", # [Output Only] Server-defined URL for the resource. - "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating. + "targetLink": "A String", # [Output Only] The URL of the resource that the operation modifies. }, ], "kind": "clouduseraccounts#operationList", # [Output Only] Type of resource. Always compute#operations for Operations resource. - "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server. + "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server. "selfLink": "A String", # [Output Only] Server-defined URL for this resource. }
diff --git a/docs/dyn/clouduseraccounts_vm_alpha.groups.html b/docs/dyn/clouduseraccounts_vm_alpha.groups.html index 4eed0aebc0d..15fde8ac563 100644 --- a/docs/dyn/clouduseraccounts_vm_alpha.groups.html +++ b/docs/dyn/clouduseraccounts_vm_alpha.groups.html @@ -126,47 +126,49 @@

Method Details

An object of the form: { # An Operation resource, used to manage asynchronous API requests. - "targetId": "A String", # [Output Only] Unique target ID which identifies a particular incarnation of the target. - "clientOperationId": "A String", # [Output Only] An optional identifier specified by the client when the mutation was initiated. Must be unique for all Operation resources in the project. + "targetId": "A String", # [Output Only] The unique target ID, which identifies a specific incarnation of the target resource. + "clientOperationId": "A String", # [Output Only] Reserved for future use. "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format. - "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server. - "zone": "A String", # [Output Only] URL of the zone where the operation resides. - "operationType": "A String", # [Output Only] Type of the operation, such as insert, compute.instanceGroups.update, or compute.instanceGroups.delete. + "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server. + "zone": "A String", # [Output Only] The URL of the zone where the operation resides. Only available when performing per-zone operations. + "insertTime": "A String", # [Output Only] The time that this operation was requested. This value is in RFC3339 text format. + "operationType": "A String", # [Output Only] The type of operation, such as insert, update, or delete, and so on. "httpErrorMessage": "A String", # [Output Only] If the operation fails, this field contains the HTTP error message that was returned, such as NOT FOUND. - "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should monotonically increase as the operation progresses. - "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error message that was returned, such as 404. + "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess when the operation will be complete. This number should monotonically increase as the operation progresses. + "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error status code that was returned. For example, a 404 means the resource was not found. "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation. - "status": "A String", # [Output Only] Status of the operation. Can be one of the following: PENDING, RUNNING, or DONE. - "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC3339 text format. + "status": "A String", # [Output Only] The status of the operation, which can be one of the following: PENDING, RUNNING, or DONE. + "description": "A String", # [Output Only] A textual description of the operation, which is set when the operation is created. "warnings": [ # [Output Only] If warning messages are generated during processing of the operation, this field will be populated. { - "message": "A String", # [Output Only] Optional human-readable details for this warning. - "code": "A String", # [Output Only] The warning type identifier for this warning. - "data": [ # [Output Only] Metadata for this warning in key: value format. + "message": "A String", # [Output Only] A human-readable description of the warning code. + "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response. + "data": [ # [Output Only] Metadata about this warning in key: value format. For example: + # "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key for the warning data. + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, ], "user": "A String", # [Output Only] User who requested the operation, for example: user@example.com. - "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC3339 text format. + "startTime": "A String", # [Output Only] The time that this operation was started by the server. This value is in RFC3339 text format. "kind": "clouduseraccounts#operation", # [Output Only] Type of the resource. Always compute#operation for Operation resources. "name": "A String", # [Output Only] Name of the resource. - "region": "A String", # [Output Only] URL of the region where the operation resides. Only applicable for regional resources. + "region": "A String", # [Output Only] The URL of the region where the operation resides. Only available when performing regional operations. "error": { # [Output Only] If errors are generated during processing of the operation, this field will be populated. "errors": [ # [Output Only] The array of errors encountered while processing this operation. { "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, - "endTime": "A String", # [Output Only] The time that this operation was completed. This is in RFC3339 text format. + "endTime": "A String", # [Output Only] The time that this operation was completed. This value is in RFC3339 text format. "selfLink": "A String", # [Output Only] Server-defined URL for the resource. - "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating. + "targetLink": "A String", # [Output Only] The URL of the resource that the operation modifies. }
@@ -182,47 +184,49 @@

Method Details

An object of the form: { # An Operation resource, used to manage asynchronous API requests. - "targetId": "A String", # [Output Only] Unique target ID which identifies a particular incarnation of the target. - "clientOperationId": "A String", # [Output Only] An optional identifier specified by the client when the mutation was initiated. Must be unique for all Operation resources in the project. + "targetId": "A String", # [Output Only] The unique target ID, which identifies a specific incarnation of the target resource. + "clientOperationId": "A String", # [Output Only] Reserved for future use. "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format. - "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server. - "zone": "A String", # [Output Only] URL of the zone where the operation resides. - "operationType": "A String", # [Output Only] Type of the operation, such as insert, compute.instanceGroups.update, or compute.instanceGroups.delete. + "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server. + "zone": "A String", # [Output Only] The URL of the zone where the operation resides. Only available when performing per-zone operations. + "insertTime": "A String", # [Output Only] The time that this operation was requested. This value is in RFC3339 text format. + "operationType": "A String", # [Output Only] The type of operation, such as insert, update, or delete, and so on. "httpErrorMessage": "A String", # [Output Only] If the operation fails, this field contains the HTTP error message that was returned, such as NOT FOUND. - "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should monotonically increase as the operation progresses. - "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error message that was returned, such as 404. + "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess when the operation will be complete. This number should monotonically increase as the operation progresses. + "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error status code that was returned. For example, a 404 means the resource was not found. "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation. - "status": "A String", # [Output Only] Status of the operation. Can be one of the following: PENDING, RUNNING, or DONE. - "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC3339 text format. + "status": "A String", # [Output Only] The status of the operation, which can be one of the following: PENDING, RUNNING, or DONE. + "description": "A String", # [Output Only] A textual description of the operation, which is set when the operation is created. "warnings": [ # [Output Only] If warning messages are generated during processing of the operation, this field will be populated. { - "message": "A String", # [Output Only] Optional human-readable details for this warning. - "code": "A String", # [Output Only] The warning type identifier for this warning. - "data": [ # [Output Only] Metadata for this warning in key: value format. + "message": "A String", # [Output Only] A human-readable description of the warning code. + "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response. + "data": [ # [Output Only] Metadata about this warning in key: value format. For example: + # "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key for the warning data. + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, ], "user": "A String", # [Output Only] User who requested the operation, for example: user@example.com. - "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC3339 text format. + "startTime": "A String", # [Output Only] The time that this operation was started by the server. This value is in RFC3339 text format. "kind": "clouduseraccounts#operation", # [Output Only] Type of the resource. Always compute#operation for Operation resources. "name": "A String", # [Output Only] Name of the resource. - "region": "A String", # [Output Only] URL of the region where the operation resides. Only applicable for regional resources. + "region": "A String", # [Output Only] The URL of the region where the operation resides. Only available when performing regional operations. "error": { # [Output Only] If errors are generated during processing of the operation, this field will be populated. "errors": [ # [Output Only] The array of errors encountered while processing this operation. { "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, - "endTime": "A String", # [Output Only] The time that this operation was completed. This is in RFC3339 text format. + "endTime": "A String", # [Output Only] The time that this operation was completed. This value is in RFC3339 text format. "selfLink": "A String", # [Output Only] Server-defined URL for the resource. - "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating. + "targetLink": "A String", # [Output Only] The URL of the resource that the operation modifies. } @@ -269,10 +273,20 @@

Method Details

# # **Example** # - # { "bindings": [ { "role": "roles/owner", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@appspot.gserviceaccount.com"] }, { "role": "roles/viewer", "members": ["user:sean@example.com"] } ] } + # { "bindings": [ { "role": "roles/owner", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@appspot.gserviceaccount.com", ] }, { "role": "roles/viewer", "members": ["user:sean@example.com"] } ] } # # For a description of IAM and its features, see the [IAM developer's guide](https://cloud.google.com/iam). - "rules": [ + "auditConfigs": [ # Specifies audit logging configs for "data access". "data access": generally refers to data reads/writes and admin reads. "admin activity": generally refers to admin writes. + # + # Note: `AuditConfig` doesn't apply to "admin activity", which always enables audit logging. + { # Enables "data access" audit logging for a service and specifies a list of members that are log-exempted. + "exemptedMembers": [ # Specifies the identities that are exempted from "data access" audit logging for the `service` specified above. Follows the same format of Binding.members. + "A String", + ], + "service": "A String", # Specifies a service that will be enabled for "data access" audit logging. For example, `resourcemanager`, `storage`, `compute`. `allServices` is a special value that covers all services. + }, + ], + "rules": [ # If more than one rule is specified, the rules are applied in the following manner: - All matching LOG rules are always applied. - If any DENY/DENY_WITH_LOG rule matches, permission is denied. Logging will be applied if one or more matching rule requires logging. - Otherwise, if any ALLOW/ALLOW_WITH_LOG rule matches, permission is granted. Logging will be applied if one or more matching rule requires logging. - Otherwise, if no rule applies, permission is denied. { # A rule to be applied in a Policy. "logConfigs": [ # The config returned to callers of tech.iam.IAM.CheckPolicy for any entries that match the LOG action. { # Specifies what kind of log the caller must write @@ -307,10 +321,14 @@

Method Details

"description": "A String", # Human-readable description of the rule. }, ], + "version": 42, # Version of the `Policy`. The default version is 0. + "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. + # + # If no `etag` is provided in the call to `setIamPolicy`, then the existing policy is overwritten blindly. "bindings": [ # Associates a list of `members` to a `role`. Multiple `bindings` must not be specified for the same `role`. `bindings` with no members will result in an error. { # Associates `members` with a `role`. "role": "A String", # Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. - "members": [ # Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following formats: + "members": [ # Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following values: # # * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. # @@ -327,8 +345,7 @@

Method Details

], }, ], - "etag": "A String", # Can be used to perform a read-modify-write. - "version": 42, # Version of the `Policy`. The default version is 0. + "iamOwned": True or False, } @@ -358,47 +375,49 @@

Method Details

An object of the form: { # An Operation resource, used to manage asynchronous API requests. - "targetId": "A String", # [Output Only] Unique target ID which identifies a particular incarnation of the target. - "clientOperationId": "A String", # [Output Only] An optional identifier specified by the client when the mutation was initiated. Must be unique for all Operation resources in the project. + "targetId": "A String", # [Output Only] The unique target ID, which identifies a specific incarnation of the target resource. + "clientOperationId": "A String", # [Output Only] Reserved for future use. "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format. - "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server. - "zone": "A String", # [Output Only] URL of the zone where the operation resides. - "operationType": "A String", # [Output Only] Type of the operation, such as insert, compute.instanceGroups.update, or compute.instanceGroups.delete. + "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server. + "zone": "A String", # [Output Only] The URL of the zone where the operation resides. Only available when performing per-zone operations. + "insertTime": "A String", # [Output Only] The time that this operation was requested. This value is in RFC3339 text format. + "operationType": "A String", # [Output Only] The type of operation, such as insert, update, or delete, and so on. "httpErrorMessage": "A String", # [Output Only] If the operation fails, this field contains the HTTP error message that was returned, such as NOT FOUND. - "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should monotonically increase as the operation progresses. - "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error message that was returned, such as 404. + "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess when the operation will be complete. This number should monotonically increase as the operation progresses. + "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error status code that was returned. For example, a 404 means the resource was not found. "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation. - "status": "A String", # [Output Only] Status of the operation. Can be one of the following: PENDING, RUNNING, or DONE. - "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC3339 text format. + "status": "A String", # [Output Only] The status of the operation, which can be one of the following: PENDING, RUNNING, or DONE. + "description": "A String", # [Output Only] A textual description of the operation, which is set when the operation is created. "warnings": [ # [Output Only] If warning messages are generated during processing of the operation, this field will be populated. { - "message": "A String", # [Output Only] Optional human-readable details for this warning. - "code": "A String", # [Output Only] The warning type identifier for this warning. - "data": [ # [Output Only] Metadata for this warning in key: value format. + "message": "A String", # [Output Only] A human-readable description of the warning code. + "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response. + "data": [ # [Output Only] Metadata about this warning in key: value format. For example: + # "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key for the warning data. + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, ], "user": "A String", # [Output Only] User who requested the operation, for example: user@example.com. - "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC3339 text format. + "startTime": "A String", # [Output Only] The time that this operation was started by the server. This value is in RFC3339 text format. "kind": "clouduseraccounts#operation", # [Output Only] Type of the resource. Always compute#operation for Operation resources. "name": "A String", # [Output Only] Name of the resource. - "region": "A String", # [Output Only] URL of the region where the operation resides. Only applicable for regional resources. + "region": "A String", # [Output Only] The URL of the region where the operation resides. Only available when performing regional operations. "error": { # [Output Only] If errors are generated during processing of the operation, this field will be populated. "errors": [ # [Output Only] The array of errors encountered while processing this operation. { "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, - "endTime": "A String", # [Output Only] The time that this operation was completed. This is in RFC3339 text format. + "endTime": "A String", # [Output Only] The time that this operation was completed. This value is in RFC3339 text format. "selfLink": "A String", # [Output Only] Server-defined URL for the resource. - "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating. + "targetLink": "A String", # [Output Only] The URL of the resource that the operation modifies. } @@ -413,13 +432,17 @@

Method Details

You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. - maxResults: integer, Maximum count of results to be returned. - pageToken: string, Specifies a page token to use. Use this parameter if you want to list the next page of results. Set pageToken to the nextPageToken returned by a previous list request. - filter: string, Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING. + maxResults: integer, The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. + pageToken: string, Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + filter: string, Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string. -The FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. +The field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. -For example, filter=name ne example-instance. +For example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance. + +Compute Engine Beta API Only: If you use filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. In particular, use filtering on nested fields to take advantage of instance labels to organize and filter results based on label values. + +The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters. Returns: An object of the form: @@ -480,47 +503,49 @@

Method Details

An object of the form: { # An Operation resource, used to manage asynchronous API requests. - "targetId": "A String", # [Output Only] Unique target ID which identifies a particular incarnation of the target. - "clientOperationId": "A String", # [Output Only] An optional identifier specified by the client when the mutation was initiated. Must be unique for all Operation resources in the project. + "targetId": "A String", # [Output Only] The unique target ID, which identifies a specific incarnation of the target resource. + "clientOperationId": "A String", # [Output Only] Reserved for future use. "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format. - "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server. - "zone": "A String", # [Output Only] URL of the zone where the operation resides. - "operationType": "A String", # [Output Only] Type of the operation, such as insert, compute.instanceGroups.update, or compute.instanceGroups.delete. + "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server. + "zone": "A String", # [Output Only] The URL of the zone where the operation resides. Only available when performing per-zone operations. + "insertTime": "A String", # [Output Only] The time that this operation was requested. This value is in RFC3339 text format. + "operationType": "A String", # [Output Only] The type of operation, such as insert, update, or delete, and so on. "httpErrorMessage": "A String", # [Output Only] If the operation fails, this field contains the HTTP error message that was returned, such as NOT FOUND. - "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should monotonically increase as the operation progresses. - "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error message that was returned, such as 404. + "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess when the operation will be complete. This number should monotonically increase as the operation progresses. + "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error status code that was returned. For example, a 404 means the resource was not found. "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation. - "status": "A String", # [Output Only] Status of the operation. Can be one of the following: PENDING, RUNNING, or DONE. - "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC3339 text format. + "status": "A String", # [Output Only] The status of the operation, which can be one of the following: PENDING, RUNNING, or DONE. + "description": "A String", # [Output Only] A textual description of the operation, which is set when the operation is created. "warnings": [ # [Output Only] If warning messages are generated during processing of the operation, this field will be populated. { - "message": "A String", # [Output Only] Optional human-readable details for this warning. - "code": "A String", # [Output Only] The warning type identifier for this warning. - "data": [ # [Output Only] Metadata for this warning in key: value format. + "message": "A String", # [Output Only] A human-readable description of the warning code. + "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response. + "data": [ # [Output Only] Metadata about this warning in key: value format. For example: + # "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key for the warning data. + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, ], "user": "A String", # [Output Only] User who requested the operation, for example: user@example.com. - "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC3339 text format. + "startTime": "A String", # [Output Only] The time that this operation was started by the server. This value is in RFC3339 text format. "kind": "clouduseraccounts#operation", # [Output Only] Type of the resource. Always compute#operation for Operation resources. "name": "A String", # [Output Only] Name of the resource. - "region": "A String", # [Output Only] URL of the region where the operation resides. Only applicable for regional resources. + "region": "A String", # [Output Only] The URL of the region where the operation resides. Only available when performing regional operations. "error": { # [Output Only] If errors are generated during processing of the operation, this field will be populated. "errors": [ # [Output Only] The array of errors encountered while processing this operation. { "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, - "endTime": "A String", # [Output Only] The time that this operation was completed. This is in RFC3339 text format. + "endTime": "A String", # [Output Only] The time that this operation was completed. This value is in RFC3339 text format. "selfLink": "A String", # [Output Only] Server-defined URL for the resource. - "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating. + "targetLink": "A String", # [Output Only] The URL of the resource that the operation modifies. } @@ -542,10 +567,20 @@

Method Details

# # **Example** # - # { "bindings": [ { "role": "roles/owner", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@appspot.gserviceaccount.com"] }, { "role": "roles/viewer", "members": ["user:sean@example.com"] } ] } + # { "bindings": [ { "role": "roles/owner", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@appspot.gserviceaccount.com", ] }, { "role": "roles/viewer", "members": ["user:sean@example.com"] } ] } # # For a description of IAM and its features, see the [IAM developer's guide](https://cloud.google.com/iam). - "rules": [ + "auditConfigs": [ # Specifies audit logging configs for "data access". "data access": generally refers to data reads/writes and admin reads. "admin activity": generally refers to admin writes. + # + # Note: `AuditConfig` doesn't apply to "admin activity", which always enables audit logging. + { # Enables "data access" audit logging for a service and specifies a list of members that are log-exempted. + "exemptedMembers": [ # Specifies the identities that are exempted from "data access" audit logging for the `service` specified above. Follows the same format of Binding.members. + "A String", + ], + "service": "A String", # Specifies a service that will be enabled for "data access" audit logging. For example, `resourcemanager`, `storage`, `compute`. `allServices` is a special value that covers all services. + }, + ], + "rules": [ # If more than one rule is specified, the rules are applied in the following manner: - All matching LOG rules are always applied. - If any DENY/DENY_WITH_LOG rule matches, permission is denied. Logging will be applied if one or more matching rule requires logging. - Otherwise, if any ALLOW/ALLOW_WITH_LOG rule matches, permission is granted. Logging will be applied if one or more matching rule requires logging. - Otherwise, if no rule applies, permission is denied. { # A rule to be applied in a Policy. "logConfigs": [ # The config returned to callers of tech.iam.IAM.CheckPolicy for any entries that match the LOG action. { # Specifies what kind of log the caller must write @@ -580,10 +615,14 @@

Method Details

"description": "A String", # Human-readable description of the rule. }, ], + "version": 42, # Version of the `Policy`. The default version is 0. + "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. + # + # If no `etag` is provided in the call to `setIamPolicy`, then the existing policy is overwritten blindly. "bindings": [ # Associates a list of `members` to a `role`. Multiple `bindings` must not be specified for the same `role`. `bindings` with no members will result in an error. { # Associates `members` with a `role`. "role": "A String", # Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. - "members": [ # Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following formats: + "members": [ # Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following values: # # * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. # @@ -600,8 +639,7 @@

Method Details

], }, ], - "etag": "A String", # Can be used to perform a read-modify-write. - "version": 42, # Version of the `Policy`. The default version is 0. + "iamOwned": True or False, } @@ -616,10 +654,20 @@

Method Details

# # **Example** # - # { "bindings": [ { "role": "roles/owner", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@appspot.gserviceaccount.com"] }, { "role": "roles/viewer", "members": ["user:sean@example.com"] } ] } + # { "bindings": [ { "role": "roles/owner", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@appspot.gserviceaccount.com", ] }, { "role": "roles/viewer", "members": ["user:sean@example.com"] } ] } # # For a description of IAM and its features, see the [IAM developer's guide](https://cloud.google.com/iam). - "rules": [ + "auditConfigs": [ # Specifies audit logging configs for "data access". "data access": generally refers to data reads/writes and admin reads. "admin activity": generally refers to admin writes. + # + # Note: `AuditConfig` doesn't apply to "admin activity", which always enables audit logging. + { # Enables "data access" audit logging for a service and specifies a list of members that are log-exempted. + "exemptedMembers": [ # Specifies the identities that are exempted from "data access" audit logging for the `service` specified above. Follows the same format of Binding.members. + "A String", + ], + "service": "A String", # Specifies a service that will be enabled for "data access" audit logging. For example, `resourcemanager`, `storage`, `compute`. `allServices` is a special value that covers all services. + }, + ], + "rules": [ # If more than one rule is specified, the rules are applied in the following manner: - All matching LOG rules are always applied. - If any DENY/DENY_WITH_LOG rule matches, permission is denied. Logging will be applied if one or more matching rule requires logging. - Otherwise, if any ALLOW/ALLOW_WITH_LOG rule matches, permission is granted. Logging will be applied if one or more matching rule requires logging. - Otherwise, if no rule applies, permission is denied. { # A rule to be applied in a Policy. "logConfigs": [ # The config returned to callers of tech.iam.IAM.CheckPolicy for any entries that match the LOG action. { # Specifies what kind of log the caller must write @@ -654,10 +702,14 @@

Method Details

"description": "A String", # Human-readable description of the rule. }, ], + "version": 42, # Version of the `Policy`. The default version is 0. + "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. + # + # If no `etag` is provided in the call to `setIamPolicy`, then the existing policy is overwritten blindly. "bindings": [ # Associates a list of `members` to a `role`. Multiple `bindings` must not be specified for the same `role`. `bindings` with no members will result in an error. { # Associates `members` with a `role`. "role": "A String", # Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. - "members": [ # Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following formats: + "members": [ # Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following values: # # * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. # @@ -674,8 +726,7 @@

Method Details

], }, ], - "etag": "A String", # Can be used to perform a read-modify-write. - "version": 42, # Version of the `Policy`. The default version is 0. + "iamOwned": True or False, } diff --git a/docs/dyn/clouduseraccounts_vm_alpha.linux.html b/docs/dyn/clouduseraccounts_vm_alpha.linux.html index a4fa29417f2..afb24efff23 100644 --- a/docs/dyn/clouduseraccounts_vm_alpha.linux.html +++ b/docs/dyn/clouduseraccounts_vm_alpha.linux.html @@ -118,13 +118,17 @@

Method Details

You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. - filter: string, Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING. + filter: string, Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string. -The FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. +The field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. -For example, filter=name ne example-instance. - maxResults: integer, Maximum count of results to be returned. - pageToken: string, Specifies a page token to use. Use this parameter if you want to list the next page of results. Set pageToken to the nextPageToken returned by a previous list request. +For example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance. + +Compute Engine Beta API Only: If you use filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. In particular, use filtering on nested fields to take advantage of instance labels to organize and filter results based on label values. + +The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters. + maxResults: integer, The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. + pageToken: string, Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. Returns: An object of the form: diff --git a/docs/dyn/clouduseraccounts_vm_alpha.users.html b/docs/dyn/clouduseraccounts_vm_alpha.users.html index 20bb7c1510e..087cae1328a 100644 --- a/docs/dyn/clouduseraccounts_vm_alpha.users.html +++ b/docs/dyn/clouduseraccounts_vm_alpha.users.html @@ -128,47 +128,49 @@

Method Details

An object of the form: { # An Operation resource, used to manage asynchronous API requests. - "targetId": "A String", # [Output Only] Unique target ID which identifies a particular incarnation of the target. - "clientOperationId": "A String", # [Output Only] An optional identifier specified by the client when the mutation was initiated. Must be unique for all Operation resources in the project. + "targetId": "A String", # [Output Only] The unique target ID, which identifies a specific incarnation of the target resource. + "clientOperationId": "A String", # [Output Only] Reserved for future use. "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format. - "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server. - "zone": "A String", # [Output Only] URL of the zone where the operation resides. - "operationType": "A String", # [Output Only] Type of the operation, such as insert, compute.instanceGroups.update, or compute.instanceGroups.delete. + "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server. + "zone": "A String", # [Output Only] The URL of the zone where the operation resides. Only available when performing per-zone operations. + "insertTime": "A String", # [Output Only] The time that this operation was requested. This value is in RFC3339 text format. + "operationType": "A String", # [Output Only] The type of operation, such as insert, update, or delete, and so on. "httpErrorMessage": "A String", # [Output Only] If the operation fails, this field contains the HTTP error message that was returned, such as NOT FOUND. - "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should monotonically increase as the operation progresses. - "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error message that was returned, such as 404. + "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess when the operation will be complete. This number should monotonically increase as the operation progresses. + "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error status code that was returned. For example, a 404 means the resource was not found. "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation. - "status": "A String", # [Output Only] Status of the operation. Can be one of the following: PENDING, RUNNING, or DONE. - "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC3339 text format. + "status": "A String", # [Output Only] The status of the operation, which can be one of the following: PENDING, RUNNING, or DONE. + "description": "A String", # [Output Only] A textual description of the operation, which is set when the operation is created. "warnings": [ # [Output Only] If warning messages are generated during processing of the operation, this field will be populated. { - "message": "A String", # [Output Only] Optional human-readable details for this warning. - "code": "A String", # [Output Only] The warning type identifier for this warning. - "data": [ # [Output Only] Metadata for this warning in key: value format. + "message": "A String", # [Output Only] A human-readable description of the warning code. + "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response. + "data": [ # [Output Only] Metadata about this warning in key: value format. For example: + # "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key for the warning data. + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, ], "user": "A String", # [Output Only] User who requested the operation, for example: user@example.com. - "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC3339 text format. + "startTime": "A String", # [Output Only] The time that this operation was started by the server. This value is in RFC3339 text format. "kind": "clouduseraccounts#operation", # [Output Only] Type of the resource. Always compute#operation for Operation resources. "name": "A String", # [Output Only] Name of the resource. - "region": "A String", # [Output Only] URL of the region where the operation resides. Only applicable for regional resources. + "region": "A String", # [Output Only] The URL of the region where the operation resides. Only available when performing regional operations. "error": { # [Output Only] If errors are generated during processing of the operation, this field will be populated. "errors": [ # [Output Only] The array of errors encountered while processing this operation. { "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, - "endTime": "A String", # [Output Only] The time that this operation was completed. This is in RFC3339 text format. + "endTime": "A String", # [Output Only] The time that this operation was completed. This value is in RFC3339 text format. "selfLink": "A String", # [Output Only] Server-defined URL for the resource. - "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating. + "targetLink": "A String", # [Output Only] The URL of the resource that the operation modifies. } @@ -184,47 +186,49 @@

Method Details

An object of the form: { # An Operation resource, used to manage asynchronous API requests. - "targetId": "A String", # [Output Only] Unique target ID which identifies a particular incarnation of the target. - "clientOperationId": "A String", # [Output Only] An optional identifier specified by the client when the mutation was initiated. Must be unique for all Operation resources in the project. + "targetId": "A String", # [Output Only] The unique target ID, which identifies a specific incarnation of the target resource. + "clientOperationId": "A String", # [Output Only] Reserved for future use. "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format. - "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server. - "zone": "A String", # [Output Only] URL of the zone where the operation resides. - "operationType": "A String", # [Output Only] Type of the operation, such as insert, compute.instanceGroups.update, or compute.instanceGroups.delete. + "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server. + "zone": "A String", # [Output Only] The URL of the zone where the operation resides. Only available when performing per-zone operations. + "insertTime": "A String", # [Output Only] The time that this operation was requested. This value is in RFC3339 text format. + "operationType": "A String", # [Output Only] The type of operation, such as insert, update, or delete, and so on. "httpErrorMessage": "A String", # [Output Only] If the operation fails, this field contains the HTTP error message that was returned, such as NOT FOUND. - "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should monotonically increase as the operation progresses. - "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error message that was returned, such as 404. + "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess when the operation will be complete. This number should monotonically increase as the operation progresses. + "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error status code that was returned. For example, a 404 means the resource was not found. "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation. - "status": "A String", # [Output Only] Status of the operation. Can be one of the following: PENDING, RUNNING, or DONE. - "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC3339 text format. + "status": "A String", # [Output Only] The status of the operation, which can be one of the following: PENDING, RUNNING, or DONE. + "description": "A String", # [Output Only] A textual description of the operation, which is set when the operation is created. "warnings": [ # [Output Only] If warning messages are generated during processing of the operation, this field will be populated. { - "message": "A String", # [Output Only] Optional human-readable details for this warning. - "code": "A String", # [Output Only] The warning type identifier for this warning. - "data": [ # [Output Only] Metadata for this warning in key: value format. + "message": "A String", # [Output Only] A human-readable description of the warning code. + "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response. + "data": [ # [Output Only] Metadata about this warning in key: value format. For example: + # "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key for the warning data. + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, ], "user": "A String", # [Output Only] User who requested the operation, for example: user@example.com. - "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC3339 text format. + "startTime": "A String", # [Output Only] The time that this operation was started by the server. This value is in RFC3339 text format. "kind": "clouduseraccounts#operation", # [Output Only] Type of the resource. Always compute#operation for Operation resources. "name": "A String", # [Output Only] Name of the resource. - "region": "A String", # [Output Only] URL of the region where the operation resides. Only applicable for regional resources. + "region": "A String", # [Output Only] The URL of the region where the operation resides. Only available when performing regional operations. "error": { # [Output Only] If errors are generated during processing of the operation, this field will be populated. "errors": [ # [Output Only] The array of errors encountered while processing this operation. { "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, - "endTime": "A String", # [Output Only] The time that this operation was completed. This is in RFC3339 text format. + "endTime": "A String", # [Output Only] The time that this operation was completed. This value is in RFC3339 text format. "selfLink": "A String", # [Output Only] Server-defined URL for the resource. - "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating. + "targetLink": "A String", # [Output Only] The URL of the resource that the operation modifies. } @@ -281,10 +285,20 @@

Method Details

# # **Example** # - # { "bindings": [ { "role": "roles/owner", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@appspot.gserviceaccount.com"] }, { "role": "roles/viewer", "members": ["user:sean@example.com"] } ] } + # { "bindings": [ { "role": "roles/owner", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@appspot.gserviceaccount.com", ] }, { "role": "roles/viewer", "members": ["user:sean@example.com"] } ] } # # For a description of IAM and its features, see the [IAM developer's guide](https://cloud.google.com/iam). - "rules": [ + "auditConfigs": [ # Specifies audit logging configs for "data access". "data access": generally refers to data reads/writes and admin reads. "admin activity": generally refers to admin writes. + # + # Note: `AuditConfig` doesn't apply to "admin activity", which always enables audit logging. + { # Enables "data access" audit logging for a service and specifies a list of members that are log-exempted. + "exemptedMembers": [ # Specifies the identities that are exempted from "data access" audit logging for the `service` specified above. Follows the same format of Binding.members. + "A String", + ], + "service": "A String", # Specifies a service that will be enabled for "data access" audit logging. For example, `resourcemanager`, `storage`, `compute`. `allServices` is a special value that covers all services. + }, + ], + "rules": [ # If more than one rule is specified, the rules are applied in the following manner: - All matching LOG rules are always applied. - If any DENY/DENY_WITH_LOG rule matches, permission is denied. Logging will be applied if one or more matching rule requires logging. - Otherwise, if any ALLOW/ALLOW_WITH_LOG rule matches, permission is granted. Logging will be applied if one or more matching rule requires logging. - Otherwise, if no rule applies, permission is denied. { # A rule to be applied in a Policy. "logConfigs": [ # The config returned to callers of tech.iam.IAM.CheckPolicy for any entries that match the LOG action. { # Specifies what kind of log the caller must write @@ -319,10 +333,14 @@

Method Details

"description": "A String", # Human-readable description of the rule. }, ], + "version": 42, # Version of the `Policy`. The default version is 0. + "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. + # + # If no `etag` is provided in the call to `setIamPolicy`, then the existing policy is overwritten blindly. "bindings": [ # Associates a list of `members` to a `role`. Multiple `bindings` must not be specified for the same `role`. `bindings` with no members will result in an error. { # Associates `members` with a `role`. "role": "A String", # Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. - "members": [ # Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following formats: + "members": [ # Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following values: # # * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. # @@ -339,8 +357,7 @@

Method Details

], }, ], - "etag": "A String", # Can be used to perform a read-modify-write. - "version": 42, # Version of the `Policy`. The default version is 0. + "iamOwned": True or False, } @@ -380,47 +397,49 @@

Method Details

An object of the form: { # An Operation resource, used to manage asynchronous API requests. - "targetId": "A String", # [Output Only] Unique target ID which identifies a particular incarnation of the target. - "clientOperationId": "A String", # [Output Only] An optional identifier specified by the client when the mutation was initiated. Must be unique for all Operation resources in the project. + "targetId": "A String", # [Output Only] The unique target ID, which identifies a specific incarnation of the target resource. + "clientOperationId": "A String", # [Output Only] Reserved for future use. "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format. - "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server. - "zone": "A String", # [Output Only] URL of the zone where the operation resides. - "operationType": "A String", # [Output Only] Type of the operation, such as insert, compute.instanceGroups.update, or compute.instanceGroups.delete. + "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server. + "zone": "A String", # [Output Only] The URL of the zone where the operation resides. Only available when performing per-zone operations. + "insertTime": "A String", # [Output Only] The time that this operation was requested. This value is in RFC3339 text format. + "operationType": "A String", # [Output Only] The type of operation, such as insert, update, or delete, and so on. "httpErrorMessage": "A String", # [Output Only] If the operation fails, this field contains the HTTP error message that was returned, such as NOT FOUND. - "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should monotonically increase as the operation progresses. - "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error message that was returned, such as 404. + "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess when the operation will be complete. This number should monotonically increase as the operation progresses. + "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error status code that was returned. For example, a 404 means the resource was not found. "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation. - "status": "A String", # [Output Only] Status of the operation. Can be one of the following: PENDING, RUNNING, or DONE. - "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC3339 text format. + "status": "A String", # [Output Only] The status of the operation, which can be one of the following: PENDING, RUNNING, or DONE. + "description": "A String", # [Output Only] A textual description of the operation, which is set when the operation is created. "warnings": [ # [Output Only] If warning messages are generated during processing of the operation, this field will be populated. { - "message": "A String", # [Output Only] Optional human-readable details for this warning. - "code": "A String", # [Output Only] The warning type identifier for this warning. - "data": [ # [Output Only] Metadata for this warning in key: value format. + "message": "A String", # [Output Only] A human-readable description of the warning code. + "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response. + "data": [ # [Output Only] Metadata about this warning in key: value format. For example: + # "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key for the warning data. + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, ], "user": "A String", # [Output Only] User who requested the operation, for example: user@example.com. - "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC3339 text format. + "startTime": "A String", # [Output Only] The time that this operation was started by the server. This value is in RFC3339 text format. "kind": "clouduseraccounts#operation", # [Output Only] Type of the resource. Always compute#operation for Operation resources. "name": "A String", # [Output Only] Name of the resource. - "region": "A String", # [Output Only] URL of the region where the operation resides. Only applicable for regional resources. + "region": "A String", # [Output Only] The URL of the region where the operation resides. Only available when performing regional operations. "error": { # [Output Only] If errors are generated during processing of the operation, this field will be populated. "errors": [ # [Output Only] The array of errors encountered while processing this operation. { "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, - "endTime": "A String", # [Output Only] The time that this operation was completed. This is in RFC3339 text format. + "endTime": "A String", # [Output Only] The time that this operation was completed. This value is in RFC3339 text format. "selfLink": "A String", # [Output Only] Server-defined URL for the resource. - "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating. + "targetLink": "A String", # [Output Only] The URL of the resource that the operation modifies. } @@ -435,13 +454,17 @@

Method Details

You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. - maxResults: integer, Maximum count of results to be returned. - pageToken: string, Specifies a page token to use. Use this parameter if you want to list the next page of results. Set pageToken to the nextPageToken returned by a previous list request. - filter: string, Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING. + maxResults: integer, The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. + pageToken: string, Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. + filter: string, Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string. -The FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. +The field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. -For example, filter=name ne example-instance. +For example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance. + +Compute Engine Beta API Only: If you use filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. In particular, use filtering on nested fields to take advantage of instance labels to organize and filter results based on label values. + +The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters. Returns: An object of the form: @@ -504,47 +527,49 @@

Method Details

An object of the form: { # An Operation resource, used to manage asynchronous API requests. - "targetId": "A String", # [Output Only] Unique target ID which identifies a particular incarnation of the target. - "clientOperationId": "A String", # [Output Only] An optional identifier specified by the client when the mutation was initiated. Must be unique for all Operation resources in the project. + "targetId": "A String", # [Output Only] The unique target ID, which identifies a specific incarnation of the target resource. + "clientOperationId": "A String", # [Output Only] Reserved for future use. "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format. - "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server. - "zone": "A String", # [Output Only] URL of the zone where the operation resides. - "operationType": "A String", # [Output Only] Type of the operation, such as insert, compute.instanceGroups.update, or compute.instanceGroups.delete. + "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server. + "zone": "A String", # [Output Only] The URL of the zone where the operation resides. Only available when performing per-zone operations. + "insertTime": "A String", # [Output Only] The time that this operation was requested. This value is in RFC3339 text format. + "operationType": "A String", # [Output Only] The type of operation, such as insert, update, or delete, and so on. "httpErrorMessage": "A String", # [Output Only] If the operation fails, this field contains the HTTP error message that was returned, such as NOT FOUND. - "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should monotonically increase as the operation progresses. - "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error message that was returned, such as 404. + "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess when the operation will be complete. This number should monotonically increase as the operation progresses. + "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error status code that was returned. For example, a 404 means the resource was not found. "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation. - "status": "A String", # [Output Only] Status of the operation. Can be one of the following: PENDING, RUNNING, or DONE. - "insertTime": "A String", # [Output Only] The time that this operation was requested. This is in RFC3339 text format. + "status": "A String", # [Output Only] The status of the operation, which can be one of the following: PENDING, RUNNING, or DONE. + "description": "A String", # [Output Only] A textual description of the operation, which is set when the operation is created. "warnings": [ # [Output Only] If warning messages are generated during processing of the operation, this field will be populated. { - "message": "A String", # [Output Only] Optional human-readable details for this warning. - "code": "A String", # [Output Only] The warning type identifier for this warning. - "data": [ # [Output Only] Metadata for this warning in key: value format. + "message": "A String", # [Output Only] A human-readable description of the warning code. + "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response. + "data": [ # [Output Only] Metadata about this warning in key: value format. For example: + # "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key for the warning data. + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, ], "user": "A String", # [Output Only] User who requested the operation, for example: user@example.com. - "startTime": "A String", # [Output Only] The time that this operation was started by the server. This is in RFC3339 text format. + "startTime": "A String", # [Output Only] The time that this operation was started by the server. This value is in RFC3339 text format. "kind": "clouduseraccounts#operation", # [Output Only] Type of the resource. Always compute#operation for Operation resources. "name": "A String", # [Output Only] Name of the resource. - "region": "A String", # [Output Only] URL of the region where the operation resides. Only applicable for regional resources. + "region": "A String", # [Output Only] The URL of the region where the operation resides. Only available when performing regional operations. "error": { # [Output Only] If errors are generated during processing of the operation, this field will be populated. "errors": [ # [Output Only] The array of errors encountered while processing this operation. { "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, - "endTime": "A String", # [Output Only] The time that this operation was completed. This is in RFC3339 text format. + "endTime": "A String", # [Output Only] The time that this operation was completed. This value is in RFC3339 text format. "selfLink": "A String", # [Output Only] Server-defined URL for the resource. - "targetLink": "A String", # [Output Only] URL of the resource the operation is mutating. + "targetLink": "A String", # [Output Only] The URL of the resource that the operation modifies. } @@ -566,10 +591,20 @@

Method Details

# # **Example** # - # { "bindings": [ { "role": "roles/owner", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@appspot.gserviceaccount.com"] }, { "role": "roles/viewer", "members": ["user:sean@example.com"] } ] } + # { "bindings": [ { "role": "roles/owner", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@appspot.gserviceaccount.com", ] }, { "role": "roles/viewer", "members": ["user:sean@example.com"] } ] } # # For a description of IAM and its features, see the [IAM developer's guide](https://cloud.google.com/iam). - "rules": [ + "auditConfigs": [ # Specifies audit logging configs for "data access". "data access": generally refers to data reads/writes and admin reads. "admin activity": generally refers to admin writes. + # + # Note: `AuditConfig` doesn't apply to "admin activity", which always enables audit logging. + { # Enables "data access" audit logging for a service and specifies a list of members that are log-exempted. + "exemptedMembers": [ # Specifies the identities that are exempted from "data access" audit logging for the `service` specified above. Follows the same format of Binding.members. + "A String", + ], + "service": "A String", # Specifies a service that will be enabled for "data access" audit logging. For example, `resourcemanager`, `storage`, `compute`. `allServices` is a special value that covers all services. + }, + ], + "rules": [ # If more than one rule is specified, the rules are applied in the following manner: - All matching LOG rules are always applied. - If any DENY/DENY_WITH_LOG rule matches, permission is denied. Logging will be applied if one or more matching rule requires logging. - Otherwise, if any ALLOW/ALLOW_WITH_LOG rule matches, permission is granted. Logging will be applied if one or more matching rule requires logging. - Otherwise, if no rule applies, permission is denied. { # A rule to be applied in a Policy. "logConfigs": [ # The config returned to callers of tech.iam.IAM.CheckPolicy for any entries that match the LOG action. { # Specifies what kind of log the caller must write @@ -604,10 +639,14 @@

Method Details

"description": "A String", # Human-readable description of the rule. }, ], + "version": 42, # Version of the `Policy`. The default version is 0. + "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. + # + # If no `etag` is provided in the call to `setIamPolicy`, then the existing policy is overwritten blindly. "bindings": [ # Associates a list of `members` to a `role`. Multiple `bindings` must not be specified for the same `role`. `bindings` with no members will result in an error. { # Associates `members` with a `role`. "role": "A String", # Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. - "members": [ # Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following formats: + "members": [ # Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following values: # # * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. # @@ -624,8 +663,7 @@

Method Details

], }, ], - "etag": "A String", # Can be used to perform a read-modify-write. - "version": 42, # Version of the `Policy`. The default version is 0. + "iamOwned": True or False, } @@ -640,10 +678,20 @@

Method Details

# # **Example** # - # { "bindings": [ { "role": "roles/owner", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@appspot.gserviceaccount.com"] }, { "role": "roles/viewer", "members": ["user:sean@example.com"] } ] } + # { "bindings": [ { "role": "roles/owner", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@appspot.gserviceaccount.com", ] }, { "role": "roles/viewer", "members": ["user:sean@example.com"] } ] } # # For a description of IAM and its features, see the [IAM developer's guide](https://cloud.google.com/iam). - "rules": [ + "auditConfigs": [ # Specifies audit logging configs for "data access". "data access": generally refers to data reads/writes and admin reads. "admin activity": generally refers to admin writes. + # + # Note: `AuditConfig` doesn't apply to "admin activity", which always enables audit logging. + { # Enables "data access" audit logging for a service and specifies a list of members that are log-exempted. + "exemptedMembers": [ # Specifies the identities that are exempted from "data access" audit logging for the `service` specified above. Follows the same format of Binding.members. + "A String", + ], + "service": "A String", # Specifies a service that will be enabled for "data access" audit logging. For example, `resourcemanager`, `storage`, `compute`. `allServices` is a special value that covers all services. + }, + ], + "rules": [ # If more than one rule is specified, the rules are applied in the following manner: - All matching LOG rules are always applied. - If any DENY/DENY_WITH_LOG rule matches, permission is denied. Logging will be applied if one or more matching rule requires logging. - Otherwise, if any ALLOW/ALLOW_WITH_LOG rule matches, permission is granted. Logging will be applied if one or more matching rule requires logging. - Otherwise, if no rule applies, permission is denied. { # A rule to be applied in a Policy. "logConfigs": [ # The config returned to callers of tech.iam.IAM.CheckPolicy for any entries that match the LOG action. { # Specifies what kind of log the caller must write @@ -678,10 +726,14 @@

Method Details

"description": "A String", # Human-readable description of the rule. }, ], + "version": 42, # Version of the `Policy`. The default version is 0. + "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. + # + # If no `etag` is provided in the call to `setIamPolicy`, then the existing policy is overwritten blindly. "bindings": [ # Associates a list of `members` to a `role`. Multiple `bindings` must not be specified for the same `role`. `bindings` with no members will result in an error. { # Associates `members` with a `role`. "role": "A String", # Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. - "members": [ # Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following formats: + "members": [ # Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following values: # # * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. # @@ -698,8 +750,7 @@

Method Details

], }, ], - "etag": "A String", # Can be used to perform a read-modify-write. - "version": 42, # Version of the `Policy`. The default version is 0. + "iamOwned": True or False, } diff --git a/docs/dyn/compute_v1.addresses.html b/docs/dyn/compute_v1.addresses.html index 8949ac8f8dc..657c5c786ac 100644 --- a/docs/dyn/compute_v1.addresses.html +++ b/docs/dyn/compute_v1.addresses.html @@ -108,11 +108,11 @@

Method Details

The field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. -For example, to filter for instances whose name is not equal to example-instance, you would use filter=name ne example-instance. +For example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance. -Compute Engine Beta API Only: If you use filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. In particular, use filtering on nested fields to take advantage of instance labels to organize and filter results based on label values. +Compute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values. -The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions meaning that resources must match all expressions to pass the filters. +The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters. Returns: An object of the form: @@ -128,7 +128,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -145,7 +145,7 @@

Method Details

"creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format. "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server. "selfLink": "A String", # [Output Only] Server-defined URL for the resource. - "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. + "name": "A String", # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. }, ], }, @@ -176,7 +176,7 @@

Method Details

Args: project: string, Project ID for this request. (required) - region: string, The name of the region for this request. (required) + region: string, Name of the region for this request. (required) address: string, Name of the address resource to delete. (required) Returns: @@ -204,7 +204,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -219,7 +219,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -235,7 +235,7 @@

Method Details

Args: project: string, Project ID for this request. (required) - region: string, The name of the region for this request. (required) + region: string, Name of the region for this request. (required) address: string, Name of the address resource to return. (required) Returns: @@ -253,7 +253,7 @@

Method Details

"creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format. "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server. "selfLink": "A String", # [Output Only] Server-defined URL for the resource. - "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. + "name": "A String", # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. } @@ -263,7 +263,7 @@

Method Details

Args: project: string, Project ID for this request. (required) - region: string, The name of the region for this request. (required) + region: string, Name of the region for this request. (required) body: object, The request body. (required) The object takes the form of: @@ -279,7 +279,7 @@

Method Details

"creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format. "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server. "selfLink": "A String", # [Output Only] Server-defined URL for the resource. - "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. + "name": "A String", # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. } @@ -308,7 +308,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -323,7 +323,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -339,18 +339,18 @@

Method Details

Args: project: string, Project ID for this request. (required) - region: string, The name of the region for this request. (required) + region: string, Name of the region for this request. (required) maxResults: integer, The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. pageToken: string, Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. filter: string, Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string. The field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. -For example, to filter for instances whose name is not equal to example-instance, you would use filter=name ne example-instance. +For example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance. -Compute Engine Beta API Only: If you use filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. In particular, use filtering on nested fields to take advantage of instance labels to organize and filter results based on label values. +Compute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values. -The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions meaning that resources must match all expressions to pass the filters. +The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters. Returns: An object of the form: @@ -370,7 +370,7 @@

Method Details

"creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format. "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server. "selfLink": "A String", # [Output Only] Server-defined URL for the resource. - "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. + "name": "A String", # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. }, ], "kind": "compute#addressList", # [Output Only] Type of resource. Always compute#addressList for lists of addresses. diff --git a/docs/dyn/compute_v1.autoscalers.html b/docs/dyn/compute_v1.autoscalers.html index 350a00249fd..3608bfd46c0 100644 --- a/docs/dyn/compute_v1.autoscalers.html +++ b/docs/dyn/compute_v1.autoscalers.html @@ -82,25 +82,25 @@

Instance Methods

Retrieves the next page of results.

delete(project, zone, autoscaler)

-

Deletes the specified autoscaler resource.

+

Deletes the specified autoscaler.

get(project, zone, autoscaler)

-

Returns the specified autoscaler resource.

+

Returns the specified autoscaler resource. Get a list of available autoscalers by making a list() request.

insert(project, zone, body)

-

Creates an autoscaler resource in the specified project using the data included in the request.

+

Creates an autoscaler in the specified project using the data included in the request.

list(project, zone, maxResults=None, pageToken=None, filter=None)

-

Retrieves a list of autoscaler resources contained within the specified zone.

+

Retrieves a list of autoscalers contained within the specified zone.

list_next(previous_request, previous_response)

Retrieves the next page of results.

patch(project, zone, autoscaler, body)

-

Updates an autoscaler resource in the specified project using the data included in the request. This method supports patch semantics.

+

Updates an autoscaler in the specified project using the data included in the request. This method supports patch semantics.

update(project, zone, body, autoscaler=None)

-

Updates an autoscaler resource in the specified project using the data included in the request.

+

Updates an autoscaler in the specified project using the data included in the request.

Method Details

aggregatedList(project, maxResults=None, pageToken=None, filter=None) @@ -114,11 +114,11 @@

Method Details

The field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. -For example, to filter for instances whose name is not equal to example-instance, you would use filter=name ne example-instance. +For example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance. -Compute Engine Beta API Only: If you use filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. In particular, use filtering on nested fields to take advantage of instance labels to organize and filter results based on label values. +Compute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values. -The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions meaning that resources must match all expressions to pass the filters. +The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters. Returns: An object of the form: @@ -126,42 +126,57 @@

Method Details

{ "nextPageToken": "A String", # [Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results. "items": { # A map of scoped autoscaler lists. - "a_key": { # Name of the scope containing this set of autoscalers. - "warning": { # Informational warning which replaces the list of autoscalers when the list is empty. + "a_key": { # [Output Only] Name of the scope containing this set of autoscalers. + "warning": { # [Output Only] Informational warning which replaces the list of autoscalers when the list is empty. "message": "A String", # [Output Only] A human-readable description of the warning code. "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response. "data": [ # [Output Only] Metadata about this warning in key: value format. For example: # "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, - "autoscalers": [ # List of autoscalers contained in this scope. - { - "kind": "compute#autoscaler", # Type of the resource. + "autoscalers": [ # [Output Only] List of autoscalers contained in this scope. + { # Represents an Autoscaler resource. Autoscalers allow you to automatically scale virtual machine instances in managed instance groups according to an autoscaling policy that you define. For more information, read Autoscaling Groups of Instances. + "kind": "compute#autoscaler", # [Output Only] Type of the resource. Always compute#autoscaler for autoscalers. "description": "A String", # An optional description of this resource. Provide this property when you create the resource. "zone": "A String", # [Output Only] URL of the zone where the instance group resides. - "autoscalingPolicy": { # Cloud Autoscaler policy. # Autoscaling configuration. - "maxNumReplicas": 42, # The maximum number of replicas that the Autoscaler can scale up to. This field is required for config to be effective. Maximum number of replicas should be not lower than minimal number of replicas. Absolute limit for this value is defined in Autoscaler backend. - "coolDownPeriodSec": 42, # The number of seconds that the Autoscaler should wait between two succeeding changes to the number of virtual machines. You should define an interval that is at least as long as the initialization time of a virtual machine and the time it may take for replica pool to create the virtual machine. The default is 60 seconds. - "loadBalancingUtilization": { # Load balancing utilization policy. # Configuration parameters of autoscaling based on load balancer. - "utilizationTarget": 3.14, # Fraction of backend capacity utilization (set in HTTP load balancing configuration) that Autoscaler should maintain. Must be a positive float value. If not defined, the default is 0.8. For example if your maxRatePerInstance capacity (in HTTP Load Balancing configuration) is set at 10 and you would like to keep number of instances such that each instance receives 7 QPS on average, set this to 0.7. + "autoscalingPolicy": { # Cloud Autoscaler policy. # The configuration parameters for the autoscaling algorithm. You can define one or more of the policies for an autoscaler: cpuUtilization, customMetricUtilizations, and loadBalancingUtilization. + # + # If none of these are specified, the default will be to autoscale based on cpuUtilization to 0.8 or 80%. + "maxNumReplicas": 42, # The maximum number of instances that the autoscaler can scale up to. This is required when creating or updating an autoscaler. The maximum number of replicas should not be lower than minimal number of replicas. + "coolDownPeriodSec": 42, # The number of seconds that the autoscaler should wait before it starts collecting information from a new instance. This prevents the autoscaler from collecting information when the instance is initializing, during which the collected usage would not be reliable. The default time autoscaler waits is 60 seconds. + # + # Virtual machine initialization times might vary because of numerous factors. We recommend that you test how long an instance may take to initialize. To do this, create an instance and time the startup process. + "loadBalancingUtilization": { # Configuration parameters of autoscaling based on load balancing. # Configuration parameters of autoscaling based on load balancer. + "utilizationTarget": 3.14, # Fraction of backend capacity utilization (set in HTTP(s) load balancing configuration) that autoscaler should maintain. Must be a positive float value. If not defined, the default is 0.8. }, - "customMetricUtilizations": [ # Configuration parameters of autoscaling based on custom metric. + "customMetricUtilizations": [ # Configuration parameters of autoscaling based on a custom metric. { # Custom utilization metric policy. - "metric": "A String", # Identifier of the metric. It should be a Cloud Monitoring metric. The metric can not have negative values. The metric should be an utilization metric (increasing number of VMs handling requests x times should reduce average value of the metric roughly x times). For example you could use: compute.googleapis.com/instance/network/received_bytes_count. - "utilizationTargetType": "A String", # Defines type in which utilization_target is expressed. - "utilizationTarget": 3.14, # Target value of the metric which Autoscaler should maintain. Must be a positive value. + "metric": "A String", # The identifier of the Cloud Monitoring metric. The metric cannot have negative values and should be a utilization metric, which means that the number of virtual machines handling requests should increase or decrease proportionally to the metric. The metric must also have a label of compute.googleapis.com/resource_id with the value of the instance's unique ID, although this alone does not guarantee that the metric is valid. + # + # For example, the following is a valid metric: + # compute.googleapis.com/instance/network/received_bytes_count + # + # + # The following is not a valid metric because it does not increase or decrease based on usage: + # compute.googleapis.com/instance/cpu/reserved_cores + "utilizationTargetType": "A String", # Defines how target utilization value is expressed for a Cloud Monitoring metric. Either GAUGE, DELTA_PER_SECOND, or DELTA_PER_MINUTE. If not specified, the default is GAUGE. + "utilizationTarget": 3.14, # Target value of the metric which autoscaler should maintain. Must be a positive value. }, ], - "cpuUtilization": { # CPU utilization policy. # TODO(jbartosik): Add support for scaling based on muliple utilization metrics (take max recommendation). Exactly one utilization policy should be provided. Configuration parameters of CPU based autoscaling policy. - "utilizationTarget": 3.14, # The target utilization that the Autoscaler should maintain. It is represented as a fraction of used cores. For example: 6 cores used in 8-core VM are represented here as 0.75. Must be a float value between (0, 1]. If not defined, the default is 0.8. + "cpuUtilization": { # CPU utilization policy. # Defines the CPU utilization policy that allows the autoscaler to scale based on the average CPU utilization of a managed instance group. + "utilizationTarget": 3.14, # The target CPU utilization that the autoscaler should maintain. Must be a float value in the range (0, 1]. If not specified, the default is 0.8. + # + # If the CPU level is below the target utilization, the autoscaler scales down the number of instances until it reaches the minimum number of instances you specified or until the average CPU of your instances reaches the target utilization. + # + # If the average CPU is above the target utilization, the autoscaler scales up until it reaches the maximum number of instances you specified or until the average utilization reaches the target utilization. }, - "minNumReplicas": 42, # The minimum number of replicas that the Autoscaler can scale down to. Can't be less than 0. If not provided Autoscaler will choose default value depending on maximal number of replicas. + "minNumReplicas": 42, # The minimum number of replicas that the autoscaler can scale down to. This cannot be less than 0. If not provided, autoscaler will choose a default value depending on maximum number of instances allowed. }, - "target": "A String", # URL of Instance Group Manager or Replica Pool which will be controlled by Autoscaler. + "target": "A String", # URL of the managed instance group that this autoscaler will scale. "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format. "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server. "selfLink": "A String", # [Output Only] Server-defined URL for the resource. @@ -170,7 +185,7 @@

Method Details

], }, }, - "kind": "compute#autoscalerAggregatedList", # Type of resource. + "kind": "compute#autoscalerAggregatedList", # [Output Only] Type of resource. Always compute#autoscalerAggregatedList for aggregated lists of autoscalers. "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server. "selfLink": "A String", # [Output Only] Server-defined URL for this resource. } @@ -192,12 +207,12 @@

Method Details

delete(project, zone, autoscaler) -
Deletes the specified autoscaler resource.
+  
Deletes the specified autoscaler.
 
 Args:
   project: string, Project ID for this request. (required)
-  zone: string, Name of the zone scoping this request. (required)
-  autoscaler: string, Name of the persistent autoscaler resource to delete. (required)
+  zone: string, Name of the zone for this request. (required)
+  autoscaler: string, Name of the autoscaler to delete. (required)
 
 Returns:
   An object of the form:
@@ -224,7 +239,7 @@ 

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -239,7 +254,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -251,39 +266,54 @@

Method Details

get(project, zone, autoscaler) -
Returns the specified autoscaler resource.
+  
Returns the specified autoscaler resource. Get a list of available autoscalers by making a list() request.
 
 Args:
   project: string, Project ID for this request. (required)
-  zone: string, Name of the zone scoping this request. (required)
-  autoscaler: string, Name of the persistent autoscaler resource to return. (required)
+  zone: string, Name of the zone for this request. (required)
+  autoscaler: string, Name of the autoscaler to return. (required)
 
 Returns:
   An object of the form:
 
-    {
-      "kind": "compute#autoscaler", # Type of the resource.
+    { # Represents an Autoscaler resource. Autoscalers allow you to automatically scale virtual machine instances in managed instance groups according to an autoscaling policy that you define. For more information, read Autoscaling Groups of Instances.
+      "kind": "compute#autoscaler", # [Output Only] Type of the resource. Always compute#autoscaler for autoscalers.
       "description": "A String", # An optional description of this resource. Provide this property when you create the resource.
       "zone": "A String", # [Output Only] URL of the zone where the instance group resides.
-      "autoscalingPolicy": { # Cloud Autoscaler policy. # Autoscaling configuration.
-        "maxNumReplicas": 42, # The maximum number of replicas that the Autoscaler can scale up to. This field is required for config to be effective. Maximum number of replicas should be not lower than minimal number of replicas. Absolute limit for this value is defined in Autoscaler backend.
-        "coolDownPeriodSec": 42, # The number of seconds that the Autoscaler should wait between two succeeding changes to the number of virtual machines. You should define an interval that is at least as long as the initialization time of a virtual machine and the time it may take for replica pool to create the virtual machine. The default is 60 seconds.
-        "loadBalancingUtilization": { # Load balancing utilization policy. # Configuration parameters of autoscaling based on load balancer.
-          "utilizationTarget": 3.14, # Fraction of backend capacity utilization (set in HTTP load balancing configuration) that Autoscaler should maintain. Must be a positive float value. If not defined, the default is 0.8. For example if your maxRatePerInstance capacity (in HTTP Load Balancing configuration) is set at 10 and you would like to keep number of instances such that each instance receives 7 QPS on average, set this to 0.7.
+      "autoscalingPolicy": { # Cloud Autoscaler policy. # The configuration parameters for the autoscaling algorithm. You can define one or more of the policies for an autoscaler: cpuUtilization, customMetricUtilizations, and loadBalancingUtilization.
+          #
+          # If none of these are specified, the default will be to autoscale based on cpuUtilization to 0.8 or 80%.
+        "maxNumReplicas": 42, # The maximum number of instances that the autoscaler can scale up to. This is required when creating or updating an autoscaler. The maximum number of replicas should not be lower than minimal number of replicas.
+        "coolDownPeriodSec": 42, # The number of seconds that the autoscaler should wait before it starts collecting information from a new instance. This prevents the autoscaler from collecting information when the instance is initializing, during which the collected usage would not be reliable. The default time autoscaler waits is 60 seconds.
+            #
+            # Virtual machine initialization times might vary because of numerous factors. We recommend that you test how long an instance may take to initialize. To do this, create an instance and time the startup process.
+        "loadBalancingUtilization": { # Configuration parameters of autoscaling based on load balancing. # Configuration parameters of autoscaling based on load balancer.
+          "utilizationTarget": 3.14, # Fraction of backend capacity utilization (set in HTTP(s) load balancing configuration) that autoscaler should maintain. Must be a positive float value. If not defined, the default is 0.8.
         },
-        "customMetricUtilizations": [ # Configuration parameters of autoscaling based on custom metric.
+        "customMetricUtilizations": [ # Configuration parameters of autoscaling based on a custom metric.
           { # Custom utilization metric policy.
-            "metric": "A String", # Identifier of the metric. It should be a Cloud Monitoring metric. The metric can not have negative values. The metric should be an utilization metric (increasing number of VMs handling requests x times should reduce average value of the metric roughly x times). For example you could use: compute.googleapis.com/instance/network/received_bytes_count.
-            "utilizationTargetType": "A String", # Defines type in which utilization_target is expressed.
-            "utilizationTarget": 3.14, # Target value of the metric which Autoscaler should maintain. Must be a positive value.
+            "metric": "A String", # The identifier of the Cloud Monitoring metric. The metric cannot have negative values and should be a utilization metric, which means that the number of virtual machines handling requests should increase or decrease proportionally to the metric. The metric must also have a label of compute.googleapis.com/resource_id with the value of the instance's unique ID, although this alone does not guarantee that the metric is valid.
+                #
+                # For example, the following is a valid metric:
+                # compute.googleapis.com/instance/network/received_bytes_count
+                #
+                #
+                # The following is not a valid metric because it does not increase or decrease based on usage:
+                # compute.googleapis.com/instance/cpu/reserved_cores
+            "utilizationTargetType": "A String", # Defines how target utilization value is expressed for a Cloud Monitoring metric. Either GAUGE, DELTA_PER_SECOND, or DELTA_PER_MINUTE. If not specified, the default is GAUGE.
+            "utilizationTarget": 3.14, # Target value of the metric which autoscaler should maintain. Must be a positive value.
           },
         ],
-        "cpuUtilization": { # CPU utilization policy. # TODO(jbartosik): Add support for scaling based on muliple utilization metrics (take max recommendation). Exactly one utilization policy should be provided. Configuration parameters of CPU based autoscaling policy.
-          "utilizationTarget": 3.14, # The target utilization that the Autoscaler should maintain. It is represented as a fraction of used cores. For example: 6 cores used in 8-core VM are represented here as 0.75. Must be a float value between (0, 1]. If not defined, the default is 0.8.
+        "cpuUtilization": { # CPU utilization policy. # Defines the CPU utilization policy that allows the autoscaler to scale based on the average CPU utilization of a managed instance group.
+          "utilizationTarget": 3.14, # The target CPU utilization that the autoscaler should maintain. Must be a float value in the range (0, 1]. If not specified, the default is 0.8.
+              #
+              # If the CPU level is below the target utilization, the autoscaler scales down the number of instances until it reaches the minimum number of instances you specified or until the average CPU of your instances reaches the target utilization.
+              #
+              # If the average CPU is above the target utilization, the autoscaler scales up until it reaches the maximum number of instances you specified or until the average utilization reaches the target utilization.
         },
-        "minNumReplicas": 42, # The minimum number of replicas that the Autoscaler can scale down to. Can't be less than 0. If not provided Autoscaler will choose default value depending on maximal number of replicas.
+        "minNumReplicas": 42, # The minimum number of replicas that the autoscaler can scale down to. This cannot be less than 0. If not provided, autoscaler will choose a default value depending on maximum number of instances allowed.
       },
-      "target": "A String", # URL of Instance Group Manager or Replica Pool which will be controlled by Autoscaler.
+      "target": "A String", # URL of the managed instance group that this autoscaler will scale.
       "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format.
       "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server.
       "selfLink": "A String", # [Output Only] Server-defined URL for the resource.
@@ -293,37 +323,52 @@ 

Method Details

insert(project, zone, body) -
Creates an autoscaler resource in the specified project using the data included in the request.
+  
Creates an autoscaler in the specified project using the data included in the request.
 
 Args:
   project: string, Project ID for this request. (required)
-  zone: string, Name of the zone scoping this request. (required)
+  zone: string, Name of the zone for this request. (required)
   body: object, The request body. (required)
     The object takes the form of:
 
-{
-    "kind": "compute#autoscaler", # Type of the resource.
+{ # Represents an Autoscaler resource. Autoscalers allow you to automatically scale virtual machine instances in managed instance groups according to an autoscaling policy that you define. For more information, read Autoscaling Groups of Instances.
+    "kind": "compute#autoscaler", # [Output Only] Type of the resource. Always compute#autoscaler for autoscalers.
     "description": "A String", # An optional description of this resource. Provide this property when you create the resource.
     "zone": "A String", # [Output Only] URL of the zone where the instance group resides.
-    "autoscalingPolicy": { # Cloud Autoscaler policy. # Autoscaling configuration.
-      "maxNumReplicas": 42, # The maximum number of replicas that the Autoscaler can scale up to. This field is required for config to be effective. Maximum number of replicas should be not lower than minimal number of replicas. Absolute limit for this value is defined in Autoscaler backend.
-      "coolDownPeriodSec": 42, # The number of seconds that the Autoscaler should wait between two succeeding changes to the number of virtual machines. You should define an interval that is at least as long as the initialization time of a virtual machine and the time it may take for replica pool to create the virtual machine. The default is 60 seconds.
-      "loadBalancingUtilization": { # Load balancing utilization policy. # Configuration parameters of autoscaling based on load balancer.
-        "utilizationTarget": 3.14, # Fraction of backend capacity utilization (set in HTTP load balancing configuration) that Autoscaler should maintain. Must be a positive float value. If not defined, the default is 0.8. For example if your maxRatePerInstance capacity (in HTTP Load Balancing configuration) is set at 10 and you would like to keep number of instances such that each instance receives 7 QPS on average, set this to 0.7.
+    "autoscalingPolicy": { # Cloud Autoscaler policy. # The configuration parameters for the autoscaling algorithm. You can define one or more of the policies for an autoscaler: cpuUtilization, customMetricUtilizations, and loadBalancingUtilization.
+        # 
+        # If none of these are specified, the default will be to autoscale based on cpuUtilization to 0.8 or 80%.
+      "maxNumReplicas": 42, # The maximum number of instances that the autoscaler can scale up to. This is required when creating or updating an autoscaler. The maximum number of replicas should not be lower than minimal number of replicas.
+      "coolDownPeriodSec": 42, # The number of seconds that the autoscaler should wait before it starts collecting information from a new instance. This prevents the autoscaler from collecting information when the instance is initializing, during which the collected usage would not be reliable. The default time autoscaler waits is 60 seconds.
+          #
+          # Virtual machine initialization times might vary because of numerous factors. We recommend that you test how long an instance may take to initialize. To do this, create an instance and time the startup process.
+      "loadBalancingUtilization": { # Configuration parameters of autoscaling based on load balancing. # Configuration parameters of autoscaling based on load balancer.
+        "utilizationTarget": 3.14, # Fraction of backend capacity utilization (set in HTTP(s) load balancing configuration) that autoscaler should maintain. Must be a positive float value. If not defined, the default is 0.8.
       },
-      "customMetricUtilizations": [ # Configuration parameters of autoscaling based on custom metric.
+      "customMetricUtilizations": [ # Configuration parameters of autoscaling based on a custom metric.
         { # Custom utilization metric policy.
-          "metric": "A String", # Identifier of the metric. It should be a Cloud Monitoring metric. The metric can not have negative values. The metric should be an utilization metric (increasing number of VMs handling requests x times should reduce average value of the metric roughly x times). For example you could use: compute.googleapis.com/instance/network/received_bytes_count.
-          "utilizationTargetType": "A String", # Defines type in which utilization_target is expressed.
-          "utilizationTarget": 3.14, # Target value of the metric which Autoscaler should maintain. Must be a positive value.
+          "metric": "A String", # The identifier of the Cloud Monitoring metric. The metric cannot have negative values and should be a utilization metric, which means that the number of virtual machines handling requests should increase or decrease proportionally to the metric. The metric must also have a label of compute.googleapis.com/resource_id with the value of the instance's unique ID, although this alone does not guarantee that the metric is valid.
+              #
+              # For example, the following is a valid metric:
+              # compute.googleapis.com/instance/network/received_bytes_count
+              #
+              #
+              # The following is not a valid metric because it does not increase or decrease based on usage:
+              # compute.googleapis.com/instance/cpu/reserved_cores
+          "utilizationTargetType": "A String", # Defines how target utilization value is expressed for a Cloud Monitoring metric. Either GAUGE, DELTA_PER_SECOND, or DELTA_PER_MINUTE. If not specified, the default is GAUGE.
+          "utilizationTarget": 3.14, # Target value of the metric which autoscaler should maintain. Must be a positive value.
         },
       ],
-      "cpuUtilization": { # CPU utilization policy. # TODO(jbartosik): Add support for scaling based on muliple utilization metrics (take max recommendation). Exactly one utilization policy should be provided. Configuration parameters of CPU based autoscaling policy.
-        "utilizationTarget": 3.14, # The target utilization that the Autoscaler should maintain. It is represented as a fraction of used cores. For example: 6 cores used in 8-core VM are represented here as 0.75. Must be a float value between (0, 1]. If not defined, the default is 0.8.
+      "cpuUtilization": { # CPU utilization policy. # Defines the CPU utilization policy that allows the autoscaler to scale based on the average CPU utilization of a managed instance group.
+        "utilizationTarget": 3.14, # The target CPU utilization that the autoscaler should maintain. Must be a float value in the range (0, 1]. If not specified, the default is 0.8.
+            #
+            # If the CPU level is below the target utilization, the autoscaler scales down the number of instances until it reaches the minimum number of instances you specified or until the average CPU of your instances reaches the target utilization.
+            #
+            # If the average CPU is above the target utilization, the autoscaler scales up until it reaches the maximum number of instances you specified or until the average utilization reaches the target utilization.
       },
-      "minNumReplicas": 42, # The minimum number of replicas that the Autoscaler can scale down to. Can't be less than 0. If not provided Autoscaler will choose default value depending on maximal number of replicas.
+      "minNumReplicas": 42, # The minimum number of replicas that the autoscaler can scale down to. This cannot be less than 0. If not provided, autoscaler will choose a default value depending on maximum number of instances allowed.
     },
-    "target": "A String", # URL of Instance Group Manager or Replica Pool which will be controlled by Autoscaler.
+    "target": "A String", # URL of the managed instance group that this autoscaler will scale.
     "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format.
     "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server.
     "selfLink": "A String", # [Output Only] Server-defined URL for the resource.
@@ -356,7 +401,7 @@ 

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -371,7 +416,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -383,59 +428,74 @@

Method Details

list(project, zone, maxResults=None, pageToken=None, filter=None) -
Retrieves a list of autoscaler resources contained within the specified zone.
+  
Retrieves a list of autoscalers contained within the specified zone.
 
 Args:
   project: string, Project ID for this request. (required)
-  zone: string, Name of the zone scoping this request. (required)
+  zone: string, Name of the zone for this request. (required)
   maxResults: integer, The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests.
   pageToken: string, Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results.
   filter: string, Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string.
 
 The field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.
 
-For example, to filter for instances whose name is not equal to example-instance, you would use filter=name ne example-instance.
+For example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance.
 
-Compute Engine Beta API Only: If you use filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. In particular, use filtering on nested fields to take advantage of instance labels to organize and filter results based on label values.
+Compute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values.
 
-The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions meaning that resources must match all expressions to pass the filters.
+The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters.
 
 Returns:
   An object of the form:
 
-    { # Contains a list of persistent autoscaler resources.
+    { # Contains a list of Autoscaler resources.
     "nextPageToken": "A String", # [Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.
     "items": [ # A list of Autoscaler resources.
-      {
-          "kind": "compute#autoscaler", # Type of the resource.
+      { # Represents an Autoscaler resource. Autoscalers allow you to automatically scale virtual machine instances in managed instance groups according to an autoscaling policy that you define. For more information, read Autoscaling Groups of Instances.
+          "kind": "compute#autoscaler", # [Output Only] Type of the resource. Always compute#autoscaler for autoscalers.
           "description": "A String", # An optional description of this resource. Provide this property when you create the resource.
           "zone": "A String", # [Output Only] URL of the zone where the instance group resides.
-          "autoscalingPolicy": { # Cloud Autoscaler policy. # Autoscaling configuration.
-            "maxNumReplicas": 42, # The maximum number of replicas that the Autoscaler can scale up to. This field is required for config to be effective. Maximum number of replicas should be not lower than minimal number of replicas. Absolute limit for this value is defined in Autoscaler backend.
-            "coolDownPeriodSec": 42, # The number of seconds that the Autoscaler should wait between two succeeding changes to the number of virtual machines. You should define an interval that is at least as long as the initialization time of a virtual machine and the time it may take for replica pool to create the virtual machine. The default is 60 seconds.
-            "loadBalancingUtilization": { # Load balancing utilization policy. # Configuration parameters of autoscaling based on load balancer.
-              "utilizationTarget": 3.14, # Fraction of backend capacity utilization (set in HTTP load balancing configuration) that Autoscaler should maintain. Must be a positive float value. If not defined, the default is 0.8. For example if your maxRatePerInstance capacity (in HTTP Load Balancing configuration) is set at 10 and you would like to keep number of instances such that each instance receives 7 QPS on average, set this to 0.7.
+          "autoscalingPolicy": { # Cloud Autoscaler policy. # The configuration parameters for the autoscaling algorithm. You can define one or more of the policies for an autoscaler: cpuUtilization, customMetricUtilizations, and loadBalancingUtilization.
+              #
+              # If none of these are specified, the default will be to autoscale based on cpuUtilization to 0.8 or 80%.
+            "maxNumReplicas": 42, # The maximum number of instances that the autoscaler can scale up to. This is required when creating or updating an autoscaler. The maximum number of replicas should not be lower than minimal number of replicas.
+            "coolDownPeriodSec": 42, # The number of seconds that the autoscaler should wait before it starts collecting information from a new instance. This prevents the autoscaler from collecting information when the instance is initializing, during which the collected usage would not be reliable. The default time autoscaler waits is 60 seconds.
+                #
+                # Virtual machine initialization times might vary because of numerous factors. We recommend that you test how long an instance may take to initialize. To do this, create an instance and time the startup process.
+            "loadBalancingUtilization": { # Configuration parameters of autoscaling based on load balancing. # Configuration parameters of autoscaling based on load balancer.
+              "utilizationTarget": 3.14, # Fraction of backend capacity utilization (set in HTTP(s) load balancing configuration) that autoscaler should maintain. Must be a positive float value. If not defined, the default is 0.8.
             },
-            "customMetricUtilizations": [ # Configuration parameters of autoscaling based on custom metric.
+            "customMetricUtilizations": [ # Configuration parameters of autoscaling based on a custom metric.
               { # Custom utilization metric policy.
-                "metric": "A String", # Identifier of the metric. It should be a Cloud Monitoring metric. The metric can not have negative values. The metric should be an utilization metric (increasing number of VMs handling requests x times should reduce average value of the metric roughly x times). For example you could use: compute.googleapis.com/instance/network/received_bytes_count.
-                "utilizationTargetType": "A String", # Defines type in which utilization_target is expressed.
-                "utilizationTarget": 3.14, # Target value of the metric which Autoscaler should maintain. Must be a positive value.
+                "metric": "A String", # The identifier of the Cloud Monitoring metric. The metric cannot have negative values and should be a utilization metric, which means that the number of virtual machines handling requests should increase or decrease proportionally to the metric. The metric must also have a label of compute.googleapis.com/resource_id with the value of the instance's unique ID, although this alone does not guarantee that the metric is valid.
+                    #
+                    # For example, the following is a valid metric:
+                    # compute.googleapis.com/instance/network/received_bytes_count
+                    #
+                    #
+                    # The following is not a valid metric because it does not increase or decrease based on usage:
+                    # compute.googleapis.com/instance/cpu/reserved_cores
+                "utilizationTargetType": "A String", # Defines how target utilization value is expressed for a Cloud Monitoring metric. Either GAUGE, DELTA_PER_SECOND, or DELTA_PER_MINUTE. If not specified, the default is GAUGE.
+                "utilizationTarget": 3.14, # Target value of the metric which autoscaler should maintain. Must be a positive value.
               },
             ],
-            "cpuUtilization": { # CPU utilization policy. # TODO(jbartosik): Add support for scaling based on muliple utilization metrics (take max recommendation). Exactly one utilization policy should be provided. Configuration parameters of CPU based autoscaling policy.
-              "utilizationTarget": 3.14, # The target utilization that the Autoscaler should maintain. It is represented as a fraction of used cores. For example: 6 cores used in 8-core VM are represented here as 0.75. Must be a float value between (0, 1]. If not defined, the default is 0.8.
+            "cpuUtilization": { # CPU utilization policy. # Defines the CPU utilization policy that allows the autoscaler to scale based on the average CPU utilization of a managed instance group.
+              "utilizationTarget": 3.14, # The target CPU utilization that the autoscaler should maintain. Must be a float value in the range (0, 1]. If not specified, the default is 0.8.
+                  #
+                  # If the CPU level is below the target utilization, the autoscaler scales down the number of instances until it reaches the minimum number of instances you specified or until the average CPU of your instances reaches the target utilization.
+                  #
+                  # If the average CPU is above the target utilization, the autoscaler scales up until it reaches the maximum number of instances you specified or until the average utilization reaches the target utilization.
             },
-            "minNumReplicas": 42, # The minimum number of replicas that the Autoscaler can scale down to. Can't be less than 0. If not provided Autoscaler will choose default value depending on maximal number of replicas.
+            "minNumReplicas": 42, # The minimum number of replicas that the autoscaler can scale down to. This cannot be less than 0. If not provided, autoscaler will choose a default value depending on maximum number of instances allowed.
           },
-          "target": "A String", # URL of Instance Group Manager or Replica Pool which will be controlled by Autoscaler.
+          "target": "A String", # URL of the managed instance group that this autoscaler will scale.
           "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format.
           "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server.
           "selfLink": "A String", # [Output Only] Server-defined URL for the resource.
           "name": "A String", # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
         },
     ],
-    "kind": "compute#autoscalerList", # Type of resource.
+    "kind": "compute#autoscalerList", # [Output Only] Type of resource. Always compute#autoscalerList for lists of autoscalers.
     "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server.
     "selfLink": "A String", # [Output Only] Server-defined URL for this resource.
   }
@@ -457,38 +517,53 @@

Method Details

patch(project, zone, autoscaler, body) -
Updates an autoscaler resource in the specified project using the data included in the request. This method supports patch semantics.
+  
Updates an autoscaler in the specified project using the data included in the request. This method supports patch semantics.
 
 Args:
   project: string, Project ID for this request. (required)
-  zone: string, Name of the zone scoping this request. (required)
-  autoscaler: string, Name of the autoscaler resource to update. (required)
+  zone: string, Name of the zone for this request. (required)
+  autoscaler: string, Name of the autoscaler to update. (required)
   body: object, The request body. (required)
     The object takes the form of:
 
-{
-    "kind": "compute#autoscaler", # Type of the resource.
+{ # Represents an Autoscaler resource. Autoscalers allow you to automatically scale virtual machine instances in managed instance groups according to an autoscaling policy that you define. For more information, read Autoscaling Groups of Instances.
+    "kind": "compute#autoscaler", # [Output Only] Type of the resource. Always compute#autoscaler for autoscalers.
     "description": "A String", # An optional description of this resource. Provide this property when you create the resource.
     "zone": "A String", # [Output Only] URL of the zone where the instance group resides.
-    "autoscalingPolicy": { # Cloud Autoscaler policy. # Autoscaling configuration.
-      "maxNumReplicas": 42, # The maximum number of replicas that the Autoscaler can scale up to. This field is required for config to be effective. Maximum number of replicas should be not lower than minimal number of replicas. Absolute limit for this value is defined in Autoscaler backend.
-      "coolDownPeriodSec": 42, # The number of seconds that the Autoscaler should wait between two succeeding changes to the number of virtual machines. You should define an interval that is at least as long as the initialization time of a virtual machine and the time it may take for replica pool to create the virtual machine. The default is 60 seconds.
-      "loadBalancingUtilization": { # Load balancing utilization policy. # Configuration parameters of autoscaling based on load balancer.
-        "utilizationTarget": 3.14, # Fraction of backend capacity utilization (set in HTTP load balancing configuration) that Autoscaler should maintain. Must be a positive float value. If not defined, the default is 0.8. For example if your maxRatePerInstance capacity (in HTTP Load Balancing configuration) is set at 10 and you would like to keep number of instances such that each instance receives 7 QPS on average, set this to 0.7.
+    "autoscalingPolicy": { # Cloud Autoscaler policy. # The configuration parameters for the autoscaling algorithm. You can define one or more of the policies for an autoscaler: cpuUtilization, customMetricUtilizations, and loadBalancingUtilization.
+        # 
+        # If none of these are specified, the default will be to autoscale based on cpuUtilization to 0.8 or 80%.
+      "maxNumReplicas": 42, # The maximum number of instances that the autoscaler can scale up to. This is required when creating or updating an autoscaler. The maximum number of replicas should not be lower than minimal number of replicas.
+      "coolDownPeriodSec": 42, # The number of seconds that the autoscaler should wait before it starts collecting information from a new instance. This prevents the autoscaler from collecting information when the instance is initializing, during which the collected usage would not be reliable. The default time autoscaler waits is 60 seconds.
+          #
+          # Virtual machine initialization times might vary because of numerous factors. We recommend that you test how long an instance may take to initialize. To do this, create an instance and time the startup process.
+      "loadBalancingUtilization": { # Configuration parameters of autoscaling based on load balancing. # Configuration parameters of autoscaling based on load balancer.
+        "utilizationTarget": 3.14, # Fraction of backend capacity utilization (set in HTTP(s) load balancing configuration) that autoscaler should maintain. Must be a positive float value. If not defined, the default is 0.8.
       },
-      "customMetricUtilizations": [ # Configuration parameters of autoscaling based on custom metric.
+      "customMetricUtilizations": [ # Configuration parameters of autoscaling based on a custom metric.
         { # Custom utilization metric policy.
-          "metric": "A String", # Identifier of the metric. It should be a Cloud Monitoring metric. The metric can not have negative values. The metric should be an utilization metric (increasing number of VMs handling requests x times should reduce average value of the metric roughly x times). For example you could use: compute.googleapis.com/instance/network/received_bytes_count.
-          "utilizationTargetType": "A String", # Defines type in which utilization_target is expressed.
-          "utilizationTarget": 3.14, # Target value of the metric which Autoscaler should maintain. Must be a positive value.
+          "metric": "A String", # The identifier of the Cloud Monitoring metric. The metric cannot have negative values and should be a utilization metric, which means that the number of virtual machines handling requests should increase or decrease proportionally to the metric. The metric must also have a label of compute.googleapis.com/resource_id with the value of the instance's unique ID, although this alone does not guarantee that the metric is valid.
+              #
+              # For example, the following is a valid metric:
+              # compute.googleapis.com/instance/network/received_bytes_count
+              #
+              #
+              # The following is not a valid metric because it does not increase or decrease based on usage:
+              # compute.googleapis.com/instance/cpu/reserved_cores
+          "utilizationTargetType": "A String", # Defines how target utilization value is expressed for a Cloud Monitoring metric. Either GAUGE, DELTA_PER_SECOND, or DELTA_PER_MINUTE. If not specified, the default is GAUGE.
+          "utilizationTarget": 3.14, # Target value of the metric which autoscaler should maintain. Must be a positive value.
         },
       ],
-      "cpuUtilization": { # CPU utilization policy. # TODO(jbartosik): Add support for scaling based on muliple utilization metrics (take max recommendation). Exactly one utilization policy should be provided. Configuration parameters of CPU based autoscaling policy.
-        "utilizationTarget": 3.14, # The target utilization that the Autoscaler should maintain. It is represented as a fraction of used cores. For example: 6 cores used in 8-core VM are represented here as 0.75. Must be a float value between (0, 1]. If not defined, the default is 0.8.
+      "cpuUtilization": { # CPU utilization policy. # Defines the CPU utilization policy that allows the autoscaler to scale based on the average CPU utilization of a managed instance group.
+        "utilizationTarget": 3.14, # The target CPU utilization that the autoscaler should maintain. Must be a float value in the range (0, 1]. If not specified, the default is 0.8.
+            #
+            # If the CPU level is below the target utilization, the autoscaler scales down the number of instances until it reaches the minimum number of instances you specified or until the average CPU of your instances reaches the target utilization.
+            #
+            # If the average CPU is above the target utilization, the autoscaler scales up until it reaches the maximum number of instances you specified or until the average utilization reaches the target utilization.
       },
-      "minNumReplicas": 42, # The minimum number of replicas that the Autoscaler can scale down to. Can't be less than 0. If not provided Autoscaler will choose default value depending on maximal number of replicas.
+      "minNumReplicas": 42, # The minimum number of replicas that the autoscaler can scale down to. This cannot be less than 0. If not provided, autoscaler will choose a default value depending on maximum number of instances allowed.
     },
-    "target": "A String", # URL of Instance Group Manager or Replica Pool which will be controlled by Autoscaler.
+    "target": "A String", # URL of the managed instance group that this autoscaler will scale.
     "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format.
     "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server.
     "selfLink": "A String", # [Output Only] Server-defined URL for the resource.
@@ -521,7 +596,7 @@ 

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -536,7 +611,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -548,44 +623,59 @@

Method Details

update(project, zone, body, autoscaler=None) -
Updates an autoscaler resource in the specified project using the data included in the request.
+  
Updates an autoscaler in the specified project using the data included in the request.
 
 Args:
   project: string, Project ID for this request. (required)
-  zone: string, Name of the zone scoping this request. (required)
+  zone: string, Name of the zone for this request. (required)
   body: object, The request body. (required)
     The object takes the form of:
 
-{
-    "kind": "compute#autoscaler", # Type of the resource.
+{ # Represents an Autoscaler resource. Autoscalers allow you to automatically scale virtual machine instances in managed instance groups according to an autoscaling policy that you define. For more information, read Autoscaling Groups of Instances.
+    "kind": "compute#autoscaler", # [Output Only] Type of the resource. Always compute#autoscaler for autoscalers.
     "description": "A String", # An optional description of this resource. Provide this property when you create the resource.
     "zone": "A String", # [Output Only] URL of the zone where the instance group resides.
-    "autoscalingPolicy": { # Cloud Autoscaler policy. # Autoscaling configuration.
-      "maxNumReplicas": 42, # The maximum number of replicas that the Autoscaler can scale up to. This field is required for config to be effective. Maximum number of replicas should be not lower than minimal number of replicas. Absolute limit for this value is defined in Autoscaler backend.
-      "coolDownPeriodSec": 42, # The number of seconds that the Autoscaler should wait between two succeeding changes to the number of virtual machines. You should define an interval that is at least as long as the initialization time of a virtual machine and the time it may take for replica pool to create the virtual machine. The default is 60 seconds.
-      "loadBalancingUtilization": { # Load balancing utilization policy. # Configuration parameters of autoscaling based on load balancer.
-        "utilizationTarget": 3.14, # Fraction of backend capacity utilization (set in HTTP load balancing configuration) that Autoscaler should maintain. Must be a positive float value. If not defined, the default is 0.8. For example if your maxRatePerInstance capacity (in HTTP Load Balancing configuration) is set at 10 and you would like to keep number of instances such that each instance receives 7 QPS on average, set this to 0.7.
+    "autoscalingPolicy": { # Cloud Autoscaler policy. # The configuration parameters for the autoscaling algorithm. You can define one or more of the policies for an autoscaler: cpuUtilization, customMetricUtilizations, and loadBalancingUtilization.
+        # 
+        # If none of these are specified, the default will be to autoscale based on cpuUtilization to 0.8 or 80%.
+      "maxNumReplicas": 42, # The maximum number of instances that the autoscaler can scale up to. This is required when creating or updating an autoscaler. The maximum number of replicas should not be lower than minimal number of replicas.
+      "coolDownPeriodSec": 42, # The number of seconds that the autoscaler should wait before it starts collecting information from a new instance. This prevents the autoscaler from collecting information when the instance is initializing, during which the collected usage would not be reliable. The default time autoscaler waits is 60 seconds.
+          #
+          # Virtual machine initialization times might vary because of numerous factors. We recommend that you test how long an instance may take to initialize. To do this, create an instance and time the startup process.
+      "loadBalancingUtilization": { # Configuration parameters of autoscaling based on load balancing. # Configuration parameters of autoscaling based on load balancer.
+        "utilizationTarget": 3.14, # Fraction of backend capacity utilization (set in HTTP(s) load balancing configuration) that autoscaler should maintain. Must be a positive float value. If not defined, the default is 0.8.
       },
-      "customMetricUtilizations": [ # Configuration parameters of autoscaling based on custom metric.
+      "customMetricUtilizations": [ # Configuration parameters of autoscaling based on a custom metric.
         { # Custom utilization metric policy.
-          "metric": "A String", # Identifier of the metric. It should be a Cloud Monitoring metric. The metric can not have negative values. The metric should be an utilization metric (increasing number of VMs handling requests x times should reduce average value of the metric roughly x times). For example you could use: compute.googleapis.com/instance/network/received_bytes_count.
-          "utilizationTargetType": "A String", # Defines type in which utilization_target is expressed.
-          "utilizationTarget": 3.14, # Target value of the metric which Autoscaler should maintain. Must be a positive value.
+          "metric": "A String", # The identifier of the Cloud Monitoring metric. The metric cannot have negative values and should be a utilization metric, which means that the number of virtual machines handling requests should increase or decrease proportionally to the metric. The metric must also have a label of compute.googleapis.com/resource_id with the value of the instance's unique ID, although this alone does not guarantee that the metric is valid.
+              #
+              # For example, the following is a valid metric:
+              # compute.googleapis.com/instance/network/received_bytes_count
+              #
+              #
+              # The following is not a valid metric because it does not increase or decrease based on usage:
+              # compute.googleapis.com/instance/cpu/reserved_cores
+          "utilizationTargetType": "A String", # Defines how target utilization value is expressed for a Cloud Monitoring metric. Either GAUGE, DELTA_PER_SECOND, or DELTA_PER_MINUTE. If not specified, the default is GAUGE.
+          "utilizationTarget": 3.14, # Target value of the metric which autoscaler should maintain. Must be a positive value.
         },
       ],
-      "cpuUtilization": { # CPU utilization policy. # TODO(jbartosik): Add support for scaling based on muliple utilization metrics (take max recommendation). Exactly one utilization policy should be provided. Configuration parameters of CPU based autoscaling policy.
-        "utilizationTarget": 3.14, # The target utilization that the Autoscaler should maintain. It is represented as a fraction of used cores. For example: 6 cores used in 8-core VM are represented here as 0.75. Must be a float value between (0, 1]. If not defined, the default is 0.8.
+      "cpuUtilization": { # CPU utilization policy. # Defines the CPU utilization policy that allows the autoscaler to scale based on the average CPU utilization of a managed instance group.
+        "utilizationTarget": 3.14, # The target CPU utilization that the autoscaler should maintain. Must be a float value in the range (0, 1]. If not specified, the default is 0.8.
+            #
+            # If the CPU level is below the target utilization, the autoscaler scales down the number of instances until it reaches the minimum number of instances you specified or until the average CPU of your instances reaches the target utilization.
+            #
+            # If the average CPU is above the target utilization, the autoscaler scales up until it reaches the maximum number of instances you specified or until the average utilization reaches the target utilization.
       },
-      "minNumReplicas": 42, # The minimum number of replicas that the Autoscaler can scale down to. Can't be less than 0. If not provided Autoscaler will choose default value depending on maximal number of replicas.
+      "minNumReplicas": 42, # The minimum number of replicas that the autoscaler can scale down to. This cannot be less than 0. If not provided, autoscaler will choose a default value depending on maximum number of instances allowed.
     },
-    "target": "A String", # URL of Instance Group Manager or Replica Pool which will be controlled by Autoscaler.
+    "target": "A String", # URL of the managed instance group that this autoscaler will scale.
     "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format.
     "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server.
     "selfLink": "A String", # [Output Only] Server-defined URL for the resource.
     "name": "A String", # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
   }
 
-  autoscaler: string, Name of the autoscaler resource to update.
+  autoscaler: string, Name of the autoscaler to update.
 
 Returns:
   An object of the form:
@@ -612,7 +702,7 @@ 

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -627,7 +717,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, diff --git a/docs/dyn/compute_v1.backendServices.html b/docs/dyn/compute_v1.backendServices.html index 00e02f516a1..12a57dd65e0 100644 --- a/docs/dyn/compute_v1.backendServices.html +++ b/docs/dyn/compute_v1.backendServices.html @@ -79,7 +79,7 @@

Instance Methods

Deletes the specified BackendService resource.

get(project, backendService)

-

Returns the specified BackendService resource.

+

Returns the specified BackendService resource. Get a list of available backend services by making a list() request.

getHealth(project, backendService, body)

Gets the most recent health check results for this BackendService.

@@ -132,7 +132,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -147,7 +147,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -159,7 +159,7 @@

Method Details

get(project, backendService) -
Returns the specified BackendService resource.
+  
Returns the specified BackendService resource. Get a list of available backend services by making a list() request.
 
 Args:
   project: string, Project ID for this request. (required)
@@ -175,6 +175,7 @@ 

Method Details

# Possible values are HTTP, HTTPS, HTTP2, TCP and SSL. "description": "A String", # An optional description of this resource. Provide this property when you create the resource. "timeoutSec": 42, # How many seconds to wait for the backend before considering it a failed request. Default is 30 seconds. + "region": "A String", # [Output Only] URL of the region where the regional backend service resides. This field is not applicable to global backend services. "port": 42, # Deprecated in favor of portName. The TCP port to connect on the backend. The default value is 80. "backends": [ # The list of backends that serve this BackendService. { # Message containing information of one individual backend. @@ -248,6 +249,7 @@

Method Details

# Possible values are HTTP, HTTPS, HTTP2, TCP and SSL. "description": "A String", # An optional description of this resource. Provide this property when you create the resource. "timeoutSec": 42, # How many seconds to wait for the backend before considering it a failed request. Default is 30 seconds. + "region": "A String", # [Output Only] URL of the region where the regional backend service resides. This field is not applicable to global backend services. "port": 42, # Deprecated in favor of portName. The TCP port to connect on the backend. The default value is 80. "backends": [ # The list of backends that serve this BackendService. { # Message containing information of one individual backend. @@ -299,7 +301,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -314,7 +316,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -336,11 +338,11 @@

Method Details

The field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. -For example, to filter for instances whose name is not equal to example-instance, you would use filter=name ne example-instance. +For example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance. -Compute Engine Beta API Only: If you use filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. In particular, use filtering on nested fields to take advantage of instance labels to organize and filter results based on label values. +Compute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values. -The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions meaning that resources must match all expressions to pass the filters. +The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters. Returns: An object of the form: @@ -355,6 +357,7 @@

Method Details

# Possible values are HTTP, HTTPS, HTTP2, TCP and SSL. "description": "A String", # An optional description of this resource. Provide this property when you create the resource. "timeoutSec": 42, # How many seconds to wait for the backend before considering it a failed request. Default is 30 seconds. + "region": "A String", # [Output Only] URL of the region where the regional backend service resides. This field is not applicable to global backend services. "port": 42, # Deprecated in favor of portName. The TCP port to connect on the backend. The default value is 80. "backends": [ # The list of backends that serve this BackendService. { # Message containing information of one individual backend. @@ -417,6 +420,7 @@

Method Details

# Possible values are HTTP, HTTPS, HTTP2, TCP and SSL. "description": "A String", # An optional description of this resource. Provide this property when you create the resource. "timeoutSec": 42, # How many seconds to wait for the backend before considering it a failed request. Default is 30 seconds. + "region": "A String", # [Output Only] URL of the region where the regional backend service resides. This field is not applicable to global backend services. "port": 42, # Deprecated in favor of portName. The TCP port to connect on the backend. The default value is 80. "backends": [ # The list of backends that serve this BackendService. { # Message containing information of one individual backend. @@ -468,7 +472,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -483,7 +487,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -510,6 +514,7 @@

Method Details

# Possible values are HTTP, HTTPS, HTTP2, TCP and SSL. "description": "A String", # An optional description of this resource. Provide this property when you create the resource. "timeoutSec": 42, # How many seconds to wait for the backend before considering it a failed request. Default is 30 seconds. + "region": "A String", # [Output Only] URL of the region where the regional backend service resides. This field is not applicable to global backend services. "port": 42, # Deprecated in favor of portName. The TCP port to connect on the backend. The default value is 80. "backends": [ # The list of backends that serve this BackendService. { # Message containing information of one individual backend. @@ -561,7 +566,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -576,7 +581,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, diff --git a/docs/dyn/compute_v1.diskTypes.html b/docs/dyn/compute_v1.diskTypes.html index 0735e1e6058..52d6a860eac 100644 --- a/docs/dyn/compute_v1.diskTypes.html +++ b/docs/dyn/compute_v1.diskTypes.html @@ -82,7 +82,7 @@

Instance Methods

Retrieves the next page of results.

get(project, zone, diskType)

-

Returns the specified disk type.

+

Returns the specified disk type. Get a list of available disk types by making a list() request.

list(project, zone, maxResults=None, pageToken=None, filter=None)

Retrieves a list of disk types available to the specified project.

@@ -102,11 +102,11 @@

Method Details

The field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. -For example, to filter for instances whose name is not equal to example-instance, you would use filter=name ne example-instance. +For example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance. -Compute Engine Beta API Only: If you use filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. In particular, use filtering on nested fields to take advantage of instance labels to organize and filter results based on label values. +Compute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values. -The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions meaning that resources must match all expressions to pass the filters. +The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters. Returns: An object of the form: @@ -122,7 +122,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -170,7 +170,7 @@

Method Details

get(project, zone, diskType) -
Returns the specified disk type.
+  
Returns the specified disk type. Get a list of available disk types by making a list() request.
 
 Args:
   project: string, Project ID for this request. (required)
@@ -213,11 +213,11 @@ 

Method Details

The field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. -For example, to filter for instances whose name is not equal to example-instance, you would use filter=name ne example-instance. +For example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance. -Compute Engine Beta API Only: If you use filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. In particular, use filtering on nested fields to take advantage of instance labels to organize and filter results based on label values. +Compute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values. -The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions meaning that resources must match all expressions to pass the filters. +The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters. Returns: An object of the form: diff --git a/docs/dyn/compute_v1.disks.html b/docs/dyn/compute_v1.disks.html index 158f79ccc7e..bc1fc9beeaf 100644 --- a/docs/dyn/compute_v1.disks.html +++ b/docs/dyn/compute_v1.disks.html @@ -88,16 +88,19 @@

Instance Methods

Deletes the specified persistent disk. Deleting a disk removes its data permanently and is irreversible. However, deleting a disk does not delete any snapshots previously made from the disk. You must separately delete snapshots.

get(project, zone, disk)

-

Returns a specified persistent disk.

+

Returns a specified persistent disk. Get a list of available persistent disks by making a list() request.

insert(project, zone, body, sourceImage=None)

-

Creates a persistent disk in the specified project using the data in the request. You can create a disk with a sourceImage, a sourceSnapshot, or create an empty 200 GB data disk by omitting all properties. You can also create a disk that is larger than the default size by specifying the sizeGb property.

+

Creates a persistent disk in the specified project using the data in the request. You can create a disk with a sourceImage, a sourceSnapshot, or create an empty 500 GB data disk by omitting all properties. You can also create a disk that is larger than the default size by specifying the sizeGb property.

list(project, zone, maxResults=None, pageToken=None, filter=None)

Retrieves a list of persistent disks contained within the specified zone.

list_next(previous_request, previous_response)

Retrieves the next page of results.

+

+ resize(project, zone, disk, body)

+

Resizes the specified persistent disk.

Method Details

aggregatedList(project, maxResults=None, pageToken=None, filter=None) @@ -111,11 +114,11 @@

Method Details

The field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. -For example, to filter for instances whose name is not equal to example-instance, you would use filter=name ne example-instance. +For example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance. -Compute Engine Beta API Only: If you use filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. In particular, use filtering on nested fields to take advantage of instance labels to organize and filter results based on label values. +Compute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values. -The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions meaning that resources must match all expressions to pass the filters. +The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters. Returns: An object of the form: @@ -142,25 +145,23 @@

Method Details

"sourceImageId": "A String", # [Output Only] The ID value of the image used to create this disk. This value identifies the exact image that was used to create this persistent disk. For example, if you created the persistent disk from an image that was later deleted and recreated under the same name, the source image ID would identify the exact version of the image that was used. "sourceSnapshotId": "A String", # [Output Only] The unique ID of the snapshot used to create this disk. This value identifies the exact snapshot that was used to create this persistent disk. For example, if you created the persistent disk from a snapshot that was later deleted and recreated under the same name, the source snapshot ID would identify the exact version of the snapshot that was used. "lastAttachTimestamp": "A String", # [Output Only] Last attach timestamp in RFC3339 text format. - "sourceImage": "A String", # The source image used to create this disk. If the source image is deleted from the system, this field will not be set, even if an image with the same name has been re-created. - # - # When creating a disk, you can provide a private (custom) image using the following input, and Compute Engine will use the corresponding image from your project. For example: + "sourceImage": "A String", # The source image used to create this disk. If the source image is deleted, this field will not be set. # - # global/images/my-private-image + # To create a disk with one of the public operating system images, specify the image by its family name. For example, specify family/debian-8 to use the latest Debian 8 image: # - # Or you can provide an image from a publicly-available project. For example, to use a Debian image from the debian-cloud project, make sure to include the project in the URL: + # projects/debian-cloud/global/images/family/debian-8 # - # projects/debian-cloud/global/images/debian-7-wheezy-vYYYYMMDD + # Alternatively, use a specific version of a public operating system image: # - # where vYYYYMMDD is the image version. The fully-qualified URL will also work in both cases. + # projects/debian-cloud/global/images/debian-8-jessie-vYYYYMMDD # - # You can also specify the latest image for a private image family by replacing the image name suffix with family/family-name. For example: + # To create a disk with a private image that you created, specify the image name in the following format: # - # global/images/family/my-private-family + # global/images/my-private-image # - # Or you can specify an image family from a publicly-available project. For example, to use the latest Debian 7 from the debian-cloud project, make sure to include the project in the URL: + # You can also specify a private image by its image family, which returns the latest version of the image in that family. Replace the image name with family/family-name: # - # projects/debian-cloud/global/images/family/debian-7 + # global/images/family/my-private-family "licenses": [ # [Output Only] Any applicable publicly visible licenses. "A String", ], @@ -171,7 +172,7 @@

Method Details

"creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format. "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server. "selfLink": "A String", # [Output Only] Server-defined fully-qualified URL for this resource. - "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. + "name": "A String", # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. }, ], "warning": { # [Output Only] Informational warning which replaces the list of disks when the list is empty. @@ -181,7 +182,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -262,7 +263,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -277,7 +278,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -321,7 +322,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -336,7 +337,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -348,7 +349,7 @@

Method Details

get(project, zone, disk) -
Returns a specified persistent disk.
+  
Returns a specified persistent disk. Get a list of available persistent disks by making a list() request.
 
 Args:
   project: string, Project ID for this request. (required)
@@ -375,25 +376,23 @@ 

Method Details

"sourceImageId": "A String", # [Output Only] The ID value of the image used to create this disk. This value identifies the exact image that was used to create this persistent disk. For example, if you created the persistent disk from an image that was later deleted and recreated under the same name, the source image ID would identify the exact version of the image that was used. "sourceSnapshotId": "A String", # [Output Only] The unique ID of the snapshot used to create this disk. This value identifies the exact snapshot that was used to create this persistent disk. For example, if you created the persistent disk from a snapshot that was later deleted and recreated under the same name, the source snapshot ID would identify the exact version of the snapshot that was used. "lastAttachTimestamp": "A String", # [Output Only] Last attach timestamp in RFC3339 text format. - "sourceImage": "A String", # The source image used to create this disk. If the source image is deleted from the system, this field will not be set, even if an image with the same name has been re-created. + "sourceImage": "A String", # The source image used to create this disk. If the source image is deleted, this field will not be set. # - # When creating a disk, you can provide a private (custom) image using the following input, and Compute Engine will use the corresponding image from your project. For example: + # To create a disk with one of the public operating system images, specify the image by its family name. For example, specify family/debian-8 to use the latest Debian 8 image: # - # global/images/my-private-image - # - # Or you can provide an image from a publicly-available project. For example, to use a Debian image from the debian-cloud project, make sure to include the project in the URL: + # projects/debian-cloud/global/images/family/debian-8 # - # projects/debian-cloud/global/images/debian-7-wheezy-vYYYYMMDD + # Alternatively, use a specific version of a public operating system image: # - # where vYYYYMMDD is the image version. The fully-qualified URL will also work in both cases. + # projects/debian-cloud/global/images/debian-8-jessie-vYYYYMMDD # - # You can also specify the latest image for a private image family by replacing the image name suffix with family/family-name. For example: + # To create a disk with a private image that you created, specify the image name in the following format: # - # global/images/family/my-private-family + # global/images/my-private-image # - # Or you can specify an image family from a publicly-available project. For example, to use the latest Debian 7 from the debian-cloud project, make sure to include the project in the URL: + # You can also specify a private image by its image family, which returns the latest version of the image in that family. Replace the image name with family/family-name: # - # projects/debian-cloud/global/images/family/debian-7 + # global/images/family/my-private-family "licenses": [ # [Output Only] Any applicable publicly visible licenses. "A String", ], @@ -404,13 +403,13 @@

Method Details

"creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format. "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server. "selfLink": "A String", # [Output Only] Server-defined fully-qualified URL for this resource. - "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. + "name": "A String", # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. }
insert(project, zone, body, sourceImage=None) -
Creates a persistent disk in the specified project using the data in the request. You can create a disk with a sourceImage, a sourceSnapshot, or create an empty 200 GB data disk by omitting all properties. You can also create a disk that is larger than the default size by specifying the sizeGb property.
+  
Creates a persistent disk in the specified project using the data in the request. You can create a disk with a sourceImage, a sourceSnapshot, or create an empty 500 GB data disk by omitting all properties. You can also create a disk that is larger than the default size by specifying the sizeGb property.
 
 Args:
   project: string, Project ID for this request. (required)
@@ -435,25 +434,23 @@ 

Method Details

"sourceImageId": "A String", # [Output Only] The ID value of the image used to create this disk. This value identifies the exact image that was used to create this persistent disk. For example, if you created the persistent disk from an image that was later deleted and recreated under the same name, the source image ID would identify the exact version of the image that was used. "sourceSnapshotId": "A String", # [Output Only] The unique ID of the snapshot used to create this disk. This value identifies the exact snapshot that was used to create this persistent disk. For example, if you created the persistent disk from a snapshot that was later deleted and recreated under the same name, the source snapshot ID would identify the exact version of the snapshot that was used. "lastAttachTimestamp": "A String", # [Output Only] Last attach timestamp in RFC3339 text format. - "sourceImage": "A String", # The source image used to create this disk. If the source image is deleted from the system, this field will not be set, even if an image with the same name has been re-created. + "sourceImage": "A String", # The source image used to create this disk. If the source image is deleted, this field will not be set. # - # When creating a disk, you can provide a private (custom) image using the following input, and Compute Engine will use the corresponding image from your project. For example: + # To create a disk with one of the public operating system images, specify the image by its family name. For example, specify family/debian-8 to use the latest Debian 8 image: # - # global/images/my-private-image - # - # Or you can provide an image from a publicly-available project. For example, to use a Debian image from the debian-cloud project, make sure to include the project in the URL: + # projects/debian-cloud/global/images/family/debian-8 # - # projects/debian-cloud/global/images/debian-7-wheezy-vYYYYMMDD + # Alternatively, use a specific version of a public operating system image: # - # where vYYYYMMDD is the image version. The fully-qualified URL will also work in both cases. + # projects/debian-cloud/global/images/debian-8-jessie-vYYYYMMDD # - # You can also specify the latest image for a private image family by replacing the image name suffix with family/family-name. For example: + # To create a disk with a private image that you created, specify the image name in the following format: # - # global/images/family/my-private-family + # global/images/my-private-image # - # Or you can specify an image family from a publicly-available project. For example, to use the latest Debian 7 from the debian-cloud project, make sure to include the project in the URL: + # You can also specify a private image by its image family, which returns the latest version of the image in that family. Replace the image name with family/family-name: # - # projects/debian-cloud/global/images/family/debian-7 + # global/images/family/my-private-family "licenses": [ # [Output Only] Any applicable publicly visible licenses. "A String", ], @@ -464,7 +461,7 @@

Method Details

"creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format. "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server. "selfLink": "A String", # [Output Only] Server-defined fully-qualified URL for this resource. - "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. + "name": "A String", # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. } sourceImage: string, Optional. Source image to restore onto a disk. @@ -494,7 +491,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -509,7 +506,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -532,11 +529,11 @@

Method Details

The field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. -For example, to filter for instances whose name is not equal to example-instance, you would use filter=name ne example-instance. +For example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance. -Compute Engine Beta API Only: If you use filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. In particular, use filtering on nested fields to take advantage of instance labels to organize and filter results based on label values. +Compute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values. -The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions meaning that resources must match all expressions to pass the filters. +The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters. Returns: An object of the form: @@ -561,25 +558,23 @@

Method Details

"sourceImageId": "A String", # [Output Only] The ID value of the image used to create this disk. This value identifies the exact image that was used to create this persistent disk. For example, if you created the persistent disk from an image that was later deleted and recreated under the same name, the source image ID would identify the exact version of the image that was used. "sourceSnapshotId": "A String", # [Output Only] The unique ID of the snapshot used to create this disk. This value identifies the exact snapshot that was used to create this persistent disk. For example, if you created the persistent disk from a snapshot that was later deleted and recreated under the same name, the source snapshot ID would identify the exact version of the snapshot that was used. "lastAttachTimestamp": "A String", # [Output Only] Last attach timestamp in RFC3339 text format. - "sourceImage": "A String", # The source image used to create this disk. If the source image is deleted from the system, this field will not be set, even if an image with the same name has been re-created. - # - # When creating a disk, you can provide a private (custom) image using the following input, and Compute Engine will use the corresponding image from your project. For example: + "sourceImage": "A String", # The source image used to create this disk. If the source image is deleted, this field will not be set. # - # global/images/my-private-image + # To create a disk with one of the public operating system images, specify the image by its family name. For example, specify family/debian-8 to use the latest Debian 8 image: # - # Or you can provide an image from a publicly-available project. For example, to use a Debian image from the debian-cloud project, make sure to include the project in the URL: + # projects/debian-cloud/global/images/family/debian-8 # - # projects/debian-cloud/global/images/debian-7-wheezy-vYYYYMMDD + # Alternatively, use a specific version of a public operating system image: # - # where vYYYYMMDD is the image version. The fully-qualified URL will also work in both cases. + # projects/debian-cloud/global/images/debian-8-jessie-vYYYYMMDD # - # You can also specify the latest image for a private image family by replacing the image name suffix with family/family-name. For example: + # To create a disk with a private image that you created, specify the image name in the following format: # - # global/images/family/my-private-family + # global/images/my-private-image # - # Or you can specify an image family from a publicly-available project. For example, to use the latest Debian 7 from the debian-cloud project, make sure to include the project in the URL: + # You can also specify a private image by its image family, which returns the latest version of the image in that family. Replace the image name with family/family-name: # - # projects/debian-cloud/global/images/family/debian-7 + # global/images/family/my-private-family "licenses": [ # [Output Only] Any applicable publicly visible licenses. "A String", ], @@ -590,7 +585,7 @@

Method Details

"creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format. "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server. "selfLink": "A String", # [Output Only] Server-defined fully-qualified URL for this resource. - "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. + "name": "A String", # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. }, ], "kind": "compute#diskList", # [Output Only] Type of resource. Always compute#diskList for lists of disks. @@ -613,4 +608,70 @@

Method Details

+
+ resize(project, zone, disk, body) +
Resizes the specified persistent disk.
+
+Args:
+  project: string, Project ID for this request. (required)
+  zone: string, The name of the zone for this request. (required)
+  disk: string, The name of the persistent disk. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "sizeGb": "A String", # The new size of the persistent disk, which is specified in GB.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # An Operation resource, used to manage asynchronous API requests.
+    "targetId": "A String", # [Output Only] The unique target ID, which identifies a specific incarnation of the target resource.
+    "clientOperationId": "A String", # [Output Only] Reserved for future use.
+    "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format.
+    "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server.
+    "zone": "A String", # [Output Only] The URL of the zone where the operation resides. Only available when performing per-zone operations.
+    "insertTime": "A String", # [Output Only] The time that this operation was requested. This value is in RFC3339 text format.
+    "operationType": "A String", # [Output Only] The type of operation, such as insert, update, or delete, and so on.
+    "httpErrorMessage": "A String", # [Output Only] If the operation fails, this field contains the HTTP error message that was returned, such as NOT FOUND.
+    "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess when the operation will be complete. This number should monotonically increase as the operation progresses.
+    "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error status code that was returned. For example, a 404 means the resource was not found.
+    "statusMessage": "A String", # [Output Only] An optional textual description of the current status of the operation.
+    "status": "A String", # [Output Only] The status of the operation, which can be one of the following: PENDING, RUNNING, or DONE.
+    "description": "A String", # [Output Only] A textual description of the operation, which is set when the operation is created.
+    "warnings": [ # [Output Only] If warning messages are generated during processing of the operation, this field will be populated.
+      {
+        "message": "A String", # [Output Only] A human-readable description of the warning code.
+        "code": "A String", # [Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.
+        "data": [ # [Output Only] Metadata about this warning in key: value format. For example:
+            # "data": [ { "key": "scope", "value": "zones/us-east1-d" }
+          {
+            "value": "A String", # [Output Only] A warning data value corresponding to the key.
+            "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).
+          },
+        ],
+      },
+    ],
+    "user": "A String", # [Output Only] User who requested the operation, for example: user@example.com.
+    "startTime": "A String", # [Output Only] The time that this operation was started by the server. This value is in RFC3339 text format.
+    "kind": "compute#operation", # [Output Only] Type of the resource. Always compute#operation for Operation resources.
+    "name": "A String", # [Output Only] Name of the resource.
+    "region": "A String", # [Output Only] The URL of the region where the operation resides. Only available when performing regional operations.
+    "error": { # [Output Only] If errors are generated during processing of the operation, this field will be populated.
+      "errors": [ # [Output Only] The array of errors encountered while processing this operation.
+        {
+          "message": "A String", # [Output Only] An optional, human-readable error message.
+          "code": "A String", # [Output Only] The error type identifier for this error.
+          "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional.
+        },
+      ],
+    },
+    "endTime": "A String", # [Output Only] The time that this operation was completed. This value is in RFC3339 text format.
+    "selfLink": "A String", # [Output Only] Server-defined URL for the resource.
+    "targetLink": "A String", # [Output Only] The URL of the resource that the operation modifies.
+  }
+
+ \ No newline at end of file diff --git a/docs/dyn/compute_v1.firewalls.html b/docs/dyn/compute_v1.firewalls.html index 65f44f34182..e3f17d8b18c 100644 --- a/docs/dyn/compute_v1.firewalls.html +++ b/docs/dyn/compute_v1.firewalls.html @@ -129,7 +129,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -144,7 +144,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -171,6 +171,8 @@

Method Details

"sourceTags": [ # A list of instance tags which this rule applies to. One or both of sourceRanges and sourceTags may be set. # # If both properties are set, an inbound connection is allowed if the range matches the sourceRanges OR the tag of the source matches the sourceTags property. The connection does not need to match both properties. + # + # Source tags cannot be used to allow access to an instance's external IP address. Because tags are associated with an instance, not an IP address, source tags can only be used to control traffic traveling from an instance inside the same network as the firewall. "A String", ], "sourceRanges": [ # The IP address blocks that this rule applies to, expressed in CIDR format. One or both of sourceRanges and sourceTags may be set. @@ -219,6 +221,8 @@

Method Details

"sourceTags": [ # A list of instance tags which this rule applies to. One or both of sourceRanges and sourceTags may be set. # # If both properties are set, an inbound connection is allowed if the range matches the sourceRanges OR the tag of the source matches the sourceTags property. The connection does not need to match both properties. + # + # Source tags cannot be used to allow access to an instance's external IP address. Because tags are associated with an instance, not an IP address, source tags can only be used to control traffic traveling from an instance inside the same network as the firewall. "A String", ], "sourceRanges": [ # The IP address blocks that this rule applies to, expressed in CIDR format. One or both of sourceRanges and sourceTags may be set. @@ -277,7 +281,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -292,7 +296,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -314,11 +318,11 @@

Method Details

The field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. -For example, to filter for instances whose name is not equal to example-instance, you would use filter=name ne example-instance. +For example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance. -Compute Engine Beta API Only: If you use filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. In particular, use filtering on nested fields to take advantage of instance labels to organize and filter results based on label values. +Compute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values. -The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions meaning that resources must match all expressions to pass the filters. +The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters. Returns: An object of the form: @@ -332,6 +336,8 @@

Method Details

"sourceTags": [ # A list of instance tags which this rule applies to. One or both of sourceRanges and sourceTags may be set. # # If both properties are set, an inbound connection is allowed if the range matches the sourceRanges OR the tag of the source matches the sourceTags property. The connection does not need to match both properties. + # + # Source tags cannot be used to allow access to an instance's external IP address. Because tags are associated with an instance, not an IP address, source tags can only be used to control traffic traveling from an instance inside the same network as the firewall. "A String", ], "sourceRanges": [ # The IP address blocks that this rule applies to, expressed in CIDR format. One or both of sourceRanges and sourceTags may be set. @@ -400,6 +406,8 @@

Method Details

"sourceTags": [ # A list of instance tags which this rule applies to. One or both of sourceRanges and sourceTags may be set. # # If both properties are set, an inbound connection is allowed if the range matches the sourceRanges OR the tag of the source matches the sourceTags property. The connection does not need to match both properties. + # + # Source tags cannot be used to allow access to an instance's external IP address. Because tags are associated with an instance, not an IP address, source tags can only be used to control traffic traveling from an instance inside the same network as the firewall. "A String", ], "sourceRanges": [ # The IP address blocks that this rule applies to, expressed in CIDR format. One or both of sourceRanges and sourceTags may be set. @@ -458,7 +466,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -473,7 +481,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -499,6 +507,8 @@

Method Details

"sourceTags": [ # A list of instance tags which this rule applies to. One or both of sourceRanges and sourceTags may be set. # # If both properties are set, an inbound connection is allowed if the range matches the sourceRanges OR the tag of the source matches the sourceTags property. The connection does not need to match both properties. + # + # Source tags cannot be used to allow access to an instance's external IP address. Because tags are associated with an instance, not an IP address, source tags can only be used to control traffic traveling from an instance inside the same network as the firewall. "A String", ], "sourceRanges": [ # The IP address blocks that this rule applies to, expressed in CIDR format. One or both of sourceRanges and sourceTags may be set. @@ -557,7 +567,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -572,7 +582,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, diff --git a/docs/dyn/compute_v1.forwardingRules.html b/docs/dyn/compute_v1.forwardingRules.html index d9aeb4e8e5c..0f5d51e93ce 100644 --- a/docs/dyn/compute_v1.forwardingRules.html +++ b/docs/dyn/compute_v1.forwardingRules.html @@ -111,11 +111,11 @@

Method Details

The field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. -For example, to filter for instances whose name is not equal to example-instance, you would use filter=name ne example-instance. +For example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance. -Compute Engine Beta API Only: If you use filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. In particular, use filtering on nested fields to take advantage of instance labels to organize and filter results based on label values. +Compute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values. -The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions meaning that resources must match all expressions to pass the filters. +The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters. Returns: An object of the form: @@ -132,7 +132,7 @@

Method Details

"region": "A String", # [Output Only] URL of the region where the regional forwarding rule resides. This field is not applicable to global forwarding rules. "target": "A String", # The URL of the target resource to receive the matched traffic. For regional forwarding rules, this target must live in the same region as the forwarding rule. For global forwarding rules, this target must be a global TargetHttpProxy or TargetHttpsProxy resource. The forwarded traffic must be of a type appropriate to the target object. For example, TargetHttpProxy requires HTTP traffic, and TargetHttpsProxy requires HTTPS traffic. "portRange": "A String", # Applicable only when IPProtocol is TCP, UDP, or SCTP, only packets addressed to ports in the specified range will be forwarded to target. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint port ranges. - "IPProtocol": "A String", # The IP protocol to which this rule applies. Valid options are TCP, UDP, ESP, AH or SCTP. + "IPProtocol": "A String", # The IP protocol to which this rule applies. Valid options are TCP, UDP, ESP, AH, SCTP or ICMP. "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format. "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server. "selfLink": "A String", # [Output Only] Server-defined URL for the resource. @@ -146,7 +146,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -206,7 +206,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -221,7 +221,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -250,7 +250,7 @@

Method Details

"region": "A String", # [Output Only] URL of the region where the regional forwarding rule resides. This field is not applicable to global forwarding rules. "target": "A String", # The URL of the target resource to receive the matched traffic. For regional forwarding rules, this target must live in the same region as the forwarding rule. For global forwarding rules, this target must be a global TargetHttpProxy or TargetHttpsProxy resource. The forwarded traffic must be of a type appropriate to the target object. For example, TargetHttpProxy requires HTTP traffic, and TargetHttpsProxy requires HTTPS traffic. "portRange": "A String", # Applicable only when IPProtocol is TCP, UDP, or SCTP, only packets addressed to ports in the specified range will be forwarded to target. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint port ranges. - "IPProtocol": "A String", # The IP protocol to which this rule applies. Valid options are TCP, UDP, ESP, AH or SCTP. + "IPProtocol": "A String", # The IP protocol to which this rule applies. Valid options are TCP, UDP, ESP, AH, SCTP or ICMP. "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format. "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server. "selfLink": "A String", # [Output Only] Server-defined URL for the resource. @@ -275,7 +275,7 @@

Method Details

"region": "A String", # [Output Only] URL of the region where the regional forwarding rule resides. This field is not applicable to global forwarding rules. "target": "A String", # The URL of the target resource to receive the matched traffic. For regional forwarding rules, this target must live in the same region as the forwarding rule. For global forwarding rules, this target must be a global TargetHttpProxy or TargetHttpsProxy resource. The forwarded traffic must be of a type appropriate to the target object. For example, TargetHttpProxy requires HTTP traffic, and TargetHttpsProxy requires HTTPS traffic. "portRange": "A String", # Applicable only when IPProtocol is TCP, UDP, or SCTP, only packets addressed to ports in the specified range will be forwarded to target. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint port ranges. - "IPProtocol": "A String", # The IP protocol to which this rule applies. Valid options are TCP, UDP, ESP, AH or SCTP. + "IPProtocol": "A String", # The IP protocol to which this rule applies. Valid options are TCP, UDP, ESP, AH, SCTP or ICMP. "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format. "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server. "selfLink": "A String", # [Output Only] Server-defined URL for the resource. @@ -308,7 +308,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -323,7 +323,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -346,11 +346,11 @@

Method Details

The field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. -For example, to filter for instances whose name is not equal to example-instance, you would use filter=name ne example-instance. +For example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance. -Compute Engine Beta API Only: If you use filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. In particular, use filtering on nested fields to take advantage of instance labels to organize and filter results based on label values. +Compute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values. -The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions meaning that resources must match all expressions to pass the filters. +The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters. Returns: An object of the form: @@ -365,7 +365,7 @@

Method Details

"region": "A String", # [Output Only] URL of the region where the regional forwarding rule resides. This field is not applicable to global forwarding rules. "target": "A String", # The URL of the target resource to receive the matched traffic. For regional forwarding rules, this target must live in the same region as the forwarding rule. For global forwarding rules, this target must be a global TargetHttpProxy or TargetHttpsProxy resource. The forwarded traffic must be of a type appropriate to the target object. For example, TargetHttpProxy requires HTTP traffic, and TargetHttpsProxy requires HTTPS traffic. "portRange": "A String", # Applicable only when IPProtocol is TCP, UDP, or SCTP, only packets addressed to ports in the specified range will be forwarded to target. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint port ranges. - "IPProtocol": "A String", # The IP protocol to which this rule applies. Valid options are TCP, UDP, ESP, AH or SCTP. + "IPProtocol": "A String", # The IP protocol to which this rule applies. Valid options are TCP, UDP, ESP, AH, SCTP or ICMP. "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format. "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server. "selfLink": "A String", # [Output Only] Server-defined URL for the resource. @@ -433,7 +433,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -448,7 +448,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, diff --git a/docs/dyn/compute_v1.globalAddresses.html b/docs/dyn/compute_v1.globalAddresses.html index d721ae7ec64..160804461b7 100644 --- a/docs/dyn/compute_v1.globalAddresses.html +++ b/docs/dyn/compute_v1.globalAddresses.html @@ -79,7 +79,7 @@

Instance Methods

Deletes the specified address resource.

get(project, address)

-

Returns the specified address resource.

+

Returns the specified address resource. Get a list of available addresses by making a list() request.

insert(project, body)

Creates an address resource in the specified project using the data included in the request.

@@ -123,7 +123,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -138,7 +138,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -150,7 +150,7 @@

Method Details

get(project, address) -
Returns the specified address resource.
+  
Returns the specified address resource. Get a list of available addresses by making a list() request.
 
 Args:
   project: string, Project ID for this request. (required)
@@ -171,7 +171,7 @@ 

Method Details

"creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format. "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server. "selfLink": "A String", # [Output Only] Server-defined URL for the resource. - "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. + "name": "A String", # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. }
@@ -196,7 +196,7 @@

Method Details

"creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format. "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server. "selfLink": "A String", # [Output Only] Server-defined URL for the resource. - "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. + "name": "A String", # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. } @@ -225,7 +225,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -240,7 +240,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -262,11 +262,11 @@

Method Details

The field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. -For example, to filter for instances whose name is not equal to example-instance, you would use filter=name ne example-instance. +For example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance. -Compute Engine Beta API Only: If you use filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. In particular, use filtering on nested fields to take advantage of instance labels to organize and filter results based on label values. +Compute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values. -The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions meaning that resources must match all expressions to pass the filters. +The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters. Returns: An object of the form: @@ -286,7 +286,7 @@

Method Details

"creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format. "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server. "selfLink": "A String", # [Output Only] Server-defined URL for the resource. - "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. + "name": "A String", # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. }, ], "kind": "compute#addressList", # [Output Only] Type of resource. Always compute#addressList for lists of addresses. diff --git a/docs/dyn/compute_v1.globalForwardingRules.html b/docs/dyn/compute_v1.globalForwardingRules.html index 94bd50ef929..43b84cdcf43 100644 --- a/docs/dyn/compute_v1.globalForwardingRules.html +++ b/docs/dyn/compute_v1.globalForwardingRules.html @@ -79,7 +79,7 @@

Instance Methods

Deletes the specified ForwardingRule resource.

get(project, forwardingRule)

-

Returns the specified ForwardingRule resource.

+

Returns the specified ForwardingRule resource. Get a list of available forwarding rules by making a list() request.

insert(project, body)

Creates a ForwardingRule resource in the specified project and region using the data included in the request.

@@ -126,7 +126,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -141,7 +141,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -153,7 +153,7 @@

Method Details

get(project, forwardingRule) -
Returns the specified ForwardingRule resource.
+  
Returns the specified ForwardingRule resource. Get a list of available forwarding rules by making a list() request.
 
 Args:
   project: string, Project ID for this request. (required)
@@ -169,7 +169,7 @@ 

Method Details

"region": "A String", # [Output Only] URL of the region where the regional forwarding rule resides. This field is not applicable to global forwarding rules. "target": "A String", # The URL of the target resource to receive the matched traffic. For regional forwarding rules, this target must live in the same region as the forwarding rule. For global forwarding rules, this target must be a global TargetHttpProxy or TargetHttpsProxy resource. The forwarded traffic must be of a type appropriate to the target object. For example, TargetHttpProxy requires HTTP traffic, and TargetHttpsProxy requires HTTPS traffic. "portRange": "A String", # Applicable only when IPProtocol is TCP, UDP, or SCTP, only packets addressed to ports in the specified range will be forwarded to target. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint port ranges. - "IPProtocol": "A String", # The IP protocol to which this rule applies. Valid options are TCP, UDP, ESP, AH or SCTP. + "IPProtocol": "A String", # The IP protocol to which this rule applies. Valid options are TCP, UDP, ESP, AH, SCTP or ICMP. "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format. "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server. "selfLink": "A String", # [Output Only] Server-defined URL for the resource. @@ -193,7 +193,7 @@

Method Details

"region": "A String", # [Output Only] URL of the region where the regional forwarding rule resides. This field is not applicable to global forwarding rules. "target": "A String", # The URL of the target resource to receive the matched traffic. For regional forwarding rules, this target must live in the same region as the forwarding rule. For global forwarding rules, this target must be a global TargetHttpProxy or TargetHttpsProxy resource. The forwarded traffic must be of a type appropriate to the target object. For example, TargetHttpProxy requires HTTP traffic, and TargetHttpsProxy requires HTTPS traffic. "portRange": "A String", # Applicable only when IPProtocol is TCP, UDP, or SCTP, only packets addressed to ports in the specified range will be forwarded to target. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint port ranges. - "IPProtocol": "A String", # The IP protocol to which this rule applies. Valid options are TCP, UDP, ESP, AH or SCTP. + "IPProtocol": "A String", # The IP protocol to which this rule applies. Valid options are TCP, UDP, ESP, AH, SCTP or ICMP. "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format. "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server. "selfLink": "A String", # [Output Only] Server-defined URL for the resource. @@ -226,7 +226,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -241,7 +241,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -263,11 +263,11 @@

Method Details

The field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. -For example, to filter for instances whose name is not equal to example-instance, you would use filter=name ne example-instance. +For example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance. -Compute Engine Beta API Only: If you use filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. In particular, use filtering on nested fields to take advantage of instance labels to organize and filter results based on label values. +Compute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values. -The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions meaning that resources must match all expressions to pass the filters. +The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters. Returns: An object of the form: @@ -282,7 +282,7 @@

Method Details

"region": "A String", # [Output Only] URL of the region where the regional forwarding rule resides. This field is not applicable to global forwarding rules. "target": "A String", # The URL of the target resource to receive the matched traffic. For regional forwarding rules, this target must live in the same region as the forwarding rule. For global forwarding rules, this target must be a global TargetHttpProxy or TargetHttpsProxy resource. The forwarded traffic must be of a type appropriate to the target object. For example, TargetHttpProxy requires HTTP traffic, and TargetHttpsProxy requires HTTPS traffic. "portRange": "A String", # Applicable only when IPProtocol is TCP, UDP, or SCTP, only packets addressed to ports in the specified range will be forwarded to target. Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint port ranges. - "IPProtocol": "A String", # The IP protocol to which this rule applies. Valid options are TCP, UDP, ESP, AH or SCTP. + "IPProtocol": "A String", # The IP protocol to which this rule applies. Valid options are TCP, UDP, ESP, AH, SCTP or ICMP. "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format. "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server. "selfLink": "A String", # [Output Only] Server-defined URL for the resource. @@ -349,7 +349,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -364,7 +364,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, diff --git a/docs/dyn/compute_v1.globalOperations.html b/docs/dyn/compute_v1.globalOperations.html index e1d0ff8725b..6330a7a148f 100644 --- a/docs/dyn/compute_v1.globalOperations.html +++ b/docs/dyn/compute_v1.globalOperations.html @@ -85,7 +85,7 @@

Instance Methods

Deletes the specified Operations resource.

get(project, operation)

-

Retrieves the specified Operations resource.

+

Retrieves the specified Operations resource. Get a list of operations by making a list() request.

list(project, maxResults=None, pageToken=None, filter=None)

Retrieves a list of Operation resources contained within the specified project.

@@ -105,11 +105,11 @@

Method Details

The field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. -For example, to filter for instances whose name is not equal to example-instance, you would use filter=name ne example-instance. +For example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance. -Compute Engine Beta API Only: If you use filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. In particular, use filtering on nested fields to take advantage of instance labels to organize and filter results based on label values. +Compute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values. -The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions meaning that resources must match all expressions to pass the filters. +The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters. Returns: An object of the form: @@ -141,7 +141,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -156,7 +156,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -172,7 +172,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -210,7 +210,7 @@

Method Details

get(project, operation) -
Retrieves the specified Operations resource.
+  
Retrieves the specified Operations resource. Get a list of operations by making a list() request.
 
 Args:
   project: string, Project ID for this request. (required)
@@ -241,7 +241,7 @@ 

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -256,7 +256,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -278,11 +278,11 @@

Method Details

The field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. -For example, to filter for instances whose name is not equal to example-instance, you would use filter=name ne example-instance. +For example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance. -Compute Engine Beta API Only: If you use filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. In particular, use filtering on nested fields to take advantage of instance labels to organize and filter results based on label values. +Compute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values. -The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions meaning that resources must match all expressions to pass the filters. +The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters. Returns: An object of the form: @@ -312,7 +312,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -327,7 +327,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, diff --git a/docs/dyn/compute_v1.httpHealthChecks.html b/docs/dyn/compute_v1.httpHealthChecks.html index cae6634873d..746dae58ed1 100644 --- a/docs/dyn/compute_v1.httpHealthChecks.html +++ b/docs/dyn/compute_v1.httpHealthChecks.html @@ -79,7 +79,7 @@

Instance Methods

Deletes the specified HttpHealthCheck resource.

get(project, httpHealthCheck)

-

Returns the specified HttpHealthCheck resource.

+

Returns the specified HttpHealthCheck resource. Get a list of available HTTP health checks by making a list() request.

insert(project, body)

Creates a HttpHealthCheck resource in the specified project using the data included in the request.

@@ -129,7 +129,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -144,7 +144,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -156,7 +156,7 @@

Method Details

get(project, httpHealthCheck) -
Returns the specified HttpHealthCheck resource.
+  
Returns the specified HttpHealthCheck resource. Get a list of available HTTP health checks by making a list() request.
 
 Args:
   project: string, Project ID for this request. (required)
@@ -233,7 +233,7 @@ 

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -248,7 +248,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -270,11 +270,11 @@

Method Details

The field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. -For example, to filter for instances whose name is not equal to example-instance, you would use filter=name ne example-instance. +For example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance. -Compute Engine Beta API Only: If you use filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. In particular, use filtering on nested fields to take advantage of instance labels to organize and filter results based on label values. +Compute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values. -The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions meaning that resources must match all expressions to pass the filters. +The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters. Returns: An object of the form: @@ -370,7 +370,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -385,7 +385,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -447,7 +447,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -462,7 +462,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, diff --git a/docs/dyn/compute_v1.httpsHealthChecks.html b/docs/dyn/compute_v1.httpsHealthChecks.html index 898f49083bc..19393659e97 100644 --- a/docs/dyn/compute_v1.httpsHealthChecks.html +++ b/docs/dyn/compute_v1.httpsHealthChecks.html @@ -79,7 +79,7 @@

Instance Methods

Deletes the specified HttpsHealthCheck resource.

get(project, httpsHealthCheck)

-

Returns the specified HttpsHealthCheck resource.

+

Returns the specified HttpsHealthCheck resource. Get a list of available HTTPS health checks by making a list() request.

insert(project, body)

Creates a HttpsHealthCheck resource in the specified project using the data included in the request.

@@ -129,7 +129,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -144,7 +144,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -156,7 +156,7 @@

Method Details

get(project, httpsHealthCheck) -
Returns the specified HttpsHealthCheck resource.
+  
Returns the specified HttpsHealthCheck resource. Get a list of available HTTPS health checks by making a list() request.
 
 Args:
   project: string, Project ID for this request. (required)
@@ -233,7 +233,7 @@ 

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -248,7 +248,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -270,11 +270,11 @@

Method Details

The field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. -For example, to filter for instances whose name is not equal to example-instance, you would use filter=name ne example-instance. +For example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance. -Compute Engine Beta API Only: If you use filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. In particular, use filtering on nested fields to take advantage of instance labels to organize and filter results based on label values. +Compute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values. -The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions meaning that resources must match all expressions to pass the filters. +The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters. Returns: An object of the form: @@ -370,7 +370,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -385,7 +385,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -447,7 +447,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -462,7 +462,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, diff --git a/docs/dyn/compute_v1.images.html b/docs/dyn/compute_v1.images.html index 24181fcf3df..eef4a08146e 100644 --- a/docs/dyn/compute_v1.images.html +++ b/docs/dyn/compute_v1.images.html @@ -82,7 +82,10 @@

Instance Methods

Sets the deprecation status of an image.

get(project, image)

-

Returns the specified image.

+

Returns the specified image. Get a list of available images by making a list() request.

+

+ getFromFamily(project, family)

+

Returns the latest image that is part of an image family and is not deprecated.

insert(project, body)

Creates an image in the specified project using the data included in the request.

@@ -126,7 +129,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -141,7 +144,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -197,7 +200,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -212,7 +215,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -224,7 +227,7 @@

Method Details

get(project, image) -
Returns the specified image.
+  
Returns the specified image. Get a list of available images by making a list() request.
 
 Args:
   project: string, Project ID for this request. (required)
@@ -237,11 +240,53 @@ 

Method Details

"status": "A String", # [Output Only] The status of the image. An image can be used to create other resources, such as instances, only after the image has been successfully created and the status is set to READY. Possible values are FAILED, PENDING, or READY. "kind": "compute#image", # [Output Only] Type of the resource. Always compute#image for images. "description": "A String", # An optional description of this resource. Provide this property when you create the resource. + "family": "A String", # The name of the image family to which this image belongs. You can create disks by specifying an image family instead of a specific image name. The image family always returns its latest image that is not deprecated. + "deprecated": { # Deprecation status for a public resource. # The deprecation status associated with this image. + "deleted": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DELETED. + "deprecated": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DEPRECATED. + "state": "A String", # The deprecation state of this resource. This can be DEPRECATED, OBSOLETE, or DELETED. Operations which create a new resource using a DEPRECATED resource will return successfully, but with a warning indicating the deprecated resource and recommending its replacement. Operations which use OBSOLETE or DELETED resources will be rejected and result in an error. + "obsolete": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to OBSOLETE. + "replacement": "A String", # The URL of the suggested replacement for a deprecated resource. The suggested replacement resource must be the same kind of resource as the deprecated resource. + }, "rawDisk": { # The parameters of the raw disk image. "containerType": "A String", # The format used to encode and transmit the block device, which should be TAR. This is just a container and transmission format and not a runtime format. Provided by the client when the disk image is created. "source": "A String", # The full Google Cloud Storage URL where the disk image is stored. You must provide either this property or the sourceDisk property but not both. "sha1Checksum": "A String", # An optional SHA1 checksum of the disk image before unpackaging; provided by the client when the disk image is created. }, + "archiveSizeBytes": "A String", # Size of the image tar.gz archive stored in Google Cloud Storage (in bytes). + "sourceDiskId": "A String", # The ID value of the disk used to create this image. This value may be used to determine whether the image was taken from the current or a previous instance of a given disk name. + "diskSizeGb": "A String", # Size of the image when restored onto a persistent disk (in GB). + "sourceDisk": "A String", # URL of the The source disk used to create this image. This can be a full or valid partial URL. You must provide either this property or the rawDisk.source property but not both to create an image. For example, the following are valid values: + # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/disk/disk + # - projects/project/zones/zone/disk/disk + # - zones/zone/disks/disk + "licenses": [ # Any applicable publicly visible licenses. + "A String", + ], + "sourceType": "RAW", # The type of the image used to create this disk. The default and only value is RAW + "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format. + "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server. + "selfLink": "A String", # [Output Only] Server-defined URL for the resource. + "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. + }
+
+ +
+ getFromFamily(project, family) +
Returns the latest image that is part of an image family and is not deprecated.
+
+Args:
+  project: string, Project ID for this request. (required)
+  family: string, Name of the image resource to return. (required)
+
+Returns:
+  An object of the form:
+
+    { # An Image resource.
+      "status": "A String", # [Output Only] The status of the image. An image can be used to create other resources, such as instances, only after the image has been successfully created and the status is set to READY. Possible values are FAILED, PENDING, or READY.
+      "kind": "compute#image", # [Output Only] Type of the resource. Always compute#image for images.
+      "description": "A String", # An optional description of this resource. Provide this property when you create the resource.
+      "family": "A String", # The name of the image family to which this image belongs. You can create disks by specifying an image family instead of a specific image name. The image family always returns its latest image that is not deprecated.
       "deprecated": { # Deprecation status for a public resource. # The deprecation status associated with this image.
         "deleted": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DELETED.
         "deprecated": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DEPRECATED.
@@ -249,6 +294,11 @@ 

Method Details

"obsolete": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to OBSOLETE. "replacement": "A String", # The URL of the suggested replacement for a deprecated resource. The suggested replacement resource must be the same kind of resource as the deprecated resource. }, + "rawDisk": { # The parameters of the raw disk image. + "containerType": "A String", # The format used to encode and transmit the block device, which should be TAR. This is just a container and transmission format and not a runtime format. Provided by the client when the disk image is created. + "source": "A String", # The full Google Cloud Storage URL where the disk image is stored. You must provide either this property or the sourceDisk property but not both. + "sha1Checksum": "A String", # An optional SHA1 checksum of the disk image before unpackaging; provided by the client when the disk image is created. + }, "archiveSizeBytes": "A String", # Size of the image tar.gz archive stored in Google Cloud Storage (in bytes). "sourceDiskId": "A String", # The ID value of the disk used to create this image. This value may be used to determine whether the image was taken from the current or a previous instance of a given disk name. "diskSizeGb": "A String", # Size of the image when restored onto a persistent disk (in GB). @@ -280,11 +330,7 @@

Method Details

"status": "A String", # [Output Only] The status of the image. An image can be used to create other resources, such as instances, only after the image has been successfully created and the status is set to READY. Possible values are FAILED, PENDING, or READY. "kind": "compute#image", # [Output Only] Type of the resource. Always compute#image for images. "description": "A String", # An optional description of this resource. Provide this property when you create the resource. - "rawDisk": { # The parameters of the raw disk image. - "containerType": "A String", # The format used to encode and transmit the block device, which should be TAR. This is just a container and transmission format and not a runtime format. Provided by the client when the disk image is created. - "source": "A String", # The full Google Cloud Storage URL where the disk image is stored. You must provide either this property or the sourceDisk property but not both. - "sha1Checksum": "A String", # An optional SHA1 checksum of the disk image before unpackaging; provided by the client when the disk image is created. - }, + "family": "A String", # The name of the image family to which this image belongs. You can create disks by specifying an image family instead of a specific image name. The image family always returns its latest image that is not deprecated. "deprecated": { # Deprecation status for a public resource. # The deprecation status associated with this image. "deleted": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DELETED. "deprecated": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DEPRECATED. @@ -292,6 +338,11 @@

Method Details

"obsolete": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to OBSOLETE. "replacement": "A String", # The URL of the suggested replacement for a deprecated resource. The suggested replacement resource must be the same kind of resource as the deprecated resource. }, + "rawDisk": { # The parameters of the raw disk image. + "containerType": "A String", # The format used to encode and transmit the block device, which should be TAR. This is just a container and transmission format and not a runtime format. Provided by the client when the disk image is created. + "source": "A String", # The full Google Cloud Storage URL where the disk image is stored. You must provide either this property or the sourceDisk property but not both. + "sha1Checksum": "A String", # An optional SHA1 checksum of the disk image before unpackaging; provided by the client when the disk image is created. + }, "archiveSizeBytes": "A String", # Size of the image tar.gz archive stored in Google Cloud Storage (in bytes). "sourceDiskId": "A String", # The ID value of the disk used to create this image. This value may be used to determine whether the image was taken from the current or a previous instance of a given disk name. "diskSizeGb": "A String", # Size of the image when restored onto a persistent disk (in GB). @@ -335,7 +386,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -350,7 +401,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -374,11 +425,11 @@

Method Details

The field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. -For example, to filter for instances whose name is not equal to example-instance, you would use filter=name ne example-instance. +For example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance. -Compute Engine Beta API Only: If you use filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. In particular, use filtering on nested fields to take advantage of instance labels to organize and filter results based on label values. +Compute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values. -The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions meaning that resources must match all expressions to pass the filters. +The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters. Returns: An object of the form: @@ -390,11 +441,7 @@

Method Details

"status": "A String", # [Output Only] The status of the image. An image can be used to create other resources, such as instances, only after the image has been successfully created and the status is set to READY. Possible values are FAILED, PENDING, or READY. "kind": "compute#image", # [Output Only] Type of the resource. Always compute#image for images. "description": "A String", # An optional description of this resource. Provide this property when you create the resource. - "rawDisk": { # The parameters of the raw disk image. - "containerType": "A String", # The format used to encode and transmit the block device, which should be TAR. This is just a container and transmission format and not a runtime format. Provided by the client when the disk image is created. - "source": "A String", # The full Google Cloud Storage URL where the disk image is stored. You must provide either this property or the sourceDisk property but not both. - "sha1Checksum": "A String", # An optional SHA1 checksum of the disk image before unpackaging; provided by the client when the disk image is created. - }, + "family": "A String", # The name of the image family to which this image belongs. You can create disks by specifying an image family instead of a specific image name. The image family always returns its latest image that is not deprecated. "deprecated": { # Deprecation status for a public resource. # The deprecation status associated with this image. "deleted": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DELETED. "deprecated": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DEPRECATED. @@ -402,6 +449,11 @@

Method Details

"obsolete": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to OBSOLETE. "replacement": "A String", # The URL of the suggested replacement for a deprecated resource. The suggested replacement resource must be the same kind of resource as the deprecated resource. }, + "rawDisk": { # The parameters of the raw disk image. + "containerType": "A String", # The format used to encode and transmit the block device, which should be TAR. This is just a container and transmission format and not a runtime format. Provided by the client when the disk image is created. + "source": "A String", # The full Google Cloud Storage URL where the disk image is stored. You must provide either this property or the sourceDisk property but not both. + "sha1Checksum": "A String", # An optional SHA1 checksum of the disk image before unpackaging; provided by the client when the disk image is created. + }, "archiveSizeBytes": "A String", # Size of the image tar.gz archive stored in Google Cloud Storage (in bytes). "sourceDiskId": "A String", # The ID value of the disk used to create this image. This value may be used to determine whether the image was taken from the current or a previous instance of a given disk name. "diskSizeGb": "A String", # Size of the image when restored onto a persistent disk (in GB). diff --git a/docs/dyn/compute_v1.instanceGroupManagers.html b/docs/dyn/compute_v1.instanceGroupManagers.html index f17f13f6af7..a28dbafe07e 100644 --- a/docs/dyn/compute_v1.instanceGroupManagers.html +++ b/docs/dyn/compute_v1.instanceGroupManagers.html @@ -91,7 +91,7 @@

Instance Methods

Schedules a group action to delete the specified instances in the managed instance group. The instances are also removed from any target pools of which they were a member. This method reduces the targetSize of the managed instance group by the number of instances that you delete. This operation is marked as DONE when the action is scheduled even if the instances are still being deleted. You must separately verify the status of the deleting action with the listmanagedinstances method.

get(project, zone, instanceGroupManager)

-

Returns all of the details about the specified managed instance group.

+

Returns all of the details about the specified managed instance group. Get a list of available managed instance groups by making a list() request.

insert(project, zone, body)

Creates a managed instance group using the information that you specify in the request. After the group is created, it schedules an action to create instances in the group using the specified instance template. This operation is marked as DONE when the group is created even if the instances in the group have not yet been created. You must separately verify the status of the individual instances with the listmanagedinstances method.

@@ -160,7 +160,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -175,7 +175,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -197,11 +197,11 @@

Method Details

The field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. -For example, to filter for instances whose name is not equal to example-instance, you would use filter=name ne example-instance. +For example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance. -Compute Engine Beta API Only: If you use filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. In particular, use filtering on nested fields to take advantage of instance labels to organize and filter results based on label values. +Compute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values. -The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions meaning that resources must match all expressions to pass the filters. +The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters. Returns: An object of the form: @@ -217,7 +217,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -241,7 +241,7 @@

Method Details

"A String", ], "baseInstanceName": "A String", # The base instance name to use for instances in this group. The value must be 1-58 characters long. Instances are named by appending a hyphen and a random four-character string to the base instance name. The base instance name must comply with RFC1035. - "fingerprint": "A String", # [Output Only] The fingerprint of the target pools information. You can use this optional field for optimistic locking when you update the target pool entries. + "fingerprint": "A String", # [Output Only] The fingerprint of the resource data. You can use this optional field for optimistic locking when you update the resource. "instanceTemplate": "A String", # The URL of the instance template that is specified for this managed instance group. The group uses this template to create all new instances in the managed instance group. "namedPorts": [ # Named ports configured for the Instance Groups complementary to this Instance Group Manager. { # The named port. For example: . @@ -311,7 +311,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -326,7 +326,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -379,7 +379,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -394,7 +394,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -406,7 +406,7 @@

Method Details

get(project, zone, instanceGroupManager) -
Returns all of the details about the specified managed instance group.
+  
Returns all of the details about the specified managed instance group. Get a list of available managed instance groups by making a list() request.
 
 Args:
   project: string, Project ID for this request. (required)
@@ -435,7 +435,7 @@ 

Method Details

"A String", ], "baseInstanceName": "A String", # The base instance name to use for instances in this group. The value must be 1-58 characters long. Instances are named by appending a hyphen and a random four-character string to the base instance name. The base instance name must comply with RFC1035. - "fingerprint": "A String", # [Output Only] The fingerprint of the target pools information. You can use this optional field for optimistic locking when you update the target pool entries. + "fingerprint": "A String", # [Output Only] The fingerprint of the resource data. You can use this optional field for optimistic locking when you update the resource. "instanceTemplate": "A String", # The URL of the instance template that is specified for this managed instance group. The group uses this template to create all new instances in the managed instance group. "namedPorts": [ # Named ports configured for the Instance Groups complementary to this Instance Group Manager. { # The named port. For example: . @@ -479,7 +479,7 @@

Method Details

"A String", ], "baseInstanceName": "A String", # The base instance name to use for instances in this group. The value must be 1-58 characters long. Instances are named by appending a hyphen and a random four-character string to the base instance name. The base instance name must comply with RFC1035. - "fingerprint": "A String", # [Output Only] The fingerprint of the target pools information. You can use this optional field for optimistic locking when you update the target pool entries. + "fingerprint": "A String", # [Output Only] The fingerprint of the resource data. You can use this optional field for optimistic locking when you update the resource. "instanceTemplate": "A String", # The URL of the instance template that is specified for this managed instance group. The group uses this template to create all new instances in the managed instance group. "namedPorts": [ # Named ports configured for the Instance Groups complementary to this Instance Group Manager. { # The named port. For example: . @@ -519,7 +519,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -534,7 +534,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -557,11 +557,11 @@

Method Details

The field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. -For example, to filter for instances whose name is not equal to example-instance, you would use filter=name ne example-instance. +For example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance. -Compute Engine Beta API Only: If you use filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. In particular, use filtering on nested fields to take advantage of instance labels to organize and filter results based on label values. +Compute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values. -The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions meaning that resources must match all expressions to pass the filters. +The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters. Returns: An object of the form: @@ -588,7 +588,7 @@

Method Details

"A String", ], "baseInstanceName": "A String", # The base instance name to use for instances in this group. The value must be 1-58 characters long. Instances are named by appending a hyphen and a random four-character string to the base instance name. The base instance name must comply with RFC1035. - "fingerprint": "A String", # [Output Only] The fingerprint of the target pools information. You can use this optional field for optimistic locking when you update the target pool entries. + "fingerprint": "A String", # [Output Only] The fingerprint of the resource data. You can use this optional field for optimistic locking when you update the resource. "instanceTemplate": "A String", # The URL of the instance template that is specified for this managed instance group. The group uses this template to create all new instances in the managed instance group. "namedPorts": [ # Named ports configured for the Instance Groups complementary to this Instance Group Manager. { # The named port. For example: . @@ -639,7 +639,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -708,7 +708,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -723,7 +723,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -768,7 +768,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -783,7 +783,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -834,7 +834,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -849,7 +849,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -903,7 +903,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -918,7 +918,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, diff --git a/docs/dyn/compute_v1.instanceGroups.html b/docs/dyn/compute_v1.instanceGroups.html index de4935eb9fb..f94f817efa9 100644 --- a/docs/dyn/compute_v1.instanceGroups.html +++ b/docs/dyn/compute_v1.instanceGroups.html @@ -88,7 +88,7 @@

Instance Methods

Deletes the specified instance group. The instances in the group are not deleted. Note that instance group must not belong to a backend service. Read Deleting an instance group for more information.

get(project, zone, instanceGroup)

-

Returns the specified instance group resource.

+

Returns the specified instance group. Get a list of available instance groups by making a list() request.

insert(project, zone, body)

Creates an instance group in the specified project using the parameters that are included in the request.

@@ -156,7 +156,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -171,7 +171,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -193,11 +193,11 @@

Method Details

The field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. -For example, to filter for instances whose name is not equal to example-instance, you would use filter=name ne example-instance. +For example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance. -Compute Engine Beta API Only: If you use filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. In particular, use filtering on nested fields to take advantage of instance labels to organize and filter results based on label values. +Compute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values. -The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions meaning that resources must match all expressions to pass the filters. +The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters. Returns: An object of the form: @@ -213,7 +213,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -298,7 +298,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -313,7 +313,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -325,7 +325,7 @@

Method Details

get(project, zone, instanceGroup) -
Returns the specified instance group resource.
+  
Returns the specified instance group. Get a list of available instance groups by making a list() request.
 
 Args:
   project: string, Project ID for this request. (required)
@@ -420,7 +420,7 @@ 

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -435,7 +435,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -458,11 +458,11 @@

Method Details

The field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. -For example, to filter for instances whose name is not equal to example-instance, you would use filter=name ne example-instance. +For example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance. -Compute Engine Beta API Only: If you use filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. In particular, use filtering on nested fields to take advantage of instance labels to organize and filter results based on label values. +Compute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values. -The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions meaning that resources must match all expressions to pass the filters. +The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters. Returns: An object of the form: @@ -521,11 +521,11 @@

Method Details

The field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. -For example, to filter for instances whose name is not equal to example-instance, you would use filter=name ne example-instance. +For example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance. -Compute Engine Beta API Only: If you use filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. In particular, use filtering on nested fields to take advantage of instance labels to organize and filter results based on label values. +Compute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values. -The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions meaning that resources must match all expressions to pass the filters. +The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters. Returns: An object of the form: @@ -623,7 +623,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -638,7 +638,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -695,7 +695,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -710,7 +710,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, diff --git a/docs/dyn/compute_v1.instanceTemplates.html b/docs/dyn/compute_v1.instanceTemplates.html index 6bb67779e43..c15f7b955e7 100644 --- a/docs/dyn/compute_v1.instanceTemplates.html +++ b/docs/dyn/compute_v1.instanceTemplates.html @@ -79,7 +79,7 @@

Instance Methods

Deletes the specified instance template. If you delete an instance template that is being referenced from another instance group, the instance group will not be able to create or recreate virtual machine instances. Deleting an instance template is permanent and cannot be undone.

get(project, instanceTemplate)

-

Returns the specified instance template resource.

+

Returns the specified instance template. Get a list of available instance templates by making a list() request.

insert(project, body)

Creates an instance template in the specified project using the data that is included in the request. If you are creating a new template to update an existing instance group, your new instance template must use the same network or, if applicable, the same subnetwork as the original template.

@@ -123,7 +123,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -138,7 +138,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -150,7 +150,7 @@

Method Details

get(project, instanceTemplate) -
Returns the specified instance template resource.
+  
Returns the specified instance template. Get a list of available instance templates by making a list() request.
 
 Args:
   project: string, Project ID for this request. (required)
@@ -188,15 +188,23 @@ 

Method Details

# This property is mutually exclusive with the source property; you can only define one or the other, but not both. "diskSizeGb": "A String", # Specifies the size of the disk in base-2 GB. "diskName": "A String", # Specifies the disk name. If not specified, the default is to use the name of the instance. - "sourceImage": "A String", # A source image used to create the disk. You can provide a private (custom) image, and Compute Engine will use the corresponding image from your project. For example: + "sourceImage": "A String", # The source image used to create this disk. If the source image is deleted, this field will not be set. # - # global/images/my-private-image + # To create a disk with one of the public operating system images, specify the image by its family name. For example, specify family/debian-8 to use the latest Debian 8 image: + # + # projects/debian-cloud/global/images/family/debian-8 + # + # Alternatively, use a specific version of a public operating system image: # - # Or you can provide an image from a publicly-available project. For example, to use a Debian image from the debian-cloud project, make sure to include the project in the URL: + # projects/debian-cloud/global/images/debian-8-jessie-vYYYYMMDD # - # projects/debian-cloud/global/images/debian-7-wheezy-vYYYYMMDD + # To create a disk with a private image that you created, specify the image name in the following format: + # + # global/images/my-private-image # - # where vYYYYMMDD is the image version. The fully-qualified URL will also work in both cases. + # You can also specify a private image by its image family, which returns the latest version of the image in that family. Replace the image name with family/family-name: + # + # global/images/family/my-private-family "diskType": "A String", # Specifies the disk type to use to create the instance. If not specified, the default is pd-standard, specified using the full URL. For example: # # https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/pd-standard @@ -252,11 +260,11 @@

Method Details

"natIP": "A String", # An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance. }, ], - "networkIP": "A String", # [Output Only] An optional IPV4 internal network address assigned to the instance for this network interface. + "networkIP": "A String", # An IPv4 internal network address to assign to the instance for this network interface. If not specified by the user, an unused internal IP is assigned by the system. "name": "A String", # [Output Only] The name of the network interface, generated by the server. For network devices, these are eth0, eth1, etc. "subnetwork": "A String", # The URL of the Subnetwork resource for this instance. If the network resource is in legacy mode, do not provide this property. If the network is in auto subnet mode, providing the subnetwork is optional. If the network is in custom subnet mode, then this field should be specified. If you specify this property, you can specify the subnetwork as a full or partial URL. For example, the following are all valid URLs: - # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/subnetworks/subnetwork - # - zones/zone/subnetworks/subnetwork + # - https://www.googleapis.com/compute/v1/projects/project/regions/region/subnetworks/subnetwork + # - regions/region/subnetworks/subnetwork "network": "A String", # URL of the network resource for this instance. This is required for creating an instance but optional when creating a firewall rule. If not specified when creating a firewall rule, the default network is used: # # global/networks/default @@ -311,15 +319,23 @@

Method Details

# This property is mutually exclusive with the source property; you can only define one or the other, but not both. "diskSizeGb": "A String", # Specifies the size of the disk in base-2 GB. "diskName": "A String", # Specifies the disk name. If not specified, the default is to use the name of the instance. - "sourceImage": "A String", # A source image used to create the disk. You can provide a private (custom) image, and Compute Engine will use the corresponding image from your project. For example: + "sourceImage": "A String", # The source image used to create this disk. If the source image is deleted, this field will not be set. # - # global/images/my-private-image + # To create a disk with one of the public operating system images, specify the image by its family name. For example, specify family/debian-8 to use the latest Debian 8 image: + # + # projects/debian-cloud/global/images/family/debian-8 + # + # Alternatively, use a specific version of a public operating system image: # - # Or you can provide an image from a publicly-available project. For example, to use a Debian image from the debian-cloud project, make sure to include the project in the URL: + # projects/debian-cloud/global/images/debian-8-jessie-vYYYYMMDD # - # projects/debian-cloud/global/images/debian-7-wheezy-vYYYYMMDD + # To create a disk with a private image that you created, specify the image name in the following format: # - # where vYYYYMMDD is the image version. The fully-qualified URL will also work in both cases. + # global/images/my-private-image + # + # You can also specify a private image by its image family, which returns the latest version of the image in that family. Replace the image name with family/family-name: + # + # global/images/family/my-private-family "diskType": "A String", # Specifies the disk type to use to create the instance. If not specified, the default is pd-standard, specified using the full URL. For example: # # https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/pd-standard @@ -375,11 +391,11 @@

Method Details

"natIP": "A String", # An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance. }, ], - "networkIP": "A String", # [Output Only] An optional IPV4 internal network address assigned to the instance for this network interface. + "networkIP": "A String", # An IPv4 internal network address to assign to the instance for this network interface. If not specified by the user, an unused internal IP is assigned by the system. "name": "A String", # [Output Only] The name of the network interface, generated by the server. For network devices, these are eth0, eth1, etc. "subnetwork": "A String", # The URL of the Subnetwork resource for this instance. If the network resource is in legacy mode, do not provide this property. If the network is in auto subnet mode, providing the subnetwork is optional. If the network is in custom subnet mode, then this field should be specified. If you specify this property, you can specify the subnetwork as a full or partial URL. For example, the following are all valid URLs: - # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/subnetworks/subnetwork - # - zones/zone/subnetworks/subnetwork + # - https://www.googleapis.com/compute/v1/projects/project/regions/region/subnetworks/subnetwork + # - regions/region/subnetworks/subnetwork "network": "A String", # URL of the network resource for this instance. This is required for creating an instance but optional when creating a firewall rule. If not specified when creating a firewall rule, the default network is used: # # global/networks/default @@ -421,7 +437,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -436,7 +452,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -458,11 +474,11 @@

Method Details

The field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. -For example, to filter for instances whose name is not equal to example-instance, you would use filter=name ne example-instance. +For example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance. -Compute Engine Beta API Only: If you use filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. In particular, use filtering on nested fields to take advantage of instance labels to organize and filter results based on label values. +Compute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values. -The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions meaning that resources must match all expressions to pass the filters. +The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters. Returns: An object of the form: @@ -499,15 +515,23 @@

Method Details

# This property is mutually exclusive with the source property; you can only define one or the other, but not both. "diskSizeGb": "A String", # Specifies the size of the disk in base-2 GB. "diskName": "A String", # Specifies the disk name. If not specified, the default is to use the name of the instance. - "sourceImage": "A String", # A source image used to create the disk. You can provide a private (custom) image, and Compute Engine will use the corresponding image from your project. For example: + "sourceImage": "A String", # The source image used to create this disk. If the source image is deleted, this field will not be set. # - # global/images/my-private-image + # To create a disk with one of the public operating system images, specify the image by its family name. For example, specify family/debian-8 to use the latest Debian 8 image: + # + # projects/debian-cloud/global/images/family/debian-8 # - # Or you can provide an image from a publicly-available project. For example, to use a Debian image from the debian-cloud project, make sure to include the project in the URL: + # Alternatively, use a specific version of a public operating system image: + # + # projects/debian-cloud/global/images/debian-8-jessie-vYYYYMMDD + # + # To create a disk with a private image that you created, specify the image name in the following format: + # + # global/images/my-private-image # - # projects/debian-cloud/global/images/debian-7-wheezy-vYYYYMMDD + # You can also specify a private image by its image family, which returns the latest version of the image in that family. Replace the image name with family/family-name: # - # where vYYYYMMDD is the image version. The fully-qualified URL will also work in both cases. + # global/images/family/my-private-family "diskType": "A String", # Specifies the disk type to use to create the instance. If not specified, the default is pd-standard, specified using the full URL. For example: # # https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/pd-standard @@ -563,11 +587,11 @@

Method Details

"natIP": "A String", # An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance. }, ], - "networkIP": "A String", # [Output Only] An optional IPV4 internal network address assigned to the instance for this network interface. + "networkIP": "A String", # An IPv4 internal network address to assign to the instance for this network interface. If not specified by the user, an unused internal IP is assigned by the system. "name": "A String", # [Output Only] The name of the network interface, generated by the server. For network devices, these are eth0, eth1, etc. "subnetwork": "A String", # The URL of the Subnetwork resource for this instance. If the network resource is in legacy mode, do not provide this property. If the network is in auto subnet mode, providing the subnetwork is optional. If the network is in custom subnet mode, then this field should be specified. If you specify this property, you can specify the subnetwork as a full or partial URL. For example, the following are all valid URLs: - # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/subnetworks/subnetwork - # - zones/zone/subnetworks/subnetwork + # - https://www.googleapis.com/compute/v1/projects/project/regions/region/subnetworks/subnetwork + # - regions/region/subnetworks/subnetwork "network": "A String", # URL of the network resource for this instance. This is required for creating an instance but optional when creating a firewall rule. If not specified when creating a firewall rule, the default network is used: # # global/networks/default diff --git a/docs/dyn/compute_v1.instances.html b/docs/dyn/compute_v1.instances.html index d162f526751..b946e7ce85e 100644 --- a/docs/dyn/compute_v1.instances.html +++ b/docs/dyn/compute_v1.instances.html @@ -97,7 +97,7 @@

Instance Methods

Detaches a disk from an instance.

get(project, zone, instance)

-

Returns the specified Instance resource.

+

Returns the specified Instance resource. Get a list of available instances by making a list() request.

getSerialPortOutput(project, zone, instance, port=None)

Returns the specified instance's serial port output.

@@ -180,7 +180,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -195,7 +195,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -217,11 +217,11 @@

Method Details

The field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. -For example, to filter for instances whose name is not equal to example-instance, you would use filter=name ne example-instance. +For example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance. -Compute Engine Beta API Only: If you use filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. In particular, use filtering on nested fields to take advantage of instance labels to organize and filter results based on label values. +Compute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values. -The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions meaning that resources must match all expressions to pass the filters. +The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters. Returns: An object of the form: @@ -238,7 +238,7 @@

Method Details

"canIpForward": True or False, # Allows this instance to send and receive packets with non-matching destination or source IPs. This is required if you plan to use this instance to forward routes. For more information, see Enabling IP Forwarding. "description": "A String", # An optional description of this resource. Provide this property when you create the resource. "zone": "A String", # [Output Only] URL of the zone where the instance resides. - "tags": { # A set of instance tags. # A list of tags to appy to this instance. Tags are used to identify valid sources or targets for network firewalls and are specified by the client during instance creation. The tags can be later modified by the setTags method. Each tag within the list must comply with RFC1035. + "tags": { # A set of instance tags. # A list of tags to apply to this instance. Tags are used to identify valid sources or targets for network firewalls and are specified by the client during instance creation. The tags can be later modified by the setTags method. Each tag within the list must comply with RFC1035. "items": [ # An array of tags. Each tag must be 1-63 characters long, and comply with RFC1035. "A String", ], @@ -259,15 +259,23 @@

Method Details

# This property is mutually exclusive with the source property; you can only define one or the other, but not both. "diskSizeGb": "A String", # Specifies the size of the disk in base-2 GB. "diskName": "A String", # Specifies the disk name. If not specified, the default is to use the name of the instance. - "sourceImage": "A String", # A source image used to create the disk. You can provide a private (custom) image, and Compute Engine will use the corresponding image from your project. For example: + "sourceImage": "A String", # The source image used to create this disk. If the source image is deleted, this field will not be set. # - # global/images/my-private-image + # To create a disk with one of the public operating system images, specify the image by its family name. For example, specify family/debian-8 to use the latest Debian 8 image: + # + # projects/debian-cloud/global/images/family/debian-8 + # + # Alternatively, use a specific version of a public operating system image: + # + # projects/debian-cloud/global/images/debian-8-jessie-vYYYYMMDD # - # Or you can provide an image from a publicly-available project. For example, to use a Debian image from the debian-cloud project, make sure to include the project in the URL: + # To create a disk with a private image that you created, specify the image name in the following format: # - # projects/debian-cloud/global/images/debian-7-wheezy-vYYYYMMDD + # global/images/my-private-image + # + # You can also specify a private image by its image family, which returns the latest version of the image in that family. Replace the image name with family/family-name: # - # where vYYYYMMDD is the image version. The fully-qualified URL will also work in both cases. + # global/images/family/my-private-family "diskType": "A String", # Specifies the disk type to use to create the instance. If not specified, the default is pd-standard, specified using the full URL. For example: # # https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/pd-standard @@ -325,11 +333,11 @@

Method Details

"natIP": "A String", # An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance. }, ], - "networkIP": "A String", # [Output Only] An optional IPV4 internal network address assigned to the instance for this network interface. + "networkIP": "A String", # An IPv4 internal network address to assign to the instance for this network interface. If not specified by the user, an unused internal IP is assigned by the system. "name": "A String", # [Output Only] The name of the network interface, generated by the server. For network devices, these are eth0, eth1, etc. "subnetwork": "A String", # The URL of the Subnetwork resource for this instance. If the network resource is in legacy mode, do not provide this property. If the network is in auto subnet mode, providing the subnetwork is optional. If the network is in custom subnet mode, then this field should be specified. If you specify this property, you can specify the subnetwork as a full or partial URL. For example, the following are all valid URLs: - # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/subnetworks/subnetwork - # - zones/zone/subnetworks/subnetwork + # - https://www.googleapis.com/compute/v1/projects/project/regions/region/subnetworks/subnetwork + # - regions/region/subnetworks/subnetwork "network": "A String", # URL of the network resource for this instance. This is required for creating an instance but optional when creating a firewall rule. If not specified when creating a firewall rule, the default network is used: # # global/networks/default @@ -362,7 +370,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -411,15 +419,23 @@

Method Details

# This property is mutually exclusive with the source property; you can only define one or the other, but not both. "diskSizeGb": "A String", # Specifies the size of the disk in base-2 GB. "diskName": "A String", # Specifies the disk name. If not specified, the default is to use the name of the instance. - "sourceImage": "A String", # A source image used to create the disk. You can provide a private (custom) image, and Compute Engine will use the corresponding image from your project. For example: + "sourceImage": "A String", # The source image used to create this disk. If the source image is deleted, this field will not be set. # - # global/images/my-private-image + # To create a disk with one of the public operating system images, specify the image by its family name. For example, specify family/debian-8 to use the latest Debian 8 image: + # + # projects/debian-cloud/global/images/family/debian-8 # - # Or you can provide an image from a publicly-available project. For example, to use a Debian image from the debian-cloud project, make sure to include the project in the URL: + # Alternatively, use a specific version of a public operating system image: # - # projects/debian-cloud/global/images/debian-7-wheezy-vYYYYMMDD + # projects/debian-cloud/global/images/debian-8-jessie-vYYYYMMDD # - # where vYYYYMMDD is the image version. The fully-qualified URL will also work in both cases. + # To create a disk with a private image that you created, specify the image name in the following format: + # + # global/images/my-private-image + # + # You can also specify a private image by its image family, which returns the latest version of the image in that family. Replace the image name with family/family-name: + # + # global/images/family/my-private-family "diskType": "A String", # Specifies the disk type to use to create the instance. If not specified, the default is pd-standard, specified using the full URL. For example: # # https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/pd-standard @@ -467,7 +483,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -482,7 +498,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -526,7 +542,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -541,7 +557,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -587,7 +603,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -602,7 +618,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -647,7 +663,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -662,7 +678,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -674,7 +690,7 @@

Method Details

get(project, zone, instance) -
Returns the specified Instance resource.
+  
Returns the specified Instance resource. Get a list of available instances by making a list() request.
 
 Args:
   project: string, Project ID for this request. (required)
@@ -691,7 +707,7 @@ 

Method Details

"canIpForward": True or False, # Allows this instance to send and receive packets with non-matching destination or source IPs. This is required if you plan to use this instance to forward routes. For more information, see Enabling IP Forwarding. "description": "A String", # An optional description of this resource. Provide this property when you create the resource. "zone": "A String", # [Output Only] URL of the zone where the instance resides. - "tags": { # A set of instance tags. # A list of tags to appy to this instance. Tags are used to identify valid sources or targets for network firewalls and are specified by the client during instance creation. The tags can be later modified by the setTags method. Each tag within the list must comply with RFC1035. + "tags": { # A set of instance tags. # A list of tags to apply to this instance. Tags are used to identify valid sources or targets for network firewalls and are specified by the client during instance creation. The tags can be later modified by the setTags method. Each tag within the list must comply with RFC1035. "items": [ # An array of tags. Each tag must be 1-63 characters long, and comply with RFC1035. "A String", ], @@ -712,15 +728,23 @@

Method Details

# This property is mutually exclusive with the source property; you can only define one or the other, but not both. "diskSizeGb": "A String", # Specifies the size of the disk in base-2 GB. "diskName": "A String", # Specifies the disk name. If not specified, the default is to use the name of the instance. - "sourceImage": "A String", # A source image used to create the disk. You can provide a private (custom) image, and Compute Engine will use the corresponding image from your project. For example: + "sourceImage": "A String", # The source image used to create this disk. If the source image is deleted, this field will not be set. # - # global/images/my-private-image + # To create a disk with one of the public operating system images, specify the image by its family name. For example, specify family/debian-8 to use the latest Debian 8 image: + # + # projects/debian-cloud/global/images/family/debian-8 + # + # Alternatively, use a specific version of a public operating system image: # - # Or you can provide an image from a publicly-available project. For example, to use a Debian image from the debian-cloud project, make sure to include the project in the URL: + # projects/debian-cloud/global/images/debian-8-jessie-vYYYYMMDD # - # projects/debian-cloud/global/images/debian-7-wheezy-vYYYYMMDD + # To create a disk with a private image that you created, specify the image name in the following format: # - # where vYYYYMMDD is the image version. The fully-qualified URL will also work in both cases. + # global/images/my-private-image + # + # You can also specify a private image by its image family, which returns the latest version of the image in that family. Replace the image name with family/family-name: + # + # global/images/family/my-private-family "diskType": "A String", # Specifies the disk type to use to create the instance. If not specified, the default is pd-standard, specified using the full URL. For example: # # https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/pd-standard @@ -778,11 +802,11 @@

Method Details

"natIP": "A String", # An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance. }, ], - "networkIP": "A String", # [Output Only] An optional IPV4 internal network address assigned to the instance for this network interface. + "networkIP": "A String", # An IPv4 internal network address to assign to the instance for this network interface. If not specified by the user, an unused internal IP is assigned by the system. "name": "A String", # [Output Only] The name of the network interface, generated by the server. For network devices, these are eth0, eth1, etc. "subnetwork": "A String", # The URL of the Subnetwork resource for this instance. If the network resource is in legacy mode, do not provide this property. If the network is in auto subnet mode, providing the subnetwork is optional. If the network is in custom subnet mode, then this field should be specified. If you specify this property, you can specify the subnetwork as a full or partial URL. For example, the following are all valid URLs: - # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/subnetworks/subnetwork - # - zones/zone/subnetworks/subnetwork + # - https://www.googleapis.com/compute/v1/projects/project/regions/region/subnetworks/subnetwork + # - regions/region/subnetworks/subnetwork "network": "A String", # URL of the network resource for this instance. This is required for creating an instance but optional when creating a firewall rule. If not specified when creating a firewall rule, the default network is used: # # global/networks/default @@ -846,7 +870,7 @@

Method Details

"canIpForward": True or False, # Allows this instance to send and receive packets with non-matching destination or source IPs. This is required if you plan to use this instance to forward routes. For more information, see Enabling IP Forwarding. "description": "A String", # An optional description of this resource. Provide this property when you create the resource. "zone": "A String", # [Output Only] URL of the zone where the instance resides. - "tags": { # A set of instance tags. # A list of tags to appy to this instance. Tags are used to identify valid sources or targets for network firewalls and are specified by the client during instance creation. The tags can be later modified by the setTags method. Each tag within the list must comply with RFC1035. + "tags": { # A set of instance tags. # A list of tags to apply to this instance. Tags are used to identify valid sources or targets for network firewalls and are specified by the client during instance creation. The tags can be later modified by the setTags method. Each tag within the list must comply with RFC1035. "items": [ # An array of tags. Each tag must be 1-63 characters long, and comply with RFC1035. "A String", ], @@ -867,15 +891,23 @@

Method Details

# This property is mutually exclusive with the source property; you can only define one or the other, but not both. "diskSizeGb": "A String", # Specifies the size of the disk in base-2 GB. "diskName": "A String", # Specifies the disk name. If not specified, the default is to use the name of the instance. - "sourceImage": "A String", # A source image used to create the disk. You can provide a private (custom) image, and Compute Engine will use the corresponding image from your project. For example: + "sourceImage": "A String", # The source image used to create this disk. If the source image is deleted, this field will not be set. # - # global/images/my-private-image + # To create a disk with one of the public operating system images, specify the image by its family name. For example, specify family/debian-8 to use the latest Debian 8 image: # - # Or you can provide an image from a publicly-available project. For example, to use a Debian image from the debian-cloud project, make sure to include the project in the URL: + # projects/debian-cloud/global/images/family/debian-8 # - # projects/debian-cloud/global/images/debian-7-wheezy-vYYYYMMDD + # Alternatively, use a specific version of a public operating system image: + # + # projects/debian-cloud/global/images/debian-8-jessie-vYYYYMMDD + # + # To create a disk with a private image that you created, specify the image name in the following format: + # + # global/images/my-private-image # - # where vYYYYMMDD is the image version. The fully-qualified URL will also work in both cases. + # You can also specify a private image by its image family, which returns the latest version of the image in that family. Replace the image name with family/family-name: + # + # global/images/family/my-private-family "diskType": "A String", # Specifies the disk type to use to create the instance. If not specified, the default is pd-standard, specified using the full URL. For example: # # https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/pd-standard @@ -933,11 +965,11 @@

Method Details

"natIP": "A String", # An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance. }, ], - "networkIP": "A String", # [Output Only] An optional IPV4 internal network address assigned to the instance for this network interface. + "networkIP": "A String", # An IPv4 internal network address to assign to the instance for this network interface. If not specified by the user, an unused internal IP is assigned by the system. "name": "A String", # [Output Only] The name of the network interface, generated by the server. For network devices, these are eth0, eth1, etc. "subnetwork": "A String", # The URL of the Subnetwork resource for this instance. If the network resource is in legacy mode, do not provide this property. If the network is in auto subnet mode, providing the subnetwork is optional. If the network is in custom subnet mode, then this field should be specified. If you specify this property, you can specify the subnetwork as a full or partial URL. For example, the following are all valid URLs: - # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/subnetworks/subnetwork - # - zones/zone/subnetworks/subnetwork + # - https://www.googleapis.com/compute/v1/projects/project/regions/region/subnetworks/subnetwork + # - regions/region/subnetworks/subnetwork "network": "A String", # URL of the network resource for this instance. This is required for creating an instance but optional when creating a firewall rule. If not specified when creating a firewall rule, the default network is used: # # global/networks/default @@ -989,7 +1021,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -1004,7 +1036,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -1027,11 +1059,11 @@

Method Details

The field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. -For example, to filter for instances whose name is not equal to example-instance, you would use filter=name ne example-instance. +For example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance. -Compute Engine Beta API Only: If you use filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. In particular, use filtering on nested fields to take advantage of instance labels to organize and filter results based on label values. +Compute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values. -The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions meaning that resources must match all expressions to pass the filters. +The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters. Returns: An object of the form: @@ -1046,7 +1078,7 @@

Method Details

"canIpForward": True or False, # Allows this instance to send and receive packets with non-matching destination or source IPs. This is required if you plan to use this instance to forward routes. For more information, see Enabling IP Forwarding. "description": "A String", # An optional description of this resource. Provide this property when you create the resource. "zone": "A String", # [Output Only] URL of the zone where the instance resides. - "tags": { # A set of instance tags. # A list of tags to appy to this instance. Tags are used to identify valid sources or targets for network firewalls and are specified by the client during instance creation. The tags can be later modified by the setTags method. Each tag within the list must comply with RFC1035. + "tags": { # A set of instance tags. # A list of tags to apply to this instance. Tags are used to identify valid sources or targets for network firewalls and are specified by the client during instance creation. The tags can be later modified by the setTags method. Each tag within the list must comply with RFC1035. "items": [ # An array of tags. Each tag must be 1-63 characters long, and comply with RFC1035. "A String", ], @@ -1067,15 +1099,23 @@

Method Details

# This property is mutually exclusive with the source property; you can only define one or the other, but not both. "diskSizeGb": "A String", # Specifies the size of the disk in base-2 GB. "diskName": "A String", # Specifies the disk name. If not specified, the default is to use the name of the instance. - "sourceImage": "A String", # A source image used to create the disk. You can provide a private (custom) image, and Compute Engine will use the corresponding image from your project. For example: + "sourceImage": "A String", # The source image used to create this disk. If the source image is deleted, this field will not be set. # - # global/images/my-private-image + # To create a disk with one of the public operating system images, specify the image by its family name. For example, specify family/debian-8 to use the latest Debian 8 image: + # + # projects/debian-cloud/global/images/family/debian-8 + # + # Alternatively, use a specific version of a public operating system image: # - # Or you can provide an image from a publicly-available project. For example, to use a Debian image from the debian-cloud project, make sure to include the project in the URL: + # projects/debian-cloud/global/images/debian-8-jessie-vYYYYMMDD + # + # To create a disk with a private image that you created, specify the image name in the following format: + # + # global/images/my-private-image # - # projects/debian-cloud/global/images/debian-7-wheezy-vYYYYMMDD + # You can also specify a private image by its image family, which returns the latest version of the image in that family. Replace the image name with family/family-name: # - # where vYYYYMMDD is the image version. The fully-qualified URL will also work in both cases. + # global/images/family/my-private-family "diskType": "A String", # Specifies the disk type to use to create the instance. If not specified, the default is pd-standard, specified using the full URL. For example: # # https://www.googleapis.com/compute/v1/projects/project/zones/zone/diskTypes/pd-standard @@ -1133,11 +1173,11 @@

Method Details

"natIP": "A String", # An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance. }, ], - "networkIP": "A String", # [Output Only] An optional IPV4 internal network address assigned to the instance for this network interface. + "networkIP": "A String", # An IPv4 internal network address to assign to the instance for this network interface. If not specified by the user, an unused internal IP is assigned by the system. "name": "A String", # [Output Only] The name of the network interface, generated by the server. For network devices, these are eth0, eth1, etc. "subnetwork": "A String", # The URL of the Subnetwork resource for this instance. If the network resource is in legacy mode, do not provide this property. If the network is in auto subnet mode, providing the subnetwork is optional. If the network is in custom subnet mode, then this field should be specified. If you specify this property, you can specify the subnetwork as a full or partial URL. For example, the following are all valid URLs: - # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/subnetworks/subnetwork - # - zones/zone/subnetworks/subnetwork + # - https://www.googleapis.com/compute/v1/projects/project/regions/region/subnetworks/subnetwork + # - regions/region/subnetworks/subnetwork "network": "A String", # URL of the network resource for this instance. This is required for creating an instance but optional when creating a firewall rule. If not specified when creating a firewall rule, the default network is used: # # global/networks/default @@ -1217,7 +1257,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -1232,7 +1272,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -1278,7 +1318,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -1293,7 +1333,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -1344,7 +1384,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -1359,7 +1399,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -1417,7 +1457,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -1432,7 +1472,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -1485,7 +1525,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -1500,7 +1540,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -1556,7 +1596,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -1571,7 +1611,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -1615,7 +1655,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -1630,7 +1670,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -1674,7 +1714,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -1689,7 +1729,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, diff --git a/docs/dyn/compute_v1.licenses.html b/docs/dyn/compute_v1.licenses.html index 850310db915..100497ed1fa 100644 --- a/docs/dyn/compute_v1.licenses.html +++ b/docs/dyn/compute_v1.licenses.html @@ -76,11 +76,11 @@

Compute Engine API . get(project, license)

-

Returns the specified license resource.

+

Returns the specified License resource. Get a list of available licenses by making a list() request.

Method Details

get(project, license) -
Returns the specified license resource.
+  
Returns the specified License resource. Get a list of available licenses by making a list() request.
 
 Args:
   project: string, Project ID for this request. (required)
diff --git a/docs/dyn/compute_v1.machineTypes.html b/docs/dyn/compute_v1.machineTypes.html
index bcea9dab21d..772239a2dff 100644
--- a/docs/dyn/compute_v1.machineTypes.html
+++ b/docs/dyn/compute_v1.machineTypes.html
@@ -82,7 +82,7 @@ 

Instance Methods

Retrieves the next page of results.

get(project, zone, machineType)

-

Returns the specified machine type.

+

Returns the specified machine type. Get a list of available machine types by making a list() request.

list(project, zone, maxResults=None, pageToken=None, filter=None)

Retrieves a list of machine types available to the specified project.

@@ -102,11 +102,11 @@

Method Details

The field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. -For example, to filter for instances whose name is not equal to example-instance, you would use filter=name ne example-instance. +For example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance. -Compute Engine Beta API Only: If you use filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. In particular, use filtering on nested fields to take advantage of instance labels to organize and filter results based on label values. +Compute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values. -The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions meaning that resources must match all expressions to pass the filters. +The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters. Returns: An object of the form: @@ -150,7 +150,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -178,7 +178,7 @@

Method Details

get(project, zone, machineType) -
Returns the specified machine type.
+  
Returns the specified machine type. Get a list of available machine types by making a list() request.
 
 Args:
   project: string, Project ID for this request. (required)
@@ -229,11 +229,11 @@ 

Method Details

The field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. -For example, to filter for instances whose name is not equal to example-instance, you would use filter=name ne example-instance. +For example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance. -Compute Engine Beta API Only: If you use filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. In particular, use filtering on nested fields to take advantage of instance labels to organize and filter results based on label values. +Compute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values. -The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions meaning that resources must match all expressions to pass the filters. +The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters. Returns: An object of the form: diff --git a/docs/dyn/compute_v1.networks.html b/docs/dyn/compute_v1.networks.html index 594ecc22e8f..517077b0e9f 100644 --- a/docs/dyn/compute_v1.networks.html +++ b/docs/dyn/compute_v1.networks.html @@ -79,7 +79,7 @@

Instance Methods

Deletes the specified network.

get(project, network)

-

Returns the specified network.

+

Returns the specified network. Get a list of available networks by making a list() request.

insert(project, body)

Creates a network in the specified project using the data included in the request.

@@ -123,7 +123,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -138,7 +138,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -150,7 +150,7 @@

Method Details

get(project, network) -
Returns the specified network.
+  
Returns the specified network. Get a list of available networks by making a list() request.
 
 Args:
   project: string, Project ID for this request. (required)
@@ -229,7 +229,7 @@ 

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -244,7 +244,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -266,11 +266,11 @@

Method Details

The field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. -For example, to filter for instances whose name is not equal to example-instance, you would use filter=name ne example-instance. +For example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance. -Compute Engine Beta API Only: If you use filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. In particular, use filtering on nested fields to take advantage of instance labels to organize and filter results based on label values. +Compute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values. -The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions meaning that resources must match all expressions to pass the filters. +The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters. Returns: An object of the form: diff --git a/docs/dyn/compute_v1.projects.html b/docs/dyn/compute_v1.projects.html index 72ca1573f73..e85b6397900 100644 --- a/docs/dyn/compute_v1.projects.html +++ b/docs/dyn/compute_v1.projects.html @@ -76,7 +76,7 @@

Compute Engine API . get(project)

-

Returns the specified project resource.

+

Returns the specified Project resource.

moveDisk(project, body)

Moves a persistent disk from one zone to another.

@@ -92,7 +92,7 @@

Instance Methods

Method Details

get(project) -
Returns the specified project resource.
+  
Returns the specified Project resource.
 
 Args:
   project: string, Project ID for this request. (required)
@@ -180,7 +180,7 @@ 

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -195,7 +195,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -251,7 +251,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -266,7 +266,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -322,7 +322,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -337,7 +337,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -387,7 +387,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -402,7 +402,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, diff --git a/docs/dyn/compute_v1.regionOperations.html b/docs/dyn/compute_v1.regionOperations.html index 82e0ca9e1cb..2ed767a240f 100644 --- a/docs/dyn/compute_v1.regionOperations.html +++ b/docs/dyn/compute_v1.regionOperations.html @@ -132,7 +132,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -147,7 +147,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -170,11 +170,11 @@

Method Details

The field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. -For example, to filter for instances whose name is not equal to example-instance, you would use filter=name ne example-instance. +For example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance. -Compute Engine Beta API Only: If you use filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. In particular, use filtering on nested fields to take advantage of instance labels to organize and filter results based on label values. +Compute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values. -The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions meaning that resources must match all expressions to pass the filters. +The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters. Returns: An object of the form: @@ -204,7 +204,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -219,7 +219,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, diff --git a/docs/dyn/compute_v1.regions.html b/docs/dyn/compute_v1.regions.html index b1edebf3ca0..80a9b37e624 100644 --- a/docs/dyn/compute_v1.regions.html +++ b/docs/dyn/compute_v1.regions.html @@ -76,7 +76,7 @@

Compute Engine API . get(project, region)

-

Returns the specified region resource.

+

Returns the specified Region resource. Get a list of available regions by making a list() request.

list(project, maxResults=None, pageToken=None, filter=None)

Retrieves the list of region resources available to the specified project.

@@ -86,7 +86,7 @@

Instance Methods

Method Details

get(project, region) -
Returns the specified region resource.
+  
Returns the specified Region resource. Get a list of available regions by making a list() request.
 
 Args:
   project: string, Project ID for this request. (required)
@@ -135,11 +135,11 @@ 

Method Details

The field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. -For example, to filter for instances whose name is not equal to example-instance, you would use filter=name ne example-instance. +For example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance. -Compute Engine Beta API Only: If you use filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. In particular, use filtering on nested fields to take advantage of instance labels to organize and filter results based on label values. +Compute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values. -The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions meaning that resources must match all expressions to pass the filters. +The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters. Returns: An object of the form: diff --git a/docs/dyn/compute_v1.routes.html b/docs/dyn/compute_v1.routes.html index d58038bf104..669ed15e7be 100644 --- a/docs/dyn/compute_v1.routes.html +++ b/docs/dyn/compute_v1.routes.html @@ -76,27 +76,27 @@

Compute Engine API . delete(project, route)

-

Deletes the specified route resource.

+

Deletes the specified Route resource.

get(project, route)

-

Returns the specified route resource.

+

Returns the specified Route resource. Get a list of available routes by making a list() request.

insert(project, body)

-

Creates a route resource in the specified project using the data included in the request.

+

Creates a Route resource in the specified project using the data included in the request.

list(project, maxResults=None, pageToken=None, filter=None)

-

Retrieves the list of route resources available to the specified project.

+

Retrieves the list of Route resources available to the specified project.

list_next(previous_request, previous_response)

Retrieves the next page of results.

Method Details

delete(project, route) -
Deletes the specified route resource.
+  
Deletes the specified Route resource.
 
 Args:
   project: string, Project ID for this request. (required)
-  route: string, Name of the route resource to delete. (required)
+  route: string, Name of the Route resource to delete. (required)
 
 Returns:
   An object of the form:
@@ -123,7 +123,7 @@ 

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -138,7 +138,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -150,24 +150,24 @@

Method Details

get(project, route) -
Returns the specified route resource.
+  
Returns the specified Route resource. Get a list of available routes by making a list() request.
 
 Args:
   project: string, Project ID for this request. (required)
-  route: string, Name of the route resource to return. (required)
+  route: string, Name of the Route resource to return. (required)
 
 Returns:
   An object of the form:
 
-    { # Represents a Routes resource. A route specifies how certain packets should be handled by the network. Routes are associated with instances by tags and the set of routes for a particular instance is called its routing table.
+    { # Represents a Route resource. A route specifies how certain packets should be handled by the network. Routes are associated with instances by tags and the set of routes for a particular instance is called its routing table.
         #
-        # For each packet leaving a instance, the system searches that instance's routing table for a single best matching route. Routes match packets by destination IP address, preferring smaller or more specific ranges over larger ones. If there is a tie, the system selects the route with the smallest priority value. If there is still a tie, it uses the layer three and four packet headers to select just one of the remaining matching Routes. The packet is then forwarded as specified by the nextHop field of the winning route - either to another instance destination, a instance gateway or a Google Compute Engine-operated gateway.
+        # For each packet leaving a instance, the system searches that instance's routing table for a single best matching route. Routes match packets by destination IP address, preferring smaller or more specific ranges over larger ones. If there is a tie, the system selects the route with the smallest priority value. If there is still a tie, it uses the layer three and four packet headers to select just one of the remaining matching routes. The packet is then forwarded as specified by the nextHop field of the winning route - either to another instance destination, a instance gateway or a Google Compute Engine-operated gateway.
         #
         # Packets that do not match any route in the sending instance's routing table are dropped.
       "nextHopGateway": "A String", # The URL to a gateway that should handle matching packets. You can only specify the internet gateway using a full or partial valid URL:  projects//global/gateways/default-internet-gateway
       "nextHopVpnTunnel": "A String", # The URL to a VpnTunnel that should handle matching packets.
       "kind": "compute#route", # [Output Only] Type of this resource. Always compute#routes for Route resources.
-      "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
+      "name": "A String", # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
       "tags": [ # A list of instance tags to which this route applies.
         "A String",
       ],
@@ -185,7 +185,7 @@ 

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -200,22 +200,22 @@

Method Details

insert(project, body) -
Creates a route resource in the specified project using the data included in the request.
+  
Creates a Route resource in the specified project using the data included in the request.
 
 Args:
   project: string, Project ID for this request. (required)
   body: object, The request body. (required)
     The object takes the form of:
 
-{ # Represents a Routes resource. A route specifies how certain packets should be handled by the network. Routes are associated with instances by tags and the set of routes for a particular instance is called its routing table.
+{ # Represents a Route resource. A route specifies how certain packets should be handled by the network. Routes are associated with instances by tags and the set of routes for a particular instance is called its routing table.
       # 
-      # For each packet leaving a instance, the system searches that instance's routing table for a single best matching route. Routes match packets by destination IP address, preferring smaller or more specific ranges over larger ones. If there is a tie, the system selects the route with the smallest priority value. If there is still a tie, it uses the layer three and four packet headers to select just one of the remaining matching Routes. The packet is then forwarded as specified by the nextHop field of the winning route - either to another instance destination, a instance gateway or a Google Compute Engine-operated gateway.
+      # For each packet leaving a instance, the system searches that instance's routing table for a single best matching route. Routes match packets by destination IP address, preferring smaller or more specific ranges over larger ones. If there is a tie, the system selects the route with the smallest priority value. If there is still a tie, it uses the layer three and four packet headers to select just one of the remaining matching routes. The packet is then forwarded as specified by the nextHop field of the winning route - either to another instance destination, a instance gateway or a Google Compute Engine-operated gateway.
       # 
       # Packets that do not match any route in the sending instance's routing table are dropped.
     "nextHopGateway": "A String", # The URL to a gateway that should handle matching packets. You can only specify the internet gateway using a full or partial valid URL:  projects//global/gateways/default-internet-gateway
     "nextHopVpnTunnel": "A String", # The URL to a VpnTunnel that should handle matching packets.
     "kind": "compute#route", # [Output Only] Type of this resource. Always compute#routes for Route resources.
-    "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
+    "name": "A String", # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
     "tags": [ # A list of instance tags to which this route applies.
       "A String",
     ],
@@ -233,7 +233,7 @@ 

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -271,7 +271,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -286,7 +286,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -298,7 +298,7 @@

Method Details

list(project, maxResults=None, pageToken=None, filter=None) -
Retrieves the list of route resources available to the specified project.
+  
Retrieves the list of Route resources available to the specified project.
 
 Args:
   project: string, Project ID for this request. (required)
@@ -308,27 +308,27 @@ 

Method Details

The field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. -For example, to filter for instances whose name is not equal to example-instance, you would use filter=name ne example-instance. +For example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance. -Compute Engine Beta API Only: If you use filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. In particular, use filtering on nested fields to take advantage of instance labels to organize and filter results based on label values. +Compute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values. -The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions meaning that resources must match all expressions to pass the filters. +The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters. Returns: An object of the form: - { # Contains a list of route resources. + { # Contains a list of Route resources. "nextPageToken": "A String", # [Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results. "items": [ # [Output Only] A list of Route resources. - { # Represents a Routes resource. A route specifies how certain packets should be handled by the network. Routes are associated with instances by tags and the set of routes for a particular instance is called its routing table. + { # Represents a Route resource. A route specifies how certain packets should be handled by the network. Routes are associated with instances by tags and the set of routes for a particular instance is called its routing table. # - # For each packet leaving a instance, the system searches that instance's routing table for a single best matching route. Routes match packets by destination IP address, preferring smaller or more specific ranges over larger ones. If there is a tie, the system selects the route with the smallest priority value. If there is still a tie, it uses the layer three and four packet headers to select just one of the remaining matching Routes. The packet is then forwarded as specified by the nextHop field of the winning route - either to another instance destination, a instance gateway or a Google Compute Engine-operated gateway. + # For each packet leaving a instance, the system searches that instance's routing table for a single best matching route. Routes match packets by destination IP address, preferring smaller or more specific ranges over larger ones. If there is a tie, the system selects the route with the smallest priority value. If there is still a tie, it uses the layer three and four packet headers to select just one of the remaining matching routes. The packet is then forwarded as specified by the nextHop field of the winning route - either to another instance destination, a instance gateway or a Google Compute Engine-operated gateway. # # Packets that do not match any route in the sending instance's routing table are dropped. "nextHopGateway": "A String", # The URL to a gateway that should handle matching packets. You can only specify the internet gateway using a full or partial valid URL: projects//global/gateways/default-internet-gateway "nextHopVpnTunnel": "A String", # The URL to a VpnTunnel that should handle matching packets. "kind": "compute#route", # [Output Only] Type of this resource. Always compute#routes for Route resources. - "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. + "name": "A String", # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. "tags": [ # A list of instance tags to which this route applies. "A String", ], @@ -346,7 +346,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, diff --git a/docs/dyn/compute_v1.snapshots.html b/docs/dyn/compute_v1.snapshots.html index b0800481ddf..15c15e6eaf9 100644 --- a/docs/dyn/compute_v1.snapshots.html +++ b/docs/dyn/compute_v1.snapshots.html @@ -79,7 +79,7 @@

Instance Methods

Deletes the specified Snapshot resource. Keep in mind that deleting a single snapshot might not necessarily delete all the data on that snapshot. If any data on the snapshot that is marked for deletion is needed for subsequent snapshots, the data will be moved to the next corresponding snapshot.

get(project, snapshot)

-

Returns the specified Snapshot resource.

+

Returns the specified Snapshot resource. Get a list of available snapshots by making a list() request.

list(project, maxResults=None, pageToken=None, filter=None)

Retrieves the list of Snapshot resources contained within the specified project.

@@ -122,7 +122,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -137,7 +137,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -149,7 +149,7 @@

Method Details

get(project, snapshot) -
Returns the specified Snapshot resource.
+  
Returns the specified Snapshot resource. Get a list of available snapshots by making a list() request.
 
 Args:
   project: string, Project ID for this request. (required)
@@ -189,11 +189,11 @@ 

Method Details

The field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. -For example, to filter for instances whose name is not equal to example-instance, you would use filter=name ne example-instance. +For example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance. -Compute Engine Beta API Only: If you use filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. In particular, use filtering on nested fields to take advantage of instance labels to organize and filter results based on label values. +Compute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values. -The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions meaning that resources must match all expressions to pass the filters. +The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters. Returns: An object of the form: diff --git a/docs/dyn/compute_v1.sslCertificates.html b/docs/dyn/compute_v1.sslCertificates.html index 88208956cbf..265dc237318 100644 --- a/docs/dyn/compute_v1.sslCertificates.html +++ b/docs/dyn/compute_v1.sslCertificates.html @@ -79,7 +79,7 @@

Instance Methods

Deletes the specified SslCertificate resource.

get(project, sslCertificate)

-

Returns the specified SslCertificate resource.

+

Returns the specified SslCertificate resource. Get a list of available SSL certificates by making a list() request.

insert(project, body)

Creates a SslCertificate resource in the specified project using the data included in the request.

@@ -123,7 +123,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -138,7 +138,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -150,7 +150,7 @@

Method Details

get(project, sslCertificate) -
Returns the specified SslCertificate resource.
+  
Returns the specified SslCertificate resource. Get a list of available SSL certificates by making a list() request.
 
 Args:
   project: string, Project ID for this request. (required)
@@ -217,7 +217,7 @@ 

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -232,7 +232,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -254,11 +254,11 @@

Method Details

The field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. -For example, to filter for instances whose name is not equal to example-instance, you would use filter=name ne example-instance. +For example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance. -Compute Engine Beta API Only: If you use filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. In particular, use filtering on nested fields to take advantage of instance labels to organize and filter results based on label values. +Compute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values. -The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions meaning that resources must match all expressions to pass the filters. +The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters. Returns: An object of the form: diff --git a/docs/dyn/compute_v1.subnetworks.html b/docs/dyn/compute_v1.subnetworks.html index 429ccd6b2c0..a9f29eb8fc5 100644 --- a/docs/dyn/compute_v1.subnetworks.html +++ b/docs/dyn/compute_v1.subnetworks.html @@ -85,7 +85,7 @@

Instance Methods

Deletes the specified subnetwork.

get(project, region, subnetwork)

-

Returns the specified subnetwork.

+

Returns the specified subnetwork. Get a list of available subnetworks list() request.

insert(project, region, body)

Creates a subnetwork in the specified project using the data included in the request.

@@ -108,11 +108,11 @@

Method Details

The field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. -For example, to filter for instances whose name is not equal to example-instance, you would use filter=name ne example-instance. +For example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance. -Compute Engine Beta API Only: If you use filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. In particular, use filtering on nested fields to take advantage of instance labels to organize and filter results based on label values. +Compute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values. -The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions meaning that resources must match all expressions to pass the filters. +The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters. Returns: An object of the form: @@ -126,7 +126,7 @@

Method Details

"kind": "compute#subnetwork", # [Output Only] Type of the resource. Always compute#subnetwork for Subnetwork resources. "description": "A String", # An optional description of this resource. Provide this property when you create the resource. "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format. - "region": "A String", # [Output Only] URL of the region where the Subnetwork resides. + "region": "A String", # URL of the region where the Subnetwork resides. "network": "A String", # The URL of the network to which this subnetwork belongs, provided by the client when initially creating the subnetwork. Only networks that are in the distributed mode can have subnetworks. "ipCidrRange": "A String", # The range of internal addresses that are owned by this subnetwork. Provide this property when you create the subnetwork. For example, 10.0.0.0/8 or 192.168.0.0/16. Ranges must be unique and non-overlapping within a network. "gatewayAddress": "A String", # [Output Only] The gateway address for default routes to reach destination addresses outside this subnetwork. @@ -142,7 +142,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -202,7 +202,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -217,7 +217,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -229,7 +229,7 @@

Method Details

get(project, region, subnetwork) -
Returns the specified subnetwork.
+  
Returns the specified subnetwork. Get a list of available subnetworks list() request.
 
 Args:
   project: string, Project ID for this request. (required)
@@ -243,7 +243,7 @@ 

Method Details

"kind": "compute#subnetwork", # [Output Only] Type of the resource. Always compute#subnetwork for Subnetwork resources. "description": "A String", # An optional description of this resource. Provide this property when you create the resource. "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format. - "region": "A String", # [Output Only] URL of the region where the Subnetwork resides. + "region": "A String", # URL of the region where the Subnetwork resides. "network": "A String", # The URL of the network to which this subnetwork belongs, provided by the client when initially creating the subnetwork. Only networks that are in the distributed mode can have subnetworks. "ipCidrRange": "A String", # The range of internal addresses that are owned by this subnetwork. Provide this property when you create the subnetwork. For example, 10.0.0.0/8 or 192.168.0.0/16. Ranges must be unique and non-overlapping within a network. "gatewayAddress": "A String", # [Output Only] The gateway address for default routes to reach destination addresses outside this subnetwork. @@ -267,7 +267,7 @@

Method Details

"kind": "compute#subnetwork", # [Output Only] Type of the resource. Always compute#subnetwork for Subnetwork resources. "description": "A String", # An optional description of this resource. Provide this property when you create the resource. "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format. - "region": "A String", # [Output Only] URL of the region where the Subnetwork resides. + "region": "A String", # URL of the region where the Subnetwork resides. "network": "A String", # The URL of the network to which this subnetwork belongs, provided by the client when initially creating the subnetwork. Only networks that are in the distributed mode can have subnetworks. "ipCidrRange": "A String", # The range of internal addresses that are owned by this subnetwork. Provide this property when you create the subnetwork. For example, 10.0.0.0/8 or 192.168.0.0/16. Ranges must be unique and non-overlapping within a network. "gatewayAddress": "A String", # [Output Only] The gateway address for default routes to reach destination addresses outside this subnetwork. @@ -302,7 +302,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -317,7 +317,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -340,11 +340,11 @@

Method Details

The field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. -For example, to filter for instances whose name is not equal to example-instance, you would use filter=name ne example-instance. +For example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance. -Compute Engine Beta API Only: If you use filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. In particular, use filtering on nested fields to take advantage of instance labels to organize and filter results based on label values. +Compute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values. -The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions meaning that resources must match all expressions to pass the filters. +The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters. Returns: An object of the form: @@ -356,7 +356,7 @@

Method Details

"kind": "compute#subnetwork", # [Output Only] Type of the resource. Always compute#subnetwork for Subnetwork resources. "description": "A String", # An optional description of this resource. Provide this property when you create the resource. "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format. - "region": "A String", # [Output Only] URL of the region where the Subnetwork resides. + "region": "A String", # URL of the region where the Subnetwork resides. "network": "A String", # The URL of the network to which this subnetwork belongs, provided by the client when initially creating the subnetwork. Only networks that are in the distributed mode can have subnetworks. "ipCidrRange": "A String", # The range of internal addresses that are owned by this subnetwork. Provide this property when you create the subnetwork. For example, 10.0.0.0/8 or 192.168.0.0/16. Ranges must be unique and non-overlapping within a network. "gatewayAddress": "A String", # [Output Only] The gateway address for default routes to reach destination addresses outside this subnetwork. diff --git a/docs/dyn/compute_v1.targetHttpProxies.html b/docs/dyn/compute_v1.targetHttpProxies.html index e517791b54b..80b1beb8943 100644 --- a/docs/dyn/compute_v1.targetHttpProxies.html +++ b/docs/dyn/compute_v1.targetHttpProxies.html @@ -79,7 +79,7 @@

Instance Methods

Deletes the specified TargetHttpProxy resource.

get(project, targetHttpProxy)

-

Returns the specified TargetHttpProxy resource.

+

Returns the specified TargetHttpProxy resource. Get a list of available target HTTP proxies by making a list() request.

insert(project, body)

Creates a TargetHttpProxy resource in the specified project using the data included in the request.

@@ -126,7 +126,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -141,7 +141,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -153,7 +153,7 @@

Method Details

get(project, targetHttpProxy) -
Returns the specified TargetHttpProxy resource.
+  
Returns the specified TargetHttpProxy resource. Get a list of available target HTTP proxies by making a list() request.
 
 Args:
   project: string, Project ID for this request. (required)
@@ -169,7 +169,7 @@ 

Method Details

"creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format. "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server. "selfLink": "A String", # [Output Only] Server-defined URL for the resource. - "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. + "name": "A String", # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. }
@@ -189,7 +189,7 @@

Method Details

"creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format. "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server. "selfLink": "A String", # [Output Only] Server-defined URL for the resource. - "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. + "name": "A String", # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. } @@ -218,7 +218,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -233,7 +233,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -255,11 +255,11 @@

Method Details

The field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. -For example, to filter for instances whose name is not equal to example-instance, you would use filter=name ne example-instance. +For example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance. -Compute Engine Beta API Only: If you use filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. In particular, use filtering on nested fields to take advantage of instance labels to organize and filter results based on label values. +Compute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values. -The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions meaning that resources must match all expressions to pass the filters. +The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters. Returns: An object of the form: @@ -274,7 +274,7 @@

Method Details

"creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format. "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server. "selfLink": "A String", # [Output Only] Server-defined URL for the resource. - "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. + "name": "A String", # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. }, ], "kind": "compute#targetHttpProxyList", # Type of resource. Always compute#targetHttpProxyList for lists of target HTTP proxies. @@ -303,7 +303,7 @@

Method Details

Args: project: string, Project ID for this request. (required) - targetHttpProxy: string, The name of the TargetHttpProxy resource to set a URL map for. (required) + targetHttpProxy: string, Name of the TargetHttpProxy to set a URL map for. (required) body: object, The request body. (required) The object takes the form of: @@ -337,7 +337,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -352,7 +352,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, diff --git a/docs/dyn/compute_v1.targetHttpsProxies.html b/docs/dyn/compute_v1.targetHttpsProxies.html index 69fd4c80da3..c811c2896f0 100644 --- a/docs/dyn/compute_v1.targetHttpsProxies.html +++ b/docs/dyn/compute_v1.targetHttpsProxies.html @@ -79,7 +79,7 @@

Instance Methods

Deletes the specified TargetHttpsProxy resource.

get(project, targetHttpsProxy)

-

Returns the specified TargetHttpsProxy resource.

+

Returns the specified TargetHttpsProxy resource. Get a list of available target HTTPS proxies by making a list() request.

insert(project, body)

Creates a TargetHttpsProxy resource in the specified project using the data included in the request.

@@ -129,7 +129,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -144,7 +144,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -156,7 +156,7 @@

Method Details

get(project, targetHttpsProxy) -
Returns the specified TargetHttpsProxy resource.
+  
Returns the specified TargetHttpsProxy resource. Get a list of available target HTTPS proxies by making a list() request.
 
 Args:
   project: string, Project ID for this request. (required)
@@ -166,7 +166,7 @@ 

Method Details

An object of the form: { # A TargetHttpsProxy resource. This resource defines an HTTPS proxy. - "kind": "compute#targetHttpsProxy", # [Output Only] Type of the resource. Always compute#targetHttpsProxy for target HTTPS proxies. + "kind": "compute#targetHttpsProxy", # [Output Only] Type of resource. Always compute#targetHttpsProxy for target HTTPS proxies. "description": "A String", # An optional description of this resource. Provide this property when you create the resource. "sslCertificates": [ # URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. Currently, exactly one SSL certificate must be specified. "A String", @@ -192,7 +192,7 @@

Method Details

The object takes the form of: { # A TargetHttpsProxy resource. This resource defines an HTTPS proxy. - "kind": "compute#targetHttpsProxy", # [Output Only] Type of the resource. Always compute#targetHttpsProxy for target HTTPS proxies. + "kind": "compute#targetHttpsProxy", # [Output Only] Type of resource. Always compute#targetHttpsProxy for target HTTPS proxies. "description": "A String", # An optional description of this resource. Provide this property when you create the resource. "sslCertificates": [ # URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. Currently, exactly one SSL certificate must be specified. "A String", @@ -233,7 +233,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -248,7 +248,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -270,11 +270,11 @@

Method Details

The field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. -For example, to filter for instances whose name is not equal to example-instance, you would use filter=name ne example-instance. +For example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance. -Compute Engine Beta API Only: If you use filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. In particular, use filtering on nested fields to take advantage of instance labels to organize and filter results based on label values. +Compute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values. -The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions meaning that resources must match all expressions to pass the filters. +The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters. Returns: An object of the form: @@ -283,7 +283,7 @@

Method Details

"nextPageToken": "A String", # [Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results. "items": [ # A list of TargetHttpsProxy resources. { # A TargetHttpsProxy resource. This resource defines an HTTPS proxy. - "kind": "compute#targetHttpsProxy", # [Output Only] Type of the resource. Always compute#targetHttpsProxy for target HTTPS proxies. + "kind": "compute#targetHttpsProxy", # [Output Only] Type of resource. Always compute#targetHttpsProxy for target HTTPS proxies. "description": "A String", # An optional description of this resource. Provide this property when you create the resource. "sslCertificates": [ # URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. Currently, exactly one SSL certificate must be specified. "A String", @@ -298,7 +298,7 @@

Method Details

"name": "A String", # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. }, ], - "kind": "compute#targetHttpsProxyList", # Type of resource. + "kind": "compute#targetHttpsProxyList", # Type of resource. Always compute#targetHttpsProxyList for lists of target HTTPS proxies. "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server. "selfLink": "A String", # [Output Only] Server-defined URL for this resource. }
@@ -324,12 +324,12 @@

Method Details

Args: project: string, Project ID for this request. (required) - targetHttpsProxy: string, Name of the TargetHttpsProxy resource to set an SSL certificate for. (required) + targetHttpsProxy: string, Name of the TargetHttpsProxy resource to set an SslCertificates resource for. (required) body: object, The request body. (required) The object takes the form of: { - "sslCertificates": [ # New set of URLs to SslCertificate resources to associate with this TargetHttpProxy. Currently exactly one SSL certificate must be specified. + "sslCertificates": [ # New set of SslCertificate resources to associate with this TargetHttpsProxy resource. Currently exactly one SslCertificate resource must be specified. "A String", ], } @@ -360,7 +360,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -375,7 +375,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -425,7 +425,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -440,7 +440,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, diff --git a/docs/dyn/compute_v1.targetInstances.html b/docs/dyn/compute_v1.targetInstances.html index 9720c489d0e..c9e8c524b64 100644 --- a/docs/dyn/compute_v1.targetInstances.html +++ b/docs/dyn/compute_v1.targetInstances.html @@ -85,7 +85,7 @@

Instance Methods

Deletes the specified TargetInstance resource.

get(project, zone, targetInstance)

-

Returns the specified TargetInstance resource.

+

Returns the specified TargetInstance resource. Get a list of available target instances by making a list() request.

insert(project, zone, body)

Creates a TargetInstance resource in the specified project and zone using the data included in the request.

@@ -108,11 +108,11 @@

Method Details

The field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. -For example, to filter for instances whose name is not equal to example-instance, you would use filter=name ne example-instance. +For example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance. -Compute Engine Beta API Only: If you use filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. In particular, use filtering on nested fields to take advantage of instance labels to organize and filter results based on label values. +Compute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values. -The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions meaning that resources must match all expressions to pass the filters. +The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters. Returns: An object of the form: @@ -144,7 +144,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -204,7 +204,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -219,7 +219,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -231,7 +231,7 @@

Method Details

get(project, zone, targetInstance) -
Returns the specified TargetInstance resource.
+  
Returns the specified TargetInstance resource. Get a list of available target instances by making a list() request.
 
 Args:
   project: string, Project ID for this request. (required)
@@ -308,7 +308,7 @@ 

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -323,7 +323,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -346,11 +346,11 @@

Method Details

The field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. -For example, to filter for instances whose name is not equal to example-instance, you would use filter=name ne example-instance. +For example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance. -Compute Engine Beta API Only: If you use filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. In particular, use filtering on nested fields to take advantage of instance labels to organize and filter results based on label values. +Compute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values. -The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions meaning that resources must match all expressions to pass the filters. +The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters. Returns: An object of the form: diff --git a/docs/dyn/compute_v1.targetPools.html b/docs/dyn/compute_v1.targetPools.html index 78391080bf8..14fcdfd0de1 100644 --- a/docs/dyn/compute_v1.targetPools.html +++ b/docs/dyn/compute_v1.targetPools.html @@ -91,7 +91,7 @@

Instance Methods

Deletes the specified target pool.

get(project, region, targetPool)

-

Returns the specified target pool.

+

Returns the specified target pool. Get a list of available target pools by making a list() request.

getHealth(project, region, targetPool, body)

Gets the most recent health check results for each IP for the instance that is referenced by the given target pool.

@@ -162,7 +162,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -177,7 +177,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -235,7 +235,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -250,7 +250,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -272,11 +272,11 @@

Method Details

The field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. -For example, to filter for instances whose name is not equal to example-instance, you would use filter=name ne example-instance. +For example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance. -Compute Engine Beta API Only: If you use filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. In particular, use filtering on nested fields to take advantage of instance labels to organize and filter results based on label values. +Compute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values. -The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions meaning that resources must match all expressions to pass the filters. +The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters. Returns: An object of the form: @@ -292,7 +292,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -383,7 +383,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -398,7 +398,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -410,7 +410,7 @@

Method Details

get(project, region, targetPool) -
Returns the specified target pool.
+  
Returns the specified target pool. Get a list of available target pools by making a list() request.
 
 Args:
   project: string, Project ID for this request. (required)
@@ -549,7 +549,7 @@ 

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -564,7 +564,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -587,11 +587,11 @@

Method Details

The field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. -For example, to filter for instances whose name is not equal to example-instance, you would use filter=name ne example-instance. +For example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance. -Compute Engine Beta API Only: If you use filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. In particular, use filtering on nested fields to take advantage of instance labels to organize and filter results based on label values. +Compute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values. -The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions meaning that resources must match all expressions to pass the filters. +The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters. Returns: An object of the form: @@ -700,7 +700,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -715,7 +715,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -770,7 +770,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -785,7 +785,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -837,7 +837,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -852,7 +852,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, diff --git a/docs/dyn/compute_v1.targetVpnGateways.html b/docs/dyn/compute_v1.targetVpnGateways.html index e2414b03395..603fdcca5d1 100644 --- a/docs/dyn/compute_v1.targetVpnGateways.html +++ b/docs/dyn/compute_v1.targetVpnGateways.html @@ -85,7 +85,7 @@

Instance Methods

Deletes the specified target VPN gateway.

get(project, region, targetVpnGateway)

-

Returns the specified target VPN gateway.

+

Returns the specified target VPN gateway. Get a list of available target VPN gateways by making a list() request.

insert(project, region, body)

Creates a target VPN gateway in the specified project and region using the data included in the request.

@@ -108,11 +108,11 @@

Method Details

The field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. -For example, to filter for instances whose name is not equal to example-instance, you would use filter=name ne example-instance. +For example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance. -Compute Engine Beta API Only: If you use filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. In particular, use filtering on nested fields to take advantage of instance labels to organize and filter results based on label values. +Compute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values. -The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions meaning that resources must match all expressions to pass the filters. +The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters. Returns: An object of the form: @@ -137,7 +137,7 @@

Method Details

"creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format. "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server. "network": "A String", # URL of the network to which this VPN gateway is attached. Provided by the client when the VPN gateway is created. - "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. + "name": "A String", # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. }, ], "warning": { # [Output Only] Informational warning which replaces the list of addresses when the list is empty. @@ -147,7 +147,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -179,7 +179,7 @@

Method Details

Args: project: string, Project ID for this request. (required) - region: string, The name of the region for this request. (required) + region: string, Name of the region for this request. (required) targetVpnGateway: string, Name of the target VPN gateway to delete. (required) Returns: @@ -207,7 +207,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -222,7 +222,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -234,11 +234,11 @@

Method Details

get(project, region, targetVpnGateway) -
Returns the specified target VPN gateway.
+  
Returns the specified target VPN gateway. Get a list of available target VPN gateways by making a list() request.
 
 Args:
   project: string, Project ID for this request. (required)
-  region: string, The name of the region for this request. (required)
+  region: string, Name of the region for this request. (required)
   targetVpnGateway: string, Name of the target VPN gateway to return. (required)
 
 Returns:
@@ -259,7 +259,7 @@ 

Method Details

"creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format. "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server. "network": "A String", # URL of the network to which this VPN gateway is attached. Provided by the client when the VPN gateway is created. - "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. + "name": "A String", # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. }
@@ -269,7 +269,7 @@

Method Details

Args: project: string, Project ID for this request. (required) - region: string, The name of the region for this request. (required) + region: string, Name of the region for this request. (required) body: object, The request body. (required) The object takes the form of: @@ -288,7 +288,7 @@

Method Details

"creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format. "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server. "network": "A String", # URL of the network to which this VPN gateway is attached. Provided by the client when the VPN gateway is created. - "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. + "name": "A String", # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. } @@ -317,7 +317,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -332,7 +332,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -348,18 +348,18 @@

Method Details

Args: project: string, Project ID for this request. (required) - region: string, The name of the region for this request. (required) + region: string, Name of the region for this request. (required) maxResults: integer, The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. pageToken: string, Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. filter: string, Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string. The field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. -For example, to filter for instances whose name is not equal to example-instance, you would use filter=name ne example-instance. +For example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance. -Compute Engine Beta API Only: If you use filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. In particular, use filtering on nested fields to take advantage of instance labels to organize and filter results based on label values. +Compute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values. -The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions meaning that resources must match all expressions to pass the filters. +The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters. Returns: An object of the form: @@ -382,7 +382,7 @@

Method Details

"creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format. "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server. "network": "A String", # URL of the network to which this VPN gateway is attached. Provided by the client when the VPN gateway is created. - "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. + "name": "A String", # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. }, ], "kind": "compute#targetVpnGatewayList", # [Output Only] Type of resource. Always compute#targetVpnGateway for target VPN gateways. diff --git a/docs/dyn/compute_v1.urlMaps.html b/docs/dyn/compute_v1.urlMaps.html index 4e6788701ba..d1e664f8e32 100644 --- a/docs/dyn/compute_v1.urlMaps.html +++ b/docs/dyn/compute_v1.urlMaps.html @@ -79,7 +79,7 @@

Instance Methods

Deletes the specified UrlMap resource.

get(project, urlMap)

-

Returns the specified UrlMap resource.

+

Returns the specified UrlMap resource. Get a list of available URL maps by making a list() request.

insert(project, body)

Creates a UrlMap resource in the specified project using the data included in the request.

@@ -132,7 +132,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -147,7 +147,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -159,7 +159,7 @@

Method Details

get(project, urlMap) -
Returns the specified UrlMap resource.
+  
Returns the specified UrlMap resource. Get a list of available URL maps by making a list() request.
 
 Args:
   project: string, Project ID for this request. (required)
@@ -172,7 +172,7 @@ 

Method Details

"kind": "compute#urlMap", # [Output Only] Type of the resource. Always compute#urlMaps for url maps. "description": "A String", # An optional description of this resource. Provide this property when you create the resource. "defaultService": "A String", # The URL of the BackendService resource if none of the hostRules match. - "tests": [ # The list of expected URL mappings. Request to update this UrlMap will succeed only all of the test cases pass. + "tests": [ # The list of expected URL mappings. Request to update this UrlMap will succeed only if all of the test cases pass. { # Message for the expected URL mappings. "path": "A String", # Path portion of the URL. "host": "A String", # Host portion of the URL. @@ -228,7 +228,7 @@

Method Details

"kind": "compute#urlMap", # [Output Only] Type of the resource. Always compute#urlMaps for url maps. "description": "A String", # An optional description of this resource. Provide this property when you create the resource. "defaultService": "A String", # The URL of the BackendService resource if none of the hostRules match. - "tests": [ # The list of expected URL mappings. Request to update this UrlMap will succeed only all of the test cases pass. + "tests": [ # The list of expected URL mappings. Request to update this UrlMap will succeed only if all of the test cases pass. { # Message for the expected URL mappings. "path": "A String", # Path portion of the URL. "host": "A String", # Host portion of the URL. @@ -296,7 +296,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -311,7 +311,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -333,11 +333,11 @@

Method Details

The field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. -For example, to filter for instances whose name is not equal to example-instance, you would use filter=name ne example-instance. +For example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance. -Compute Engine Beta API Only: If you use filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. In particular, use filtering on nested fields to take advantage of instance labels to organize and filter results based on label values. +Compute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values. -The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions meaning that resources must match all expressions to pass the filters. +The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters. Returns: An object of the form: @@ -349,7 +349,7 @@

Method Details

"kind": "compute#urlMap", # [Output Only] Type of the resource. Always compute#urlMaps for url maps. "description": "A String", # An optional description of this resource. Provide this property when you create the resource. "defaultService": "A String", # The URL of the BackendService resource if none of the hostRules match. - "tests": [ # The list of expected URL mappings. Request to update this UrlMap will succeed only all of the test cases pass. + "tests": [ # The list of expected URL mappings. Request to update this UrlMap will succeed only if all of the test cases pass. { # Message for the expected URL mappings. "path": "A String", # Path portion of the URL. "host": "A String", # Host portion of the URL. @@ -425,7 +425,7 @@

Method Details

"kind": "compute#urlMap", # [Output Only] Type of the resource. Always compute#urlMaps for url maps. "description": "A String", # An optional description of this resource. Provide this property when you create the resource. "defaultService": "A String", # The URL of the BackendService resource if none of the hostRules match. - "tests": [ # The list of expected URL mappings. Request to update this UrlMap will succeed only all of the test cases pass. + "tests": [ # The list of expected URL mappings. Request to update this UrlMap will succeed only if all of the test cases pass. { # Message for the expected URL mappings. "path": "A String", # Path portion of the URL. "host": "A String", # Host portion of the URL. @@ -493,7 +493,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -508,7 +508,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -532,7 +532,7 @@

Method Details

"kind": "compute#urlMap", # [Output Only] Type of the resource. Always compute#urlMaps for url maps. "description": "A String", # An optional description of this resource. Provide this property when you create the resource. "defaultService": "A String", # The URL of the BackendService resource if none of the hostRules match. - "tests": [ # The list of expected URL mappings. Request to update this UrlMap will succeed only all of the test cases pass. + "tests": [ # The list of expected URL mappings. Request to update this UrlMap will succeed only if all of the test cases pass. { # Message for the expected URL mappings. "path": "A String", # Path portion of the URL. "host": "A String", # Host portion of the URL. @@ -600,7 +600,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -615,7 +615,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -640,7 +640,7 @@

Method Details

"kind": "compute#urlMap", # [Output Only] Type of the resource. Always compute#urlMaps for url maps. "description": "A String", # An optional description of this resource. Provide this property when you create the resource. "defaultService": "A String", # The URL of the BackendService resource if none of the hostRules match. - "tests": [ # The list of expected URL mappings. Request to update this UrlMap will succeed only all of the test cases pass. + "tests": [ # The list of expected URL mappings. Request to update this UrlMap will succeed only if all of the test cases pass. { # Message for the expected URL mappings. "path": "A String", # Path portion of the URL. "host": "A String", # Host portion of the URL. diff --git a/docs/dyn/compute_v1.vpnTunnels.html b/docs/dyn/compute_v1.vpnTunnels.html index fa129e82fdf..6ec4e178558 100644 --- a/docs/dyn/compute_v1.vpnTunnels.html +++ b/docs/dyn/compute_v1.vpnTunnels.html @@ -85,7 +85,7 @@

Instance Methods

Deletes the specified VpnTunnel resource.

get(project, region, vpnTunnel)

-

Returns the specified VpnTunnel resource.

+

Returns the specified VpnTunnel resource. Get a list of available VPN tunnels by making a list() request.

insert(project, region, body)

Creates a VpnTunnel resource in the specified project and region using the data included in the request.

@@ -108,11 +108,11 @@

Method Details

The field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. -For example, to filter for instances whose name is not equal to example-instance, you would use filter=name ne example-instance. +For example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance. -Compute Engine Beta API Only: If you use filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. In particular, use filtering on nested fields to take advantage of instance labels to organize and filter results based on label values. +Compute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values. -The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions meaning that resources must match all expressions to pass the filters. +The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters. Returns: An object of the form: @@ -134,12 +134,12 @@

Method Details

], "status": "A String", # [Output Only] The status of the VPN tunnel. "sharedSecretHash": "A String", # Hash of the shared secret. - "targetVpnGateway": "A String", # URL of the VPN gateway to which this VPN tunnel is associated. Provided by the client when the VPN tunnel is created. + "targetVpnGateway": "A String", # URL of the VPN gateway with which this VPN tunnel is associated. Provided by the client when the VPN tunnel is created. "sharedSecret": "A String", # Shared secret used to set the secure session between the Cloud VPN gateway and the peer VPN gateway. "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format. "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server. "selfLink": "A String", # [Output Only] Server-defined URL for the resource. - "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. + "name": "A String", # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. }, ], "warning": { # Informational warning which replaces the list of addresses when the list is empty. @@ -149,7 +149,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -181,7 +181,7 @@

Method Details

Args: project: string, Project ID for this request. (required) - region: string, The name of the region for this request. (required) + region: string, Name of the region for this request. (required) vpnTunnel: string, Name of the VpnTunnel resource to delete. (required) Returns: @@ -209,7 +209,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -224,7 +224,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -236,11 +236,11 @@

Method Details

get(project, region, vpnTunnel) -
Returns the specified VpnTunnel resource.
+  
Returns the specified VpnTunnel resource. Get a list of available VPN tunnels by making a list() request.
 
 Args:
   project: string, Project ID for this request. (required)
-  region: string, The name of the region for this request. (required)
+  region: string, Name of the region for this request. (required)
   vpnTunnel: string, Name of the VpnTunnel resource to return. (required)
 
 Returns:
@@ -258,12 +258,12 @@ 

Method Details

], "status": "A String", # [Output Only] The status of the VPN tunnel. "sharedSecretHash": "A String", # Hash of the shared secret. - "targetVpnGateway": "A String", # URL of the VPN gateway to which this VPN tunnel is associated. Provided by the client when the VPN tunnel is created. + "targetVpnGateway": "A String", # URL of the VPN gateway with which this VPN tunnel is associated. Provided by the client when the VPN tunnel is created. "sharedSecret": "A String", # Shared secret used to set the secure session between the Cloud VPN gateway and the peer VPN gateway. "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format. "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server. "selfLink": "A String", # [Output Only] Server-defined URL for the resource. - "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. + "name": "A String", # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. }
@@ -273,7 +273,7 @@

Method Details

Args: project: string, Project ID for this request. (required) - region: string, The name of the region for this request. (required) + region: string, Name of the region for this request. (required) body: object, The request body. (required) The object takes the form of: @@ -289,12 +289,12 @@

Method Details

], "status": "A String", # [Output Only] The status of the VPN tunnel. "sharedSecretHash": "A String", # Hash of the shared secret. - "targetVpnGateway": "A String", # URL of the VPN gateway to which this VPN tunnel is associated. Provided by the client when the VPN tunnel is created. + "targetVpnGateway": "A String", # URL of the VPN gateway with which this VPN tunnel is associated. Provided by the client when the VPN tunnel is created. "sharedSecret": "A String", # Shared secret used to set the secure session between the Cloud VPN gateway and the peer VPN gateway. "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format. "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server. "selfLink": "A String", # [Output Only] Server-defined URL for the resource. - "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. + "name": "A String", # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. } @@ -323,7 +323,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -338,7 +338,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -354,18 +354,18 @@

Method Details

Args: project: string, Project ID for this request. (required) - region: string, The name of the region for this request. (required) + region: string, Name of the region for this request. (required) maxResults: integer, The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. pageToken: string, Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. filter: string, Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string. The field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. -For example, to filter for instances whose name is not equal to example-instance, you would use filter=name ne example-instance. +For example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance. -Compute Engine Beta API Only: If you use filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. In particular, use filtering on nested fields to take advantage of instance labels to organize and filter results based on label values. +Compute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values. -The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions meaning that resources must match all expressions to pass the filters. +The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters. Returns: An object of the form: @@ -385,12 +385,12 @@

Method Details

], "status": "A String", # [Output Only] The status of the VPN tunnel. "sharedSecretHash": "A String", # Hash of the shared secret. - "targetVpnGateway": "A String", # URL of the VPN gateway to which this VPN tunnel is associated. Provided by the client when the VPN tunnel is created. + "targetVpnGateway": "A String", # URL of the VPN gateway with which this VPN tunnel is associated. Provided by the client when the VPN tunnel is created. "sharedSecret": "A String", # Shared secret used to set the secure session between the Cloud VPN gateway and the peer VPN gateway. "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format. "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server. "selfLink": "A String", # [Output Only] Server-defined URL for the resource. - "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. + "name": "A String", # Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. }, ], "kind": "compute#vpnTunnelList", # [Output Only] Type of resource. Always compute#vpnTunnel for VPN tunnels. diff --git a/docs/dyn/compute_v1.zoneOperations.html b/docs/dyn/compute_v1.zoneOperations.html index 96297307164..4696231d620 100644 --- a/docs/dyn/compute_v1.zoneOperations.html +++ b/docs/dyn/compute_v1.zoneOperations.html @@ -132,7 +132,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -147,7 +147,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -170,11 +170,11 @@

Method Details

The field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. -For example, to filter for instances whose name is not equal to example-instance, you would use filter=name ne example-instance. +For example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance. -Compute Engine Beta API Only: If you use filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. In particular, use filtering on nested fields to take advantage of instance labels to organize and filter results based on label values. +Compute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values. -The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions meaning that resources must match all expressions to pass the filters. +The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters. Returns: An object of the form: @@ -204,7 +204,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -219,7 +219,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, diff --git a/docs/dyn/compute_v1.zones.html b/docs/dyn/compute_v1.zones.html index 3c1ed9aaebf..eea5ecc9fcf 100644 --- a/docs/dyn/compute_v1.zones.html +++ b/docs/dyn/compute_v1.zones.html @@ -76,17 +76,17 @@

Compute Engine API . get(project, zone)

-

Returns the specified zone resource.

+

Returns the specified Zone resource. Get a list of available zones by making a list() request.

list(project, maxResults=None, pageToken=None, filter=None)

-

Retrieves the list of zone resources available to the specified project.

+

Retrieves the list of Zone resources available to the specified project.

list_next(previous_request, previous_response)

Retrieves the next page of results.

Method Details

get(project, zone) -
Returns the specified zone resource.
+  
Returns the specified Zone resource. Get a list of available zones by making a list() request.
 
 Args:
   project: string, Project ID for this request. (required)
@@ -99,14 +99,6 @@ 

Method Details

"status": "A String", # [Output Only] Status of the zone, either UP or DOWN. "kind": "compute#zone", # [Output Only] Type of the resource. Always compute#zone for zones. "description": "A String", # [Output Only] Textual description of the resource. - "maintenanceWindows": [ # [Output Only] Any scheduled maintenance windows for this zone. When the zone is in a maintenance window, all resources which reside in the zone will be unavailable. For more information, see Maintenance Windows - { - "endTime": "A String", # [Output Only] Ending time of the maintenance window, in RFC3339 format. - "beginTime": "A String", # [Output Only] Starting time of the maintenance window, in RFC3339 format. - "name": "A String", # [Output Only] Name of the maintenance window. - "description": "A String", # [Output Only] Textual description of the maintenance window. - }, - ], "deprecated": { # Deprecation status for a public resource. # [Output Only] The deprecation status associated with this zone. "deleted": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DELETED. "deprecated": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DEPRECATED. @@ -124,7 +116,7 @@

Method Details

list(project, maxResults=None, pageToken=None, filter=None) -
Retrieves the list of zone resources available to the specified project.
+  
Retrieves the list of Zone resources available to the specified project.
 
 Args:
   project: string, Project ID for this request. (required)
@@ -134,11 +126,11 @@ 

Method Details

The field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. -For example, to filter for instances whose name is not equal to example-instance, you would use filter=name ne example-instance. +For example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance. -Compute Engine Beta API Only: If you use filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. In particular, use filtering on nested fields to take advantage of instance labels to organize and filter results based on label values. +Compute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values. -The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions meaning that resources must match all expressions to pass the filters. +The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters. Returns: An object of the form: @@ -150,14 +142,6 @@

Method Details

"status": "A String", # [Output Only] Status of the zone, either UP or DOWN. "kind": "compute#zone", # [Output Only] Type of the resource. Always compute#zone for zones. "description": "A String", # [Output Only] Textual description of the resource. - "maintenanceWindows": [ # [Output Only] Any scheduled maintenance windows for this zone. When the zone is in a maintenance window, all resources which reside in the zone will be unavailable. For more information, see Maintenance Windows - { - "endTime": "A String", # [Output Only] Ending time of the maintenance window, in RFC3339 format. - "beginTime": "A String", # [Output Only] Starting time of the maintenance window, in RFC3339 format. - "name": "A String", # [Output Only] Name of the maintenance window. - "description": "A String", # [Output Only] Textual description of the maintenance window. - }, - ], "deprecated": { # Deprecation status for a public resource. # [Output Only] The deprecation status associated with this zone. "deleted": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DELETED. "deprecated": "A String", # An optional RFC3339 timestamp on or after which the deprecation state of this resource will be changed to DEPRECATED. diff --git a/docs/dyn/consumersurveys_v2.html b/docs/dyn/consumersurveys_v2.html new file mode 100644 index 00000000000..8da9c3ee38c --- /dev/null +++ b/docs/dyn/consumersurveys_v2.html @@ -0,0 +1,108 @@ + + + +

Consumer Surveys API

+

Instance Methods

+

+ results() +

+

Returns the results Resource.

+ +

+ surveys() +

+

Returns the surveys Resource.

+ +

+ new_batch_http_request()

+

Create a BatchHttpRequest object based on the discovery document.

+

Method Details

+
+ new_batch_http_request() +
Create a BatchHttpRequest object based on the discovery document.
+
+        Args:
+          callback: callable, A callback to be called for each response, of the
+            form callback(id, response, exception). The first parameter is the
+            request id, and the second is the deserialized response object. The
+            third is an apiclient.errors.HttpError exception object if an HTTP
+            error occurred while processing the request, or None if no error
+            occurred.
+
+        Returns:
+          A BatchHttpRequest object based on the discovery document.
+        
+
+ + \ No newline at end of file diff --git a/docs/dyn/consumersurveys_v2.results.html b/docs/dyn/consumersurveys_v2.results.html new file mode 100644 index 00000000000..6557b083d9d --- /dev/null +++ b/docs/dyn/consumersurveys_v2.results.html @@ -0,0 +1,113 @@ + + + +

Consumer Surveys API . results

+

Instance Methods

+

+ get(surveyUrlId)

+

Retrieves any survey results that have been produced so far. Results are formatted as an Excel file.

+

+ get_media(surveyUrlId)

+

Retrieves any survey results that have been produced so far. Results are formatted as an Excel file.

+

Method Details

+
+ get(surveyUrlId) +
Retrieves any survey results that have been produced so far. Results are formatted as an Excel file.
+
+Args:
+  surveyUrlId: string, External URL ID for the survey. (required)
+
+Returns:
+  An object of the form:
+
+    { # Reference to the current results for a given survey.
+    "status": "A String", # Human readable string describing the status of the request.
+    "surveyUrlId": "A String", # External survey ID as viewable by survey owners in the editor view.
+  }
+
+ +
+ get_media(surveyUrlId) +
Retrieves any survey results that have been produced so far. Results are formatted as an Excel file.
+
+Args:
+  surveyUrlId: string, External URL ID for the survey. (required)
+
+Returns:
+  The media object as a string.
+
+    
+
+ + \ No newline at end of file diff --git a/docs/dyn/consumersurveys_v2.surveys.html b/docs/dyn/consumersurveys_v2.surveys.html new file mode 100644 index 00000000000..a5293805264 --- /dev/null +++ b/docs/dyn/consumersurveys_v2.surveys.html @@ -0,0 +1,716 @@ + + + +

Consumer Surveys API . surveys

+

Instance Methods

+

+ get(surveyUrlId)

+

Retrieves information about the specified survey.

+

+ insert(body)

+

Creates a survey.

+

+ list(startIndex=None, maxResults=None, token=None)

+

Lists the surveys owned by the authenticated user.

+

+ start(resourceId, body)

+

Begins running a survey.

+

+ stop(resourceId)

+

Stops a running survey.

+

+ update(surveyUrlId, body)

+

Updates a survey. Currently the only property that can be updated is the owners property.

+

Method Details

+
+ get(surveyUrlId) +
Retrieves information about the specified survey.
+
+Args:
+  surveyUrlId: string, External URL ID for the survey. (required)
+
+Returns:
+  An object of the form:
+
+    { # Representation of an individual survey object.
+      "owners": [ # List of email addresses for survey owners. Must contain at least the address of the user making the API call.
+        "A String",
+      ],
+      "description": "A String", # Text description of the survey.
+      "title": "A String", # Optional name that will be given to the survey.
+      "customerData": "A String", # Additional information to store on behalf of the API consumer and associate with this question. This binary blob is treated as opaque. This field is limited to 64K bytes.
+      "state": "A String", # State that the survey is in. Can be modified to start, stop, or pause survey.
+      "audience": { # Specifications for the target audience of a survey run through the API. # Targeting-criteria message containing demographic information
+        "countrySubdivision": "A String", # Country subdivision (states/provinces/etc) that surveys should be targeted to. For all countries except GB, ISO-3166-2 subdivision code is required (eg. 'US-OH' for Ohio, United States). For GB, NUTS 1 statistical region codes for the United Kingdom is required (eg. 'UK-UKC' for North East England).
+        "mobileAppPanelId": "A String", # Key for predefined panel that causes survey to be sent to a predefined set of Opinion Rewards App users. PopulationSource must be set to ANDROID_APP_PANEL to use this field.
+        "country": "A String", # Required country code that surveys should be targeted to. Accepts standard ISO 3166-1 2 character language codes. For instance, 'US' for the United States, and 'GB' for the United Kingdom.
+        "ages": [ # Optional list of age buckets to target. Supported age buckets are: ['18-24', '25-34', '35-44', '45-54', '55-64', '65+']
+          "A String",
+        ],
+        "populationSource": "A String", # Online population source where the respondents are sampled from.
+        "languages": [ # Language code that surveys should be targeted to. For instance, 'en-US'. Surveys may target bilingual users by specifying a list of language codes (for example, 'de' and 'en-US'). In that case, all languages will be used for targeting users but the survey content (which is displayed) must match the first language listed. Accepts standard BCP47 language codes. See specification.
+          "A String",
+        ],
+        "gender": "A String", # Optional gender to target.
+      },
+      "cost": { # Message defining the cost to run a given survey through API. # Cost to run the survey and collect the necessary number of responses.
+        "nanos": "A String", # Cost of survey in nano units of the given currency. DEPRECATED in favor of cost_per_response_nanos
+        "currencyCode": "A String", # Currency code that the cost is given in.
+        "autostartMaxCostPerResponse": "A String", # Threshold to start a survey automically if the quoted prices is at most this value. When a survey has a Screener (threshold) question, it must go through an incidence pricing test to determine the final cost per response. Typically the API consumer would have to make a followup call to start the survey given the (previously not) known cost. If the survey has no threshold_answers, setting this property will return an error. This property allows API callers to indicate the max price per response they'd be willing to pay in advance of that test. If the price turns out to be lower than the specified autostart_max, the survey should begin immediately and the user will be charged at the rate determined by the Incidence pricing test. If the price turns out to be greater than the specified autostart_max the survey will not be started and the user will instead be notified what price was determined by the incidence test. At that point they must raise the value of this property to be greater than or equal to that cost before attempting to start the survey again. This will immediately start the survey as long the incidence test was run within the last 21 days.
+        "costPerResponseNanos": "A String", # Cost per survey response in nano units of the given currency. To get the total cost for a survey, multiply this value by wanted_response_count.
+      },
+      "surveyUrlId": "A String", # Unique survey ID, that is viewable in the URL of the Survey Creator UI
+      "questions": [ # List of questions defining the survey.
+        { # Message defining the question specifications.
+          "highValueLabel": "A String", # For rating questions, the text for the higher end of the scale, such as 'Best'. For numeric questions, a string representing a floating-point that is the maximum allowed number for a response.
+          "mustPickSuggestion": True or False, # Option to force the user to pick one of the open text suggestions. This requires that suggestions are provided for this question.
+          "thresholdAnswers": [ # The threshold/screener answer options, which will screen a user into the rest of the survey. These will be a subset of the answer option strings.
+            "A String",
+          ],
+          "sentimentText": "A String", # Used by the Rating Scale with Text question type. This text goes along with the question field that is presented to the respondent, and is the actual text that the respondent is asked to rate.
+          "question": "A String", # Required question text shown to the respondent.
+          "numStars": "A String", # Number of stars to use for ratings questions.
+          "lowValueLabel": "A String", # For rating questions, the text for the lower end of the scale, such as 'Worst'. For numeric questions, a string representing a floating-point that is the minimum allowed number for a response.
+          "videoId": "A String", # The YouTube video ID to be show in video questions.
+          "answers": [ # Required list of answer options for a question.
+            "A String",
+          ],
+          "lastAnswerPositionPinned": True or False, # Currently only support pinning an answer option to the last position.
+          "hasOther": True or False, # Option to allow open-ended text box for Single Answer and Multiple Answer question types. This can be used with SINGLE_ANSWER, SINGLE_ANSWER_WITH_IMAGE, MULTIPLE_ANSWERS, and MULTIPLE_ANSWERS_WITH_IMAGE question types.
+          "unitOfMeasurementLabel": "A String", # Optional unit of measurement for display (for example: hours, people, miles).
+          "images": [
+            { # Container object for image data and alt_text.
+              "url": "A String", # The read-only URL for the hosted images.
+              "altText": "A String", # The alt text property used in image tags is required for all images.
+              "data": "A String", # Inline jpeg, gif, tiff, bmp, or png image raw bytes for an image question types.
+            },
+          ],
+          "singleLineResponse": True or False, # Option to allow multiple line open text responses instead of a single line response. Note that we don't show auto-complete suggestions with multiple line responses.
+          "openTextSuggestions": [ # A list of suggested answers for open text question auto-complete. This is only valid if single_line_response is true.
+            "A String",
+          ],
+          "type": "A String", # Required field defining the question type. For details about configuring different type of questions, consult the question configuration guide.
+          "answerOrder": "A String", # The randomization option for multiple choice and multi-select questions. If not specified, this option defaults to randomize.
+          "openTextPlaceholder": "A String", # Placeholder text for an open text question.
+        },
+      ],
+      "wantedResponseCount": 42, # Number of responses desired for the survey.
+    }
+
+ +
+ insert(body) +
Creates a survey.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Representation of an individual survey object.
+    "owners": [ # List of email addresses for survey owners. Must contain at least the address of the user making the API call.
+      "A String",
+    ],
+    "description": "A String", # Text description of the survey.
+    "title": "A String", # Optional name that will be given to the survey.
+    "customerData": "A String", # Additional information to store on behalf of the API consumer and associate with this question. This binary blob is treated as opaque. This field is limited to 64K bytes.
+    "state": "A String", # State that the survey is in. Can be modified to start, stop, or pause survey.
+    "audience": { # Specifications for the target audience of a survey run through the API. # Targeting-criteria message containing demographic information
+      "countrySubdivision": "A String", # Country subdivision (states/provinces/etc) that surveys should be targeted to. For all countries except GB, ISO-3166-2 subdivision code is required (eg. 'US-OH' for Ohio, United States). For GB, NUTS 1 statistical region codes for the United Kingdom is required (eg. 'UK-UKC' for North East England).
+      "mobileAppPanelId": "A String", # Key for predefined panel that causes survey to be sent to a predefined set of Opinion Rewards App users. PopulationSource must be set to ANDROID_APP_PANEL to use this field.
+      "country": "A String", # Required country code that surveys should be targeted to. Accepts standard ISO 3166-1 2 character language codes. For instance, 'US' for the United States, and 'GB' for the United Kingdom.
+      "ages": [ # Optional list of age buckets to target. Supported age buckets are: ['18-24', '25-34', '35-44', '45-54', '55-64', '65+']
+        "A String",
+      ],
+      "populationSource": "A String", # Online population source where the respondents are sampled from.
+      "languages": [ # Language code that surveys should be targeted to. For instance, 'en-US'. Surveys may target bilingual users by specifying a list of language codes (for example, 'de' and 'en-US'). In that case, all languages will be used for targeting users but the survey content (which is displayed) must match the first language listed. Accepts standard BCP47 language codes. See specification.
+        "A String",
+      ],
+      "gender": "A String", # Optional gender to target.
+    },
+    "cost": { # Message defining the cost to run a given survey through API. # Cost to run the survey and collect the necessary number of responses.
+      "nanos": "A String", # Cost of survey in nano units of the given currency. DEPRECATED in favor of cost_per_response_nanos
+      "currencyCode": "A String", # Currency code that the cost is given in.
+      "autostartMaxCostPerResponse": "A String", # Threshold to start a survey automically if the quoted prices is at most this value. When a survey has a Screener (threshold) question, it must go through an incidence pricing test to determine the final cost per response. Typically the API consumer would have to make a followup call to start the survey given the (previously not) known cost. If the survey has no threshold_answers, setting this property will return an error. This property allows API callers to indicate the max price per response they'd be willing to pay in advance of that test. If the price turns out to be lower than the specified autostart_max, the survey should begin immediately and the user will be charged at the rate determined by the Incidence pricing test. If the price turns out to be greater than the specified autostart_max the survey will not be started and the user will instead be notified what price was determined by the incidence test. At that point they must raise the value of this property to be greater than or equal to that cost before attempting to start the survey again. This will immediately start the survey as long the incidence test was run within the last 21 days.
+      "costPerResponseNanos": "A String", # Cost per survey response in nano units of the given currency. To get the total cost for a survey, multiply this value by wanted_response_count.
+    },
+    "surveyUrlId": "A String", # Unique survey ID, that is viewable in the URL of the Survey Creator UI
+    "questions": [ # List of questions defining the survey.
+      { # Message defining the question specifications.
+        "highValueLabel": "A String", # For rating questions, the text for the higher end of the scale, such as 'Best'. For numeric questions, a string representing a floating-point that is the maximum allowed number for a response.
+        "mustPickSuggestion": True or False, # Option to force the user to pick one of the open text suggestions. This requires that suggestions are provided for this question.
+        "thresholdAnswers": [ # The threshold/screener answer options, which will screen a user into the rest of the survey. These will be a subset of the answer option strings.
+          "A String",
+        ],
+        "sentimentText": "A String", # Used by the Rating Scale with Text question type. This text goes along with the question field that is presented to the respondent, and is the actual text that the respondent is asked to rate.
+        "question": "A String", # Required question text shown to the respondent.
+        "numStars": "A String", # Number of stars to use for ratings questions.
+        "lowValueLabel": "A String", # For rating questions, the text for the lower end of the scale, such as 'Worst'. For numeric questions, a string representing a floating-point that is the minimum allowed number for a response.
+        "videoId": "A String", # The YouTube video ID to be show in video questions.
+        "answers": [ # Required list of answer options for a question.
+          "A String",
+        ],
+        "lastAnswerPositionPinned": True or False, # Currently only support pinning an answer option to the last position.
+        "hasOther": True or False, # Option to allow open-ended text box for Single Answer and Multiple Answer question types. This can be used with SINGLE_ANSWER, SINGLE_ANSWER_WITH_IMAGE, MULTIPLE_ANSWERS, and MULTIPLE_ANSWERS_WITH_IMAGE question types.
+        "unitOfMeasurementLabel": "A String", # Optional unit of measurement for display (for example: hours, people, miles).
+        "images": [
+          { # Container object for image data and alt_text.
+            "url": "A String", # The read-only URL for the hosted images.
+            "altText": "A String", # The alt text property used in image tags is required for all images.
+            "data": "A String", # Inline jpeg, gif, tiff, bmp, or png image raw bytes for an image question types.
+          },
+        ],
+        "singleLineResponse": True or False, # Option to allow multiple line open text responses instead of a single line response. Note that we don't show auto-complete suggestions with multiple line responses.
+        "openTextSuggestions": [ # A list of suggested answers for open text question auto-complete. This is only valid if single_line_response is true.
+          "A String",
+        ],
+        "type": "A String", # Required field defining the question type. For details about configuring different type of questions, consult the question configuration guide.
+        "answerOrder": "A String", # The randomization option for multiple choice and multi-select questions. If not specified, this option defaults to randomize.
+        "openTextPlaceholder": "A String", # Placeholder text for an open text question.
+      },
+    ],
+    "wantedResponseCount": 42, # Number of responses desired for the survey.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Representation of an individual survey object.
+      "owners": [ # List of email addresses for survey owners. Must contain at least the address of the user making the API call.
+        "A String",
+      ],
+      "description": "A String", # Text description of the survey.
+      "title": "A String", # Optional name that will be given to the survey.
+      "customerData": "A String", # Additional information to store on behalf of the API consumer and associate with this question. This binary blob is treated as opaque. This field is limited to 64K bytes.
+      "state": "A String", # State that the survey is in. Can be modified to start, stop, or pause survey.
+      "audience": { # Specifications for the target audience of a survey run through the API. # Targeting-criteria message containing demographic information
+        "countrySubdivision": "A String", # Country subdivision (states/provinces/etc) that surveys should be targeted to. For all countries except GB, ISO-3166-2 subdivision code is required (eg. 'US-OH' for Ohio, United States). For GB, NUTS 1 statistical region codes for the United Kingdom is required (eg. 'UK-UKC' for North East England).
+        "mobileAppPanelId": "A String", # Key for predefined panel that causes survey to be sent to a predefined set of Opinion Rewards App users. PopulationSource must be set to ANDROID_APP_PANEL to use this field.
+        "country": "A String", # Required country code that surveys should be targeted to. Accepts standard ISO 3166-1 2 character language codes. For instance, 'US' for the United States, and 'GB' for the United Kingdom.
+        "ages": [ # Optional list of age buckets to target. Supported age buckets are: ['18-24', '25-34', '35-44', '45-54', '55-64', '65+']
+          "A String",
+        ],
+        "populationSource": "A String", # Online population source where the respondents are sampled from.
+        "languages": [ # Language code that surveys should be targeted to. For instance, 'en-US'. Surveys may target bilingual users by specifying a list of language codes (for example, 'de' and 'en-US'). In that case, all languages will be used for targeting users but the survey content (which is displayed) must match the first language listed. Accepts standard BCP47 language codes. See specification.
+          "A String",
+        ],
+        "gender": "A String", # Optional gender to target.
+      },
+      "cost": { # Message defining the cost to run a given survey through API. # Cost to run the survey and collect the necessary number of responses.
+        "nanos": "A String", # Cost of survey in nano units of the given currency. DEPRECATED in favor of cost_per_response_nanos
+        "currencyCode": "A String", # Currency code that the cost is given in.
+        "autostartMaxCostPerResponse": "A String", # Threshold to start a survey automically if the quoted prices is at most this value. When a survey has a Screener (threshold) question, it must go through an incidence pricing test to determine the final cost per response. Typically the API consumer would have to make a followup call to start the survey given the (previously not) known cost. If the survey has no threshold_answers, setting this property will return an error. This property allows API callers to indicate the max price per response they'd be willing to pay in advance of that test. If the price turns out to be lower than the specified autostart_max, the survey should begin immediately and the user will be charged at the rate determined by the Incidence pricing test. If the price turns out to be greater than the specified autostart_max the survey will not be started and the user will instead be notified what price was determined by the incidence test. At that point they must raise the value of this property to be greater than or equal to that cost before attempting to start the survey again. This will immediately start the survey as long the incidence test was run within the last 21 days.
+        "costPerResponseNanos": "A String", # Cost per survey response in nano units of the given currency. To get the total cost for a survey, multiply this value by wanted_response_count.
+      },
+      "surveyUrlId": "A String", # Unique survey ID, that is viewable in the URL of the Survey Creator UI
+      "questions": [ # List of questions defining the survey.
+        { # Message defining the question specifications.
+          "highValueLabel": "A String", # For rating questions, the text for the higher end of the scale, such as 'Best'. For numeric questions, a string representing a floating-point that is the maximum allowed number for a response.
+          "mustPickSuggestion": True or False, # Option to force the user to pick one of the open text suggestions. This requires that suggestions are provided for this question.
+          "thresholdAnswers": [ # The threshold/screener answer options, which will screen a user into the rest of the survey. These will be a subset of the answer option strings.
+            "A String",
+          ],
+          "sentimentText": "A String", # Used by the Rating Scale with Text question type. This text goes along with the question field that is presented to the respondent, and is the actual text that the respondent is asked to rate.
+          "question": "A String", # Required question text shown to the respondent.
+          "numStars": "A String", # Number of stars to use for ratings questions.
+          "lowValueLabel": "A String", # For rating questions, the text for the lower end of the scale, such as 'Worst'. For numeric questions, a string representing a floating-point that is the minimum allowed number for a response.
+          "videoId": "A String", # The YouTube video ID to be show in video questions.
+          "answers": [ # Required list of answer options for a question.
+            "A String",
+          ],
+          "lastAnswerPositionPinned": True or False, # Currently only support pinning an answer option to the last position.
+          "hasOther": True or False, # Option to allow open-ended text box for Single Answer and Multiple Answer question types. This can be used with SINGLE_ANSWER, SINGLE_ANSWER_WITH_IMAGE, MULTIPLE_ANSWERS, and MULTIPLE_ANSWERS_WITH_IMAGE question types.
+          "unitOfMeasurementLabel": "A String", # Optional unit of measurement for display (for example: hours, people, miles).
+          "images": [
+            { # Container object for image data and alt_text.
+              "url": "A String", # The read-only URL for the hosted images.
+              "altText": "A String", # The alt text property used in image tags is required for all images.
+              "data": "A String", # Inline jpeg, gif, tiff, bmp, or png image raw bytes for an image question types.
+            },
+          ],
+          "singleLineResponse": True or False, # Option to allow multiple line open text responses instead of a single line response. Note that we don't show auto-complete suggestions with multiple line responses.
+          "openTextSuggestions": [ # A list of suggested answers for open text question auto-complete. This is only valid if single_line_response is true.
+            "A String",
+          ],
+          "type": "A String", # Required field defining the question type. For details about configuring different type of questions, consult the question configuration guide.
+          "answerOrder": "A String", # The randomization option for multiple choice and multi-select questions. If not specified, this option defaults to randomize.
+          "openTextPlaceholder": "A String", # Placeholder text for an open text question.
+        },
+      ],
+      "wantedResponseCount": 42, # Number of responses desired for the survey.
+    }
+
+ +
+ list(startIndex=None, maxResults=None, token=None) +
Lists the surveys owned by the authenticated user.
+
+Args:
+  startIndex: integer, A parameter
+  maxResults: integer, A parameter
+  token: string, A parameter
+
+Returns:
+  An object of the form:
+
+    {
+    "tokenPagination": {
+      "nextPageToken": "A String",
+      "previousPageToken": "A String",
+    },
+    "pageInfo": {
+      "totalResults": 42,
+      "startIndex": 42,
+      "resultPerPage": 42,
+    },
+    "resources": [ # An individual survey resource.
+      { # Representation of an individual survey object.
+          "owners": [ # List of email addresses for survey owners. Must contain at least the address of the user making the API call.
+            "A String",
+          ],
+          "description": "A String", # Text description of the survey.
+          "title": "A String", # Optional name that will be given to the survey.
+          "customerData": "A String", # Additional information to store on behalf of the API consumer and associate with this question. This binary blob is treated as opaque. This field is limited to 64K bytes.
+          "state": "A String", # State that the survey is in. Can be modified to start, stop, or pause survey.
+          "audience": { # Specifications for the target audience of a survey run through the API. # Targeting-criteria message containing demographic information
+            "countrySubdivision": "A String", # Country subdivision (states/provinces/etc) that surveys should be targeted to. For all countries except GB, ISO-3166-2 subdivision code is required (eg. 'US-OH' for Ohio, United States). For GB, NUTS 1 statistical region codes for the United Kingdom is required (eg. 'UK-UKC' for North East England).
+            "mobileAppPanelId": "A String", # Key for predefined panel that causes survey to be sent to a predefined set of Opinion Rewards App users. PopulationSource must be set to ANDROID_APP_PANEL to use this field.
+            "country": "A String", # Required country code that surveys should be targeted to. Accepts standard ISO 3166-1 2 character language codes. For instance, 'US' for the United States, and 'GB' for the United Kingdom.
+            "ages": [ # Optional list of age buckets to target. Supported age buckets are: ['18-24', '25-34', '35-44', '45-54', '55-64', '65+']
+              "A String",
+            ],
+            "populationSource": "A String", # Online population source where the respondents are sampled from.
+            "languages": [ # Language code that surveys should be targeted to. For instance, 'en-US'. Surveys may target bilingual users by specifying a list of language codes (for example, 'de' and 'en-US'). In that case, all languages will be used for targeting users but the survey content (which is displayed) must match the first language listed. Accepts standard BCP47 language codes. See specification.
+              "A String",
+            ],
+            "gender": "A String", # Optional gender to target.
+          },
+          "cost": { # Message defining the cost to run a given survey through API. # Cost to run the survey and collect the necessary number of responses.
+            "nanos": "A String", # Cost of survey in nano units of the given currency. DEPRECATED in favor of cost_per_response_nanos
+            "currencyCode": "A String", # Currency code that the cost is given in.
+            "autostartMaxCostPerResponse": "A String", # Threshold to start a survey automically if the quoted prices is at most this value. When a survey has a Screener (threshold) question, it must go through an incidence pricing test to determine the final cost per response. Typically the API consumer would have to make a followup call to start the survey given the (previously not) known cost. If the survey has no threshold_answers, setting this property will return an error. This property allows API callers to indicate the max price per response they'd be willing to pay in advance of that test. If the price turns out to be lower than the specified autostart_max, the survey should begin immediately and the user will be charged at the rate determined by the Incidence pricing test. If the price turns out to be greater than the specified autostart_max the survey will not be started and the user will instead be notified what price was determined by the incidence test. At that point they must raise the value of this property to be greater than or equal to that cost before attempting to start the survey again. This will immediately start the survey as long the incidence test was run within the last 21 days.
+            "costPerResponseNanos": "A String", # Cost per survey response in nano units of the given currency. To get the total cost for a survey, multiply this value by wanted_response_count.
+          },
+          "surveyUrlId": "A String", # Unique survey ID, that is viewable in the URL of the Survey Creator UI
+          "questions": [ # List of questions defining the survey.
+            { # Message defining the question specifications.
+              "highValueLabel": "A String", # For rating questions, the text for the higher end of the scale, such as 'Best'. For numeric questions, a string representing a floating-point that is the maximum allowed number for a response.
+              "mustPickSuggestion": True or False, # Option to force the user to pick one of the open text suggestions. This requires that suggestions are provided for this question.
+              "thresholdAnswers": [ # The threshold/screener answer options, which will screen a user into the rest of the survey. These will be a subset of the answer option strings.
+                "A String",
+              ],
+              "sentimentText": "A String", # Used by the Rating Scale with Text question type. This text goes along with the question field that is presented to the respondent, and is the actual text that the respondent is asked to rate.
+              "question": "A String", # Required question text shown to the respondent.
+              "numStars": "A String", # Number of stars to use for ratings questions.
+              "lowValueLabel": "A String", # For rating questions, the text for the lower end of the scale, such as 'Worst'. For numeric questions, a string representing a floating-point that is the minimum allowed number for a response.
+              "videoId": "A String", # The YouTube video ID to be show in video questions.
+              "answers": [ # Required list of answer options for a question.
+                "A String",
+              ],
+              "lastAnswerPositionPinned": True or False, # Currently only support pinning an answer option to the last position.
+              "hasOther": True or False, # Option to allow open-ended text box for Single Answer and Multiple Answer question types. This can be used with SINGLE_ANSWER, SINGLE_ANSWER_WITH_IMAGE, MULTIPLE_ANSWERS, and MULTIPLE_ANSWERS_WITH_IMAGE question types.
+              "unitOfMeasurementLabel": "A String", # Optional unit of measurement for display (for example: hours, people, miles).
+              "images": [
+                { # Container object for image data and alt_text.
+                  "url": "A String", # The read-only URL for the hosted images.
+                  "altText": "A String", # The alt text property used in image tags is required for all images.
+                  "data": "A String", # Inline jpeg, gif, tiff, bmp, or png image raw bytes for an image question types.
+                },
+              ],
+              "singleLineResponse": True or False, # Option to allow multiple line open text responses instead of a single line response. Note that we don't show auto-complete suggestions with multiple line responses.
+              "openTextSuggestions": [ # A list of suggested answers for open text question auto-complete. This is only valid if single_line_response is true.
+                "A String",
+              ],
+              "type": "A String", # Required field defining the question type. For details about configuring different type of questions, consult the question configuration guide.
+              "answerOrder": "A String", # The randomization option for multiple choice and multi-select questions. If not specified, this option defaults to randomize.
+              "openTextPlaceholder": "A String", # Placeholder text for an open text question.
+            },
+          ],
+          "wantedResponseCount": 42, # Number of responses desired for the survey.
+        },
+    ],
+    "requestId": "A String", # Unique request ID used for logging and debugging. Please include in any error reporting or troubleshooting requests.
+  }
+
+ +
+ start(resourceId, body) +
Begins running a survey.
+
+Args:
+  resourceId: string, A parameter (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "autostartMaxCostPerResponse": "A String", # Threshold to start a survey automically if the quoted prices is less than or equal to this value. See Survey.Cost for more details.
+  }
+
+
+Returns:
+  An object of the form:
+
+    {
+    "resource": { # Representation of an individual survey object. # Survey object containing the specification of the started Survey.
+        "owners": [ # List of email addresses for survey owners. Must contain at least the address of the user making the API call.
+          "A String",
+        ],
+        "description": "A String", # Text description of the survey.
+        "title": "A String", # Optional name that will be given to the survey.
+        "customerData": "A String", # Additional information to store on behalf of the API consumer and associate with this question. This binary blob is treated as opaque. This field is limited to 64K bytes.
+        "state": "A String", # State that the survey is in. Can be modified to start, stop, or pause survey.
+        "audience": { # Specifications for the target audience of a survey run through the API. # Targeting-criteria message containing demographic information
+          "countrySubdivision": "A String", # Country subdivision (states/provinces/etc) that surveys should be targeted to. For all countries except GB, ISO-3166-2 subdivision code is required (eg. 'US-OH' for Ohio, United States). For GB, NUTS 1 statistical region codes for the United Kingdom is required (eg. 'UK-UKC' for North East England).
+          "mobileAppPanelId": "A String", # Key for predefined panel that causes survey to be sent to a predefined set of Opinion Rewards App users. PopulationSource must be set to ANDROID_APP_PANEL to use this field.
+          "country": "A String", # Required country code that surveys should be targeted to. Accepts standard ISO 3166-1 2 character language codes. For instance, 'US' for the United States, and 'GB' for the United Kingdom.
+          "ages": [ # Optional list of age buckets to target. Supported age buckets are: ['18-24', '25-34', '35-44', '45-54', '55-64', '65+']
+            "A String",
+          ],
+          "populationSource": "A String", # Online population source where the respondents are sampled from.
+          "languages": [ # Language code that surveys should be targeted to. For instance, 'en-US'. Surveys may target bilingual users by specifying a list of language codes (for example, 'de' and 'en-US'). In that case, all languages will be used for targeting users but the survey content (which is displayed) must match the first language listed. Accepts standard BCP47 language codes. See specification.
+            "A String",
+          ],
+          "gender": "A String", # Optional gender to target.
+        },
+        "cost": { # Message defining the cost to run a given survey through API. # Cost to run the survey and collect the necessary number of responses.
+          "nanos": "A String", # Cost of survey in nano units of the given currency. DEPRECATED in favor of cost_per_response_nanos
+          "currencyCode": "A String", # Currency code that the cost is given in.
+          "autostartMaxCostPerResponse": "A String", # Threshold to start a survey automically if the quoted prices is at most this value. When a survey has a Screener (threshold) question, it must go through an incidence pricing test to determine the final cost per response. Typically the API consumer would have to make a followup call to start the survey given the (previously not) known cost. If the survey has no threshold_answers, setting this property will return an error. This property allows API callers to indicate the max price per response they'd be willing to pay in advance of that test. If the price turns out to be lower than the specified autostart_max, the survey should begin immediately and the user will be charged at the rate determined by the Incidence pricing test. If the price turns out to be greater than the specified autostart_max the survey will not be started and the user will instead be notified what price was determined by the incidence test. At that point they must raise the value of this property to be greater than or equal to that cost before attempting to start the survey again. This will immediately start the survey as long the incidence test was run within the last 21 days.
+          "costPerResponseNanos": "A String", # Cost per survey response in nano units of the given currency. To get the total cost for a survey, multiply this value by wanted_response_count.
+        },
+        "surveyUrlId": "A String", # Unique survey ID, that is viewable in the URL of the Survey Creator UI
+        "questions": [ # List of questions defining the survey.
+          { # Message defining the question specifications.
+            "highValueLabel": "A String", # For rating questions, the text for the higher end of the scale, such as 'Best'. For numeric questions, a string representing a floating-point that is the maximum allowed number for a response.
+            "mustPickSuggestion": True or False, # Option to force the user to pick one of the open text suggestions. This requires that suggestions are provided for this question.
+            "thresholdAnswers": [ # The threshold/screener answer options, which will screen a user into the rest of the survey. These will be a subset of the answer option strings.
+              "A String",
+            ],
+            "sentimentText": "A String", # Used by the Rating Scale with Text question type. This text goes along with the question field that is presented to the respondent, and is the actual text that the respondent is asked to rate.
+            "question": "A String", # Required question text shown to the respondent.
+            "numStars": "A String", # Number of stars to use for ratings questions.
+            "lowValueLabel": "A String", # For rating questions, the text for the lower end of the scale, such as 'Worst'. For numeric questions, a string representing a floating-point that is the minimum allowed number for a response.
+            "videoId": "A String", # The YouTube video ID to be show in video questions.
+            "answers": [ # Required list of answer options for a question.
+              "A String",
+            ],
+            "lastAnswerPositionPinned": True or False, # Currently only support pinning an answer option to the last position.
+            "hasOther": True or False, # Option to allow open-ended text box for Single Answer and Multiple Answer question types. This can be used with SINGLE_ANSWER, SINGLE_ANSWER_WITH_IMAGE, MULTIPLE_ANSWERS, and MULTIPLE_ANSWERS_WITH_IMAGE question types.
+            "unitOfMeasurementLabel": "A String", # Optional unit of measurement for display (for example: hours, people, miles).
+            "images": [
+              { # Container object for image data and alt_text.
+                "url": "A String", # The read-only URL for the hosted images.
+                "altText": "A String", # The alt text property used in image tags is required for all images.
+                "data": "A String", # Inline jpeg, gif, tiff, bmp, or png image raw bytes for an image question types.
+              },
+            ],
+            "singleLineResponse": True or False, # Option to allow multiple line open text responses instead of a single line response. Note that we don't show auto-complete suggestions with multiple line responses.
+            "openTextSuggestions": [ # A list of suggested answers for open text question auto-complete. This is only valid if single_line_response is true.
+              "A String",
+            ],
+            "type": "A String", # Required field defining the question type. For details about configuring different type of questions, consult the question configuration guide.
+            "answerOrder": "A String", # The randomization option for multiple choice and multi-select questions. If not specified, this option defaults to randomize.
+            "openTextPlaceholder": "A String", # Placeholder text for an open text question.
+          },
+        ],
+        "wantedResponseCount": 42, # Number of responses desired for the survey.
+      },
+    "requestId": "A String", # Unique request ID used for logging and debugging. Please include in any error reporting or troubleshooting requests.
+  }
+
+ +
+ stop(resourceId) +
Stops a running survey.
+
+Args:
+  resourceId: string, A parameter (required)
+
+Returns:
+  An object of the form:
+
+    {
+    "resource": { # Representation of an individual survey object. # Survey object containing the specification of the stopped Survey.
+        "owners": [ # List of email addresses for survey owners. Must contain at least the address of the user making the API call.
+          "A String",
+        ],
+        "description": "A String", # Text description of the survey.
+        "title": "A String", # Optional name that will be given to the survey.
+        "customerData": "A String", # Additional information to store on behalf of the API consumer and associate with this question. This binary blob is treated as opaque. This field is limited to 64K bytes.
+        "state": "A String", # State that the survey is in. Can be modified to start, stop, or pause survey.
+        "audience": { # Specifications for the target audience of a survey run through the API. # Targeting-criteria message containing demographic information
+          "countrySubdivision": "A String", # Country subdivision (states/provinces/etc) that surveys should be targeted to. For all countries except GB, ISO-3166-2 subdivision code is required (eg. 'US-OH' for Ohio, United States). For GB, NUTS 1 statistical region codes for the United Kingdom is required (eg. 'UK-UKC' for North East England).
+          "mobileAppPanelId": "A String", # Key for predefined panel that causes survey to be sent to a predefined set of Opinion Rewards App users. PopulationSource must be set to ANDROID_APP_PANEL to use this field.
+          "country": "A String", # Required country code that surveys should be targeted to. Accepts standard ISO 3166-1 2 character language codes. For instance, 'US' for the United States, and 'GB' for the United Kingdom.
+          "ages": [ # Optional list of age buckets to target. Supported age buckets are: ['18-24', '25-34', '35-44', '45-54', '55-64', '65+']
+            "A String",
+          ],
+          "populationSource": "A String", # Online population source where the respondents are sampled from.
+          "languages": [ # Language code that surveys should be targeted to. For instance, 'en-US'. Surveys may target bilingual users by specifying a list of language codes (for example, 'de' and 'en-US'). In that case, all languages will be used for targeting users but the survey content (which is displayed) must match the first language listed. Accepts standard BCP47 language codes. See specification.
+            "A String",
+          ],
+          "gender": "A String", # Optional gender to target.
+        },
+        "cost": { # Message defining the cost to run a given survey through API. # Cost to run the survey and collect the necessary number of responses.
+          "nanos": "A String", # Cost of survey in nano units of the given currency. DEPRECATED in favor of cost_per_response_nanos
+          "currencyCode": "A String", # Currency code that the cost is given in.
+          "autostartMaxCostPerResponse": "A String", # Threshold to start a survey automically if the quoted prices is at most this value. When a survey has a Screener (threshold) question, it must go through an incidence pricing test to determine the final cost per response. Typically the API consumer would have to make a followup call to start the survey given the (previously not) known cost. If the survey has no threshold_answers, setting this property will return an error. This property allows API callers to indicate the max price per response they'd be willing to pay in advance of that test. If the price turns out to be lower than the specified autostart_max, the survey should begin immediately and the user will be charged at the rate determined by the Incidence pricing test. If the price turns out to be greater than the specified autostart_max the survey will not be started and the user will instead be notified what price was determined by the incidence test. At that point they must raise the value of this property to be greater than or equal to that cost before attempting to start the survey again. This will immediately start the survey as long the incidence test was run within the last 21 days.
+          "costPerResponseNanos": "A String", # Cost per survey response in nano units of the given currency. To get the total cost for a survey, multiply this value by wanted_response_count.
+        },
+        "surveyUrlId": "A String", # Unique survey ID, that is viewable in the URL of the Survey Creator UI
+        "questions": [ # List of questions defining the survey.
+          { # Message defining the question specifications.
+            "highValueLabel": "A String", # For rating questions, the text for the higher end of the scale, such as 'Best'. For numeric questions, a string representing a floating-point that is the maximum allowed number for a response.
+            "mustPickSuggestion": True or False, # Option to force the user to pick one of the open text suggestions. This requires that suggestions are provided for this question.
+            "thresholdAnswers": [ # The threshold/screener answer options, which will screen a user into the rest of the survey. These will be a subset of the answer option strings.
+              "A String",
+            ],
+            "sentimentText": "A String", # Used by the Rating Scale with Text question type. This text goes along with the question field that is presented to the respondent, and is the actual text that the respondent is asked to rate.
+            "question": "A String", # Required question text shown to the respondent.
+            "numStars": "A String", # Number of stars to use for ratings questions.
+            "lowValueLabel": "A String", # For rating questions, the text for the lower end of the scale, such as 'Worst'. For numeric questions, a string representing a floating-point that is the minimum allowed number for a response.
+            "videoId": "A String", # The YouTube video ID to be show in video questions.
+            "answers": [ # Required list of answer options for a question.
+              "A String",
+            ],
+            "lastAnswerPositionPinned": True or False, # Currently only support pinning an answer option to the last position.
+            "hasOther": True or False, # Option to allow open-ended text box for Single Answer and Multiple Answer question types. This can be used with SINGLE_ANSWER, SINGLE_ANSWER_WITH_IMAGE, MULTIPLE_ANSWERS, and MULTIPLE_ANSWERS_WITH_IMAGE question types.
+            "unitOfMeasurementLabel": "A String", # Optional unit of measurement for display (for example: hours, people, miles).
+            "images": [
+              { # Container object for image data and alt_text.
+                "url": "A String", # The read-only URL for the hosted images.
+                "altText": "A String", # The alt text property used in image tags is required for all images.
+                "data": "A String", # Inline jpeg, gif, tiff, bmp, or png image raw bytes for an image question types.
+              },
+            ],
+            "singleLineResponse": True or False, # Option to allow multiple line open text responses instead of a single line response. Note that we don't show auto-complete suggestions with multiple line responses.
+            "openTextSuggestions": [ # A list of suggested answers for open text question auto-complete. This is only valid if single_line_response is true.
+              "A String",
+            ],
+            "type": "A String", # Required field defining the question type. For details about configuring different type of questions, consult the question configuration guide.
+            "answerOrder": "A String", # The randomization option for multiple choice and multi-select questions. If not specified, this option defaults to randomize.
+            "openTextPlaceholder": "A String", # Placeholder text for an open text question.
+          },
+        ],
+        "wantedResponseCount": 42, # Number of responses desired for the survey.
+      },
+    "requestId": "A String", # Unique request ID used for logging and debugging. Please include in any error reporting or troubleshooting requests.
+  }
+
+ +
+ update(surveyUrlId, body) +
Updates a survey. Currently the only property that can be updated is the owners property.
+
+Args:
+  surveyUrlId: string, External URL ID for the survey. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Representation of an individual survey object.
+    "owners": [ # List of email addresses for survey owners. Must contain at least the address of the user making the API call.
+      "A String",
+    ],
+    "description": "A String", # Text description of the survey.
+    "title": "A String", # Optional name that will be given to the survey.
+    "customerData": "A String", # Additional information to store on behalf of the API consumer and associate with this question. This binary blob is treated as opaque. This field is limited to 64K bytes.
+    "state": "A String", # State that the survey is in. Can be modified to start, stop, or pause survey.
+    "audience": { # Specifications for the target audience of a survey run through the API. # Targeting-criteria message containing demographic information
+      "countrySubdivision": "A String", # Country subdivision (states/provinces/etc) that surveys should be targeted to. For all countries except GB, ISO-3166-2 subdivision code is required (eg. 'US-OH' for Ohio, United States). For GB, NUTS 1 statistical region codes for the United Kingdom is required (eg. 'UK-UKC' for North East England).
+      "mobileAppPanelId": "A String", # Key for predefined panel that causes survey to be sent to a predefined set of Opinion Rewards App users. PopulationSource must be set to ANDROID_APP_PANEL to use this field.
+      "country": "A String", # Required country code that surveys should be targeted to. Accepts standard ISO 3166-1 2 character language codes. For instance, 'US' for the United States, and 'GB' for the United Kingdom.
+      "ages": [ # Optional list of age buckets to target. Supported age buckets are: ['18-24', '25-34', '35-44', '45-54', '55-64', '65+']
+        "A String",
+      ],
+      "populationSource": "A String", # Online population source where the respondents are sampled from.
+      "languages": [ # Language code that surveys should be targeted to. For instance, 'en-US'. Surveys may target bilingual users by specifying a list of language codes (for example, 'de' and 'en-US'). In that case, all languages will be used for targeting users but the survey content (which is displayed) must match the first language listed. Accepts standard BCP47 language codes. See specification.
+        "A String",
+      ],
+      "gender": "A String", # Optional gender to target.
+    },
+    "cost": { # Message defining the cost to run a given survey through API. # Cost to run the survey and collect the necessary number of responses.
+      "nanos": "A String", # Cost of survey in nano units of the given currency. DEPRECATED in favor of cost_per_response_nanos
+      "currencyCode": "A String", # Currency code that the cost is given in.
+      "autostartMaxCostPerResponse": "A String", # Threshold to start a survey automically if the quoted prices is at most this value. When a survey has a Screener (threshold) question, it must go through an incidence pricing test to determine the final cost per response. Typically the API consumer would have to make a followup call to start the survey given the (previously not) known cost. If the survey has no threshold_answers, setting this property will return an error. This property allows API callers to indicate the max price per response they'd be willing to pay in advance of that test. If the price turns out to be lower than the specified autostart_max, the survey should begin immediately and the user will be charged at the rate determined by the Incidence pricing test. If the price turns out to be greater than the specified autostart_max the survey will not be started and the user will instead be notified what price was determined by the incidence test. At that point they must raise the value of this property to be greater than or equal to that cost before attempting to start the survey again. This will immediately start the survey as long the incidence test was run within the last 21 days.
+      "costPerResponseNanos": "A String", # Cost per survey response in nano units of the given currency. To get the total cost for a survey, multiply this value by wanted_response_count.
+    },
+    "surveyUrlId": "A String", # Unique survey ID, that is viewable in the URL of the Survey Creator UI
+    "questions": [ # List of questions defining the survey.
+      { # Message defining the question specifications.
+        "highValueLabel": "A String", # For rating questions, the text for the higher end of the scale, such as 'Best'. For numeric questions, a string representing a floating-point that is the maximum allowed number for a response.
+        "mustPickSuggestion": True or False, # Option to force the user to pick one of the open text suggestions. This requires that suggestions are provided for this question.
+        "thresholdAnswers": [ # The threshold/screener answer options, which will screen a user into the rest of the survey. These will be a subset of the answer option strings.
+          "A String",
+        ],
+        "sentimentText": "A String", # Used by the Rating Scale with Text question type. This text goes along with the question field that is presented to the respondent, and is the actual text that the respondent is asked to rate.
+        "question": "A String", # Required question text shown to the respondent.
+        "numStars": "A String", # Number of stars to use for ratings questions.
+        "lowValueLabel": "A String", # For rating questions, the text for the lower end of the scale, such as 'Worst'. For numeric questions, a string representing a floating-point that is the minimum allowed number for a response.
+        "videoId": "A String", # The YouTube video ID to be show in video questions.
+        "answers": [ # Required list of answer options for a question.
+          "A String",
+        ],
+        "lastAnswerPositionPinned": True or False, # Currently only support pinning an answer option to the last position.
+        "hasOther": True or False, # Option to allow open-ended text box for Single Answer and Multiple Answer question types. This can be used with SINGLE_ANSWER, SINGLE_ANSWER_WITH_IMAGE, MULTIPLE_ANSWERS, and MULTIPLE_ANSWERS_WITH_IMAGE question types.
+        "unitOfMeasurementLabel": "A String", # Optional unit of measurement for display (for example: hours, people, miles).
+        "images": [
+          { # Container object for image data and alt_text.
+            "url": "A String", # The read-only URL for the hosted images.
+            "altText": "A String", # The alt text property used in image tags is required for all images.
+            "data": "A String", # Inline jpeg, gif, tiff, bmp, or png image raw bytes for an image question types.
+          },
+        ],
+        "singleLineResponse": True or False, # Option to allow multiple line open text responses instead of a single line response. Note that we don't show auto-complete suggestions with multiple line responses.
+        "openTextSuggestions": [ # A list of suggested answers for open text question auto-complete. This is only valid if single_line_response is true.
+          "A String",
+        ],
+        "type": "A String", # Required field defining the question type. For details about configuring different type of questions, consult the question configuration guide.
+        "answerOrder": "A String", # The randomization option for multiple choice and multi-select questions. If not specified, this option defaults to randomize.
+        "openTextPlaceholder": "A String", # Placeholder text for an open text question.
+      },
+    ],
+    "wantedResponseCount": 42, # Number of responses desired for the survey.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Representation of an individual survey object.
+      "owners": [ # List of email addresses for survey owners. Must contain at least the address of the user making the API call.
+        "A String",
+      ],
+      "description": "A String", # Text description of the survey.
+      "title": "A String", # Optional name that will be given to the survey.
+      "customerData": "A String", # Additional information to store on behalf of the API consumer and associate with this question. This binary blob is treated as opaque. This field is limited to 64K bytes.
+      "state": "A String", # State that the survey is in. Can be modified to start, stop, or pause survey.
+      "audience": { # Specifications for the target audience of a survey run through the API. # Targeting-criteria message containing demographic information
+        "countrySubdivision": "A String", # Country subdivision (states/provinces/etc) that surveys should be targeted to. For all countries except GB, ISO-3166-2 subdivision code is required (eg. 'US-OH' for Ohio, United States). For GB, NUTS 1 statistical region codes for the United Kingdom is required (eg. 'UK-UKC' for North East England).
+        "mobileAppPanelId": "A String", # Key for predefined panel that causes survey to be sent to a predefined set of Opinion Rewards App users. PopulationSource must be set to ANDROID_APP_PANEL to use this field.
+        "country": "A String", # Required country code that surveys should be targeted to. Accepts standard ISO 3166-1 2 character language codes. For instance, 'US' for the United States, and 'GB' for the United Kingdom.
+        "ages": [ # Optional list of age buckets to target. Supported age buckets are: ['18-24', '25-34', '35-44', '45-54', '55-64', '65+']
+          "A String",
+        ],
+        "populationSource": "A String", # Online population source where the respondents are sampled from.
+        "languages": [ # Language code that surveys should be targeted to. For instance, 'en-US'. Surveys may target bilingual users by specifying a list of language codes (for example, 'de' and 'en-US'). In that case, all languages will be used for targeting users but the survey content (which is displayed) must match the first language listed. Accepts standard BCP47 language codes. See specification.
+          "A String",
+        ],
+        "gender": "A String", # Optional gender to target.
+      },
+      "cost": { # Message defining the cost to run a given survey through API. # Cost to run the survey and collect the necessary number of responses.
+        "nanos": "A String", # Cost of survey in nano units of the given currency. DEPRECATED in favor of cost_per_response_nanos
+        "currencyCode": "A String", # Currency code that the cost is given in.
+        "autostartMaxCostPerResponse": "A String", # Threshold to start a survey automically if the quoted prices is at most this value. When a survey has a Screener (threshold) question, it must go through an incidence pricing test to determine the final cost per response. Typically the API consumer would have to make a followup call to start the survey given the (previously not) known cost. If the survey has no threshold_answers, setting this property will return an error. This property allows API callers to indicate the max price per response they'd be willing to pay in advance of that test. If the price turns out to be lower than the specified autostart_max, the survey should begin immediately and the user will be charged at the rate determined by the Incidence pricing test. If the price turns out to be greater than the specified autostart_max the survey will not be started and the user will instead be notified what price was determined by the incidence test. At that point they must raise the value of this property to be greater than or equal to that cost before attempting to start the survey again. This will immediately start the survey as long the incidence test was run within the last 21 days.
+        "costPerResponseNanos": "A String", # Cost per survey response in nano units of the given currency. To get the total cost for a survey, multiply this value by wanted_response_count.
+      },
+      "surveyUrlId": "A String", # Unique survey ID, that is viewable in the URL of the Survey Creator UI
+      "questions": [ # List of questions defining the survey.
+        { # Message defining the question specifications.
+          "highValueLabel": "A String", # For rating questions, the text for the higher end of the scale, such as 'Best'. For numeric questions, a string representing a floating-point that is the maximum allowed number for a response.
+          "mustPickSuggestion": True or False, # Option to force the user to pick one of the open text suggestions. This requires that suggestions are provided for this question.
+          "thresholdAnswers": [ # The threshold/screener answer options, which will screen a user into the rest of the survey. These will be a subset of the answer option strings.
+            "A String",
+          ],
+          "sentimentText": "A String", # Used by the Rating Scale with Text question type. This text goes along with the question field that is presented to the respondent, and is the actual text that the respondent is asked to rate.
+          "question": "A String", # Required question text shown to the respondent.
+          "numStars": "A String", # Number of stars to use for ratings questions.
+          "lowValueLabel": "A String", # For rating questions, the text for the lower end of the scale, such as 'Worst'. For numeric questions, a string representing a floating-point that is the minimum allowed number for a response.
+          "videoId": "A String", # The YouTube video ID to be show in video questions.
+          "answers": [ # Required list of answer options for a question.
+            "A String",
+          ],
+          "lastAnswerPositionPinned": True or False, # Currently only support pinning an answer option to the last position.
+          "hasOther": True or False, # Option to allow open-ended text box for Single Answer and Multiple Answer question types. This can be used with SINGLE_ANSWER, SINGLE_ANSWER_WITH_IMAGE, MULTIPLE_ANSWERS, and MULTIPLE_ANSWERS_WITH_IMAGE question types.
+          "unitOfMeasurementLabel": "A String", # Optional unit of measurement for display (for example: hours, people, miles).
+          "images": [
+            { # Container object for image data and alt_text.
+              "url": "A String", # The read-only URL for the hosted images.
+              "altText": "A String", # The alt text property used in image tags is required for all images.
+              "data": "A String", # Inline jpeg, gif, tiff, bmp, or png image raw bytes for an image question types.
+            },
+          ],
+          "singleLineResponse": True or False, # Option to allow multiple line open text responses instead of a single line response. Note that we don't show auto-complete suggestions with multiple line responses.
+          "openTextSuggestions": [ # A list of suggested answers for open text question auto-complete. This is only valid if single_line_response is true.
+            "A String",
+          ],
+          "type": "A String", # Required field defining the question type. For details about configuring different type of questions, consult the question configuration guide.
+          "answerOrder": "A String", # The randomization option for multiple choice and multi-select questions. If not specified, this option defaults to randomize.
+          "openTextPlaceholder": "A String", # Placeholder text for an open text question.
+        },
+      ],
+      "wantedResponseCount": 42, # Number of responses desired for the survey.
+    }
+
+ + \ No newline at end of file diff --git a/docs/dyn/container_v1.projects.zones.clusters.html b/docs/dyn/container_v1.projects.zones.clusters.html index 529e2cdc134..2f8e9547f82 100644 --- a/docs/dyn/container_v1.projects.zones.clusters.html +++ b/docs/dyn/container_v1.projects.zones.clusters.html @@ -74,69 +74,113 @@

Google Container Engine API . projects . zones . clusters

Instance Methods

+

+ nodePools() +

+

Returns the nodePools Resource.

+

create(projectId, zone, body, x__xgafv=None)

-

Creates a cluster, consisting of the specified number and type of Google Compute Engine instances, plus a Kubernetes master endpoint. By default, the cluster is created in the project's [default network](/compute/docs/networking#networks_1). One firewall is added for the cluster. After cluster creation, the cluster creates routes for each node to allow the containers on that node to communicate with all other instances in the cluster. Finally, an entry is added to the project's global metadata indicating which CIDR range is being used by the cluster.

+

Creates a cluster, consisting of the specified number and type of Google Compute Engine instances. By default, the cluster is created in the project's [default network](/compute/docs/networks-and-firewalls#networks). One firewall is added for the cluster. After cluster creation, the cluster creates routes for each node to allow the containers on that node to communicate with all other instances in the cluster. Finally, an entry is added to the project's global metadata indicating which CIDR range is being used by the cluster.

delete(projectId, zone, clusterId, x__xgafv=None)

-

Deletes the cluster, including the Kubernetes endpoint and all worker nodes. Firewalls and routes that were configured during cluster creation are also deleted.

+

Deletes the cluster, including the Kubernetes endpoint and all worker nodes. Firewalls and routes that were configured during cluster creation are also deleted. Other Google Compute Engine resources that might be in use by the cluster (e.g. load balancer resources) will not be deleted if they weren't present at the initial create time.

get(projectId, zone, clusterId, x__xgafv=None)

-

Gets a specific cluster.

+

Gets the details of a specific cluster.

list(projectId, zone, x__xgafv=None)

Lists all clusters owned by a project in either the specified zone or all zones.

update(projectId, zone, clusterId, body, x__xgafv=None)

-

Update settings of a specific cluster.

+

Updates the settings of a specific cluster.

Method Details

create(projectId, zone, body, x__xgafv=None) -
Creates a cluster, consisting of the specified number and type of Google Compute Engine instances, plus a Kubernetes master endpoint. By default, the cluster is created in the project's [default network](/compute/docs/networking#networks_1). One firewall is added for the cluster. After cluster creation, the cluster creates routes for each node to allow the containers on that node to communicate with all other instances in the cluster. Finally, an entry is added to the project's global metadata indicating which CIDR range is being used by the cluster.
+  
Creates a cluster, consisting of the specified number and type of Google Compute Engine instances. By default, the cluster is created in the project's [default network](/compute/docs/networks-and-firewalls#networks). One firewall is added for the cluster. After cluster creation, the cluster creates routes for each node to allow the containers on that node to communicate with all other instances in the cluster. Finally, an entry is added to the project's global metadata indicating which CIDR range is being used by the cluster.
 
 Args:
-  projectId: string, The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). (required)
+  projectId: string, The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). (required)
   zone: string, The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. (required)
   body: object, The request body. (required)
     The object takes the form of:
 
 { # CreateClusterRequest creates a cluster.
     "cluster": { # A Google Container Engine cluster. # A [cluster resource](/container-engine/reference/rest/v1/projects.zones.clusters)
-      "status": "A String", # [Output only] The current status of this cluster.
-      "nodeIpv4CidrSize": 42, # [Output only] The size of the address space on each node for hosting containers. This is provisioned from within the container_ipv4_cidr range.
-      "statusMessage": "A String", # [Output only] Additional information about the current status of this cluster, if available.
-      "endpoint": "A String", # [Output only] The IP address of this cluster's Kubernetes master endpoint. The endpoint can be accessed from the internet at `https://username:password@endpoint/`. See the `masterAuth` property of this resource for username and password information.
-      "name": "A String", # The name of this cluster. The name must be unique within this project and zone, and can be up to 40 characters with the following restrictions: * Lowercase letters, numbers, and hyphens only. * Must start with a letter. * Must end with a number or a letter.
-      "loggingService": "A String", # The logging service that the cluster should write logs to. Currently available options: * "logging.googleapis.com" - the Google Cloud Logging service * "none" - no logs will be exported from the cluster * "" - default value; the default is "logging.googleapis.com"
-      "currentNodeVersion": "A String", # [Output only] The current version of the node software components. If they are currently at different versions because they're in the process of being upgraded, this reflects the minimum version of any of them.
+      "nodeIpv4CidrSize": 42, # [Output only] The size of the address space on each node for hosting containers. This is provisioned from within the `container_ipv4_cidr` range.
+      "addonsConfig": { # Configuration for the addons that can be automatically spun up in the cluster, enabling additional functionality. # Configurations for the various addons available to run in the cluster.
+        "httpLoadBalancing": { # Configuration options for the HTTP (L7) load balancing controller addon, which makes it easy to set up HTTP load balancers for services in a cluster. # Configuration for the HTTP (L7) load balancing controller addon, which makes it easy to set up HTTP load balancers for services in a cluster.
+          "disabled": True or False, # Whether the HTTP Load Balancing controller is enabled in the cluster. When enabled, it runs a small pod in the cluster that manages the load balancers.
+        },
+        "horizontalPodAutoscaling": { # Configuration options for the horizontal pod autoscaling feature, which increases or decreases the number of replica pods a replication controller has based on the resource usage of the existing pods. # Configuration for the horizontal pod autoscaling feature, which increases or decreases the number of replica pods a replication controller has based on the resource usage of the existing pods.
+          "disabled": True or False, # Whether the Horizontal Pod Autoscaling feature is enabled in the cluster. When enabled, it ensures that a Heapster pod is running in the cluster, which is also used by the Cloud Monitoring service.
+        },
+      },
+      "locations": [ # The list of Google Compute Engine [locations](/compute/docs/zones#available) in which the cluster's nodes should be located.
+        "A String",
+      ],
+      "network": "A String", # The name of the Google Compute Engine [network](/compute/docs/networks-and-firewalls#networks) to which the cluster is connected. If left unspecified, the `default` network will be used.
+      "loggingService": "A String", # The logging service the cluster should use to write logs. Currently available options: * `logging.googleapis.com` - the Google Cloud Logging service. * `none` - no logs will be exported from the cluster. * if left as an empty string,`logging.googleapis.com` will be used.
       "instanceGroupUrls": [ # [Output only] The resource URLs of [instance groups](/compute/docs/instance-groups/) associated with this cluster.
         "A String",
       ],
+      "zone": "A String", # [Output only] The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides.
+      "statusMessage": "A String", # [Output only] Additional information about the current status of this cluster, if available.
+      "servicesIpv4Cidr": "A String", # [Output only] The IP address range of the Kubernetes services in this cluster, in [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `1.2.3.4/29`). Service addresses are typically put in the last `/16` from the container CIDR.
+      "status": "A String", # [Output only] The current status of this cluster.
+      "description": "A String", # An optional description of this cluster.
+      "currentNodeVersion": "A String", # [Output only] The current version of the node software components. If they are currently at multiple versions because they're in the process of being upgraded, this reflects the minimum version of all nodes.
       "currentMasterVersion": "A String", # [Output only] The current software version of the master endpoint.
-      "servicesIpv4Cidr": "A String", # [Output only] The IP address range of the Kubernetes services in this cluster, in [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `1.2.3.4/29`). Service addresses are typically put in the last /16 from the container CIDR.
-      "masterAuth": { # The authentication information for accessing the master endpoint. Authentication can be done using HTTP basic auth or using client certificates. # The authentication information for accessing the master.
-        "username": "A String", # The username to use for HTTP basic authentication when accessing the Kubernetes master endpoint.
-        "password": "A String", # The password to use for HTTP basic authentication when accessing the Kubernetes master endpoint. Because the master endpoint is open to the internet, you should create a strong password.
-        "clientKey": "A String", # [Output only] Base64 encoded private key used by clients to authenticate to the cluster endpoint.
-        "clientCertificate": "A String", # [Output only] Base64 encoded public certificate used by clients to authenticate to the cluster endpoint.
-        "clusterCaCertificate": "A String", # [Output only] Base64 encoded public certificate that is the root of trust for the cluster.
+      "masterAuth": { # The authentication information for accessing the master endpoint. Authentication can be done using HTTP basic auth or using client certificates. # The authentication information for accessing the master endpoint.
+        "username": "A String", # The username to use for HTTP basic authentication to the master endpoint.
+        "password": "A String", # The password to use for HTTP basic authentication to the master endpoint. Because the master endpoint is open to the Internet, you should create a strong password.
+        "clientKey": "A String", # [Output only] Base64-encoded private key used by clients to authenticate to the cluster endpoint.
+        "clientCertificate": "A String", # [Output only] Base64-encoded public certificate used by clients to authenticate to the cluster endpoint.
+        "clusterCaCertificate": "A String", # [Output only] Base64-encoded public certificate that is the root of trust for the cluster.
       },
-      "network": "A String", # The name of the Google Compute Engine [network](/compute/docs/networking#networks_1) to which the cluster is connected. If left unspecified, the "default" network will be used.
-      "initialClusterVersion": "A String", # [Output only] The software version of Kubernetes master and kubelets used in the cluster when it was first created. The version can be upgraded over time.
-      "nodeConfig": { # Per-node parameters. # Parameters used in creating the cluster's nodes. See the descriptions of the child properties of `nodeConfig`. If unspecified, the defaults for all child properties are used.
+      "initialNodeCount": 42, # The number of nodes to create in this cluster. You must ensure that your Compute Engine resource quota is sufficient for this number of instances. You must also have available firewall and routes quota. For requests, this field should only be used in lieu of a "node_pool" object, since this configuration (along with the "node_config") will be used to create a "NodePool" object with an auto-generated name. Do not use this and a node_pool at the same time.
+      "nodePools": [ # The node pools associated with this cluster. When creating a new cluster, only a single node pool should be specified. This field should not be set if "node_config" or "initial_node_count" are specified.
+        { # NodePool contains the name and configuration for a cluster's node pool. Node pools are a set of nodes (i.e. VM's), with a common configuration and specification, under the control of the cluster master. They may have a set of Kubernetes labels applied to them, which may be used to reference them during pod scheduling. They may also be resized up or down, to accommodate the workload.
+          "status": "A String", # The status of the nodes in this pool instance.
+          "statusMessage": "A String", # [Output only] Additional information about the current status of this node pool instance, if available.
+          "name": "A String", # The name of the node pool.
+          "instanceGroupUrls": [ # [Output only] The resource URLs of [instance groups](/compute/docs/instance-groups/) associated with this node pool.
+            "A String",
+          ],
+          "version": "A String", # The version of the Kubernetes of this node.
+          "initialNodeCount": 42, # The initial node count for the pool. You must ensure that your Compute Engine resource quota is sufficient for this number of instances. You must also have available firewall and routes quota.
+          "config": { # Parameters that describe the nodes in a cluster. # The node configuration of the pool.
+            "diskSizeGb": 42, # Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB. If unspecified, the default disk size is 100GB.
+            "machineType": "A String", # The name of a Google Compute Engine [machine type](/compute/docs/machine-types) (e.g. `n1-standard-1`). If unspecified, the default machine type is `n1-standard-1`.
+            "oauthScopes": [ # The set of Google API scopes to be made available on all of the node VMs under the "default" service account. The following scopes are recommended, but not required, and by default are not included: * `https://www.googleapis.com/auth/compute` is required for mounting persistent storage on your nodes. * `https://www.googleapis.com/auth/devstorage.read_only` is required for communicating with **gcr.io** (the [Google Container Registry](/container-registry/)). If unspecified, no scopes are added, unless Cloud Logging or Cloud Monitoring are enabled, in which case their required scopes will be added.
+              "A String",
+            ],
+            "metadata": { # The metadata key/value pairs assigned to instances in the cluster. Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes in length. These are reflected as part of a URL in the metadata server. Additionally, to avoid ambiguity, keys must not conflict with any other metadata keys for the project or be one of the four reserved keys: "instance-template", "kube-env", "startup-script", and "user-data" Values are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on them is that each value's size must be less than or equal to 32 KB. The total size of all keys and values must be less than 512 KB.
+              "a_key": "A String",
+            },
+          },
+          "selfLink": "A String", # Server-defined URL for the resource.
+        },
+      ],
+      "monitoringService": "A String", # The monitoring service the cluster should use to write metrics. Currently available options: * `monitoring.googleapis.com` - the Google Cloud Monitoring service. * `none` - no metrics will be exported from the cluster. * if left as an empty string, `monitoring.googleapis.com` will be used.
+      "createTime": "A String", # [Output only] The time the cluster was created, in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+      "endpoint": "A String", # [Output only] The IP address of this cluster's master endpoint. The endpoint can be accessed from the internet at `https://username:password@endpoint/`. See the `masterAuth` property of this resource for username and password information.
+      "currentNodeCount": 42, # [Output only] The number of nodes currently in the cluster.
+      "name": "A String", # The name of this cluster. The name must be unique within this project and zone, and can be up to 40 characters with the following restrictions: * Lowercase letters, numbers, and hyphens only. * Must start with a letter. * Must end with a number or a letter.
+      "initialClusterVersion": "A String", # [Output only] The software version of the master endpoint and kubelets used in the cluster when it was first created. The version can be upgraded over time.
+      "nodeConfig": { # Parameters that describe the nodes in a cluster. # Parameters used in creating the cluster's nodes. See `nodeConfig` for the description of its properties. For requests, this field should only be used in lieu of a "node_pool" object, since this configuration (along with the "initial_node_count") will be used to create a "NodePool" object with an auto-generated name. Do not use this and a node_pool at the same time. For responses, this field will be populated with the node configuration of the first node pool. If unspecified, the defaults are used.
         "diskSizeGb": 42, # Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB. If unspecified, the default disk size is 100GB.
         "machineType": "A String", # The name of a Google Compute Engine [machine type](/compute/docs/machine-types) (e.g. `n1-standard-1`). If unspecified, the default machine type is `n1-standard-1`.
-        "oauthScopes": [ # The set of Google API scopes to be made available on all of the node VMs under the "default" service account. The following scopes are recommended, but not required, and by default are not included: * `https://www.googleapis.com/auth/compute` is required for mounting persistent storage on your nodes. * `https://www.googleapis.com/auth/devstorage.read_only` is required for communicating with *gcr.io*. If unspecified, no scopes are added.
+        "oauthScopes": [ # The set of Google API scopes to be made available on all of the node VMs under the "default" service account. The following scopes are recommended, but not required, and by default are not included: * `https://www.googleapis.com/auth/compute` is required for mounting persistent storage on your nodes. * `https://www.googleapis.com/auth/devstorage.read_only` is required for communicating with **gcr.io** (the [Google Container Registry](/container-registry/)). If unspecified, no scopes are added, unless Cloud Logging or Cloud Monitoring are enabled, in which case their required scopes will be added.
           "A String",
         ],
+        "metadata": { # The metadata key/value pairs assigned to instances in the cluster. Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes in length. These are reflected as part of a URL in the metadata server. Additionally, to avoid ambiguity, keys must not conflict with any other metadata keys for the project or be one of the four reserved keys: "instance-template", "kube-env", "startup-script", and "user-data" Values are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on them is that each value's size must be less than or equal to 32 KB. The total size of all keys and values must be less than 512 KB.
+          "a_key": "A String",
+        },
       },
-      "initialNodeCount": 42, # The number of nodes to create in this cluster. You must ensure that your Compute Engine [resource quota](/compute/docs/resource-quotas) is sufficient for this number of instances. You must also have available firewall and routes quota.
       "clusterIpv4Cidr": "A String", # The IP address range of the container pods in this cluster, in [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`). Leave blank to have one automatically chosen or specify a `/14` block in `10.0.0.0/8`.
-      "monitoringService": "A String", # The monitoring service that the cluster should write metrics to. Currently available options: * "monitoring.googleapis.com" - the Google Cloud Monitoring service * "none" - no metrics will be exported from the cluster * "" - default value; the default is "monitoring.googleapis.com"
-      "zone": "A String", # [Output only] The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides.
-      "createTime": "A String", # [Output only] The time the cluster was created, in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+      "subnetwork": "A String", # The name of the Google Compute Engine [subnetwork](/compute/docs/subnetworks) to which the cluster is connected.
       "selfLink": "A String", # [Output only] Server-defined URL for the resource.
-      "description": "A String", # An optional description of this cluster.
     },
   }
 
@@ -145,23 +189,24 @@ 

Method Details

Returns: An object of the form: - { # Defines the operation resource. All fields are output only. + { # This operation resource represents operations that may have happened or are happening on the cluster. All fields are output only. "status": "A String", # The current status of the operation. "name": "A String", # The server-assigned ID for the operation. "zone": "A String", # The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the operation is taking place. - "statusMessage": "A String", # If an error has occurred, a textual description of the error. - "operationType": "A String", # The operation type. + "detail": "A String", # Detailed operation progress, if available. "selfLink": "A String", # Server-defined URL for the resource. + "operationType": "A String", # The operation type. + "statusMessage": "A String", # If an error has occurred, a textual description of the error. "targetLink": "A String", # Server-defined URL for the target of the operation. }
delete(projectId, zone, clusterId, x__xgafv=None) -
Deletes the cluster, including the Kubernetes endpoint and all worker nodes. Firewalls and routes that were configured during cluster creation are also deleted.
+  
Deletes the cluster, including the Kubernetes endpoint and all worker nodes. Firewalls and routes that were configured during cluster creation are also deleted. Other Google Compute Engine resources that might be in use by the cluster (e.g. load balancer resources) will not be deleted if they weren't present at the initial create time.
 
 Args:
-  projectId: string, The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). (required)
+  projectId: string, The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). (required)
   zone: string, The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. (required)
   clusterId: string, The name of the cluster to delete. (required)
   x__xgafv: string, V1 error format.
@@ -169,23 +214,24 @@ 

Method Details

Returns: An object of the form: - { # Defines the operation resource. All fields are output only. + { # This operation resource represents operations that may have happened or are happening on the cluster. All fields are output only. "status": "A String", # The current status of the operation. "name": "A String", # The server-assigned ID for the operation. "zone": "A String", # The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the operation is taking place. - "statusMessage": "A String", # If an error has occurred, a textual description of the error. - "operationType": "A String", # The operation type. + "detail": "A String", # Detailed operation progress, if available. "selfLink": "A String", # Server-defined URL for the resource. + "operationType": "A String", # The operation type. + "statusMessage": "A String", # If an error has occurred, a textual description of the error. "targetLink": "A String", # Server-defined URL for the target of the operation. }
get(projectId, zone, clusterId, x__xgafv=None) -
Gets a specific cluster.
+  
Gets the details of a specific cluster.
 
 Args:
-  projectId: string, The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). (required)
+  projectId: string, The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). (required)
   zone: string, The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. (required)
   clusterId: string, The name of the cluster to retrieve. (required)
   x__xgafv: string, V1 error format.
@@ -194,41 +240,80 @@ 

Method Details

An object of the form: { # A Google Container Engine cluster. - "status": "A String", # [Output only] The current status of this cluster. - "nodeIpv4CidrSize": 42, # [Output only] The size of the address space on each node for hosting containers. This is provisioned from within the container_ipv4_cidr range. - "statusMessage": "A String", # [Output only] Additional information about the current status of this cluster, if available. - "endpoint": "A String", # [Output only] The IP address of this cluster's Kubernetes master endpoint. The endpoint can be accessed from the internet at `https://username:password@endpoint/`. See the `masterAuth` property of this resource for username and password information. - "name": "A String", # The name of this cluster. The name must be unique within this project and zone, and can be up to 40 characters with the following restrictions: * Lowercase letters, numbers, and hyphens only. * Must start with a letter. * Must end with a number or a letter. - "loggingService": "A String", # The logging service that the cluster should write logs to. Currently available options: * "logging.googleapis.com" - the Google Cloud Logging service * "none" - no logs will be exported from the cluster * "" - default value; the default is "logging.googleapis.com" - "currentNodeVersion": "A String", # [Output only] The current version of the node software components. If they are currently at different versions because they're in the process of being upgraded, this reflects the minimum version of any of them. + "nodeIpv4CidrSize": 42, # [Output only] The size of the address space on each node for hosting containers. This is provisioned from within the `container_ipv4_cidr` range. + "addonsConfig": { # Configuration for the addons that can be automatically spun up in the cluster, enabling additional functionality. # Configurations for the various addons available to run in the cluster. + "httpLoadBalancing": { # Configuration options for the HTTP (L7) load balancing controller addon, which makes it easy to set up HTTP load balancers for services in a cluster. # Configuration for the HTTP (L7) load balancing controller addon, which makes it easy to set up HTTP load balancers for services in a cluster. + "disabled": True or False, # Whether the HTTP Load Balancing controller is enabled in the cluster. When enabled, it runs a small pod in the cluster that manages the load balancers. + }, + "horizontalPodAutoscaling": { # Configuration options for the horizontal pod autoscaling feature, which increases or decreases the number of replica pods a replication controller has based on the resource usage of the existing pods. # Configuration for the horizontal pod autoscaling feature, which increases or decreases the number of replica pods a replication controller has based on the resource usage of the existing pods. + "disabled": True or False, # Whether the Horizontal Pod Autoscaling feature is enabled in the cluster. When enabled, it ensures that a Heapster pod is running in the cluster, which is also used by the Cloud Monitoring service. + }, + }, + "locations": [ # The list of Google Compute Engine [locations](/compute/docs/zones#available) in which the cluster's nodes should be located. + "A String", + ], + "network": "A String", # The name of the Google Compute Engine [network](/compute/docs/networks-and-firewalls#networks) to which the cluster is connected. If left unspecified, the `default` network will be used. + "loggingService": "A String", # The logging service the cluster should use to write logs. Currently available options: * `logging.googleapis.com` - the Google Cloud Logging service. * `none` - no logs will be exported from the cluster. * if left as an empty string,`logging.googleapis.com` will be used. "instanceGroupUrls": [ # [Output only] The resource URLs of [instance groups](/compute/docs/instance-groups/) associated with this cluster. "A String", ], + "zone": "A String", # [Output only] The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. + "statusMessage": "A String", # [Output only] Additional information about the current status of this cluster, if available. + "servicesIpv4Cidr": "A String", # [Output only] The IP address range of the Kubernetes services in this cluster, in [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `1.2.3.4/29`). Service addresses are typically put in the last `/16` from the container CIDR. + "status": "A String", # [Output only] The current status of this cluster. + "description": "A String", # An optional description of this cluster. + "currentNodeVersion": "A String", # [Output only] The current version of the node software components. If they are currently at multiple versions because they're in the process of being upgraded, this reflects the minimum version of all nodes. "currentMasterVersion": "A String", # [Output only] The current software version of the master endpoint. - "servicesIpv4Cidr": "A String", # [Output only] The IP address range of the Kubernetes services in this cluster, in [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `1.2.3.4/29`). Service addresses are typically put in the last /16 from the container CIDR. - "masterAuth": { # The authentication information for accessing the master endpoint. Authentication can be done using HTTP basic auth or using client certificates. # The authentication information for accessing the master. - "username": "A String", # The username to use for HTTP basic authentication when accessing the Kubernetes master endpoint. - "password": "A String", # The password to use for HTTP basic authentication when accessing the Kubernetes master endpoint. Because the master endpoint is open to the internet, you should create a strong password. - "clientKey": "A String", # [Output only] Base64 encoded private key used by clients to authenticate to the cluster endpoint. - "clientCertificate": "A String", # [Output only] Base64 encoded public certificate used by clients to authenticate to the cluster endpoint. - "clusterCaCertificate": "A String", # [Output only] Base64 encoded public certificate that is the root of trust for the cluster. + "masterAuth": { # The authentication information for accessing the master endpoint. Authentication can be done using HTTP basic auth or using client certificates. # The authentication information for accessing the master endpoint. + "username": "A String", # The username to use for HTTP basic authentication to the master endpoint. + "password": "A String", # The password to use for HTTP basic authentication to the master endpoint. Because the master endpoint is open to the Internet, you should create a strong password. + "clientKey": "A String", # [Output only] Base64-encoded private key used by clients to authenticate to the cluster endpoint. + "clientCertificate": "A String", # [Output only] Base64-encoded public certificate used by clients to authenticate to the cluster endpoint. + "clusterCaCertificate": "A String", # [Output only] Base64-encoded public certificate that is the root of trust for the cluster. }, - "network": "A String", # The name of the Google Compute Engine [network](/compute/docs/networking#networks_1) to which the cluster is connected. If left unspecified, the "default" network will be used. - "initialClusterVersion": "A String", # [Output only] The software version of Kubernetes master and kubelets used in the cluster when it was first created. The version can be upgraded over time. - "nodeConfig": { # Per-node parameters. # Parameters used in creating the cluster's nodes. See the descriptions of the child properties of `nodeConfig`. If unspecified, the defaults for all child properties are used. + "initialNodeCount": 42, # The number of nodes to create in this cluster. You must ensure that your Compute Engine resource quota is sufficient for this number of instances. You must also have available firewall and routes quota. For requests, this field should only be used in lieu of a "node_pool" object, since this configuration (along with the "node_config") will be used to create a "NodePool" object with an auto-generated name. Do not use this and a node_pool at the same time. + "nodePools": [ # The node pools associated with this cluster. When creating a new cluster, only a single node pool should be specified. This field should not be set if "node_config" or "initial_node_count" are specified. + { # NodePool contains the name and configuration for a cluster's node pool. Node pools are a set of nodes (i.e. VM's), with a common configuration and specification, under the control of the cluster master. They may have a set of Kubernetes labels applied to them, which may be used to reference them during pod scheduling. They may also be resized up or down, to accommodate the workload. + "status": "A String", # The status of the nodes in this pool instance. + "statusMessage": "A String", # [Output only] Additional information about the current status of this node pool instance, if available. + "name": "A String", # The name of the node pool. + "instanceGroupUrls": [ # [Output only] The resource URLs of [instance groups](/compute/docs/instance-groups/) associated with this node pool. + "A String", + ], + "version": "A String", # The version of the Kubernetes of this node. + "initialNodeCount": 42, # The initial node count for the pool. You must ensure that your Compute Engine resource quota is sufficient for this number of instances. You must also have available firewall and routes quota. + "config": { # Parameters that describe the nodes in a cluster. # The node configuration of the pool. + "diskSizeGb": 42, # Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB. If unspecified, the default disk size is 100GB. + "machineType": "A String", # The name of a Google Compute Engine [machine type](/compute/docs/machine-types) (e.g. `n1-standard-1`). If unspecified, the default machine type is `n1-standard-1`. + "oauthScopes": [ # The set of Google API scopes to be made available on all of the node VMs under the "default" service account. The following scopes are recommended, but not required, and by default are not included: * `https://www.googleapis.com/auth/compute` is required for mounting persistent storage on your nodes. * `https://www.googleapis.com/auth/devstorage.read_only` is required for communicating with **gcr.io** (the [Google Container Registry](/container-registry/)). If unspecified, no scopes are added, unless Cloud Logging or Cloud Monitoring are enabled, in which case their required scopes will be added. + "A String", + ], + "metadata": { # The metadata key/value pairs assigned to instances in the cluster. Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes in length. These are reflected as part of a URL in the metadata server. Additionally, to avoid ambiguity, keys must not conflict with any other metadata keys for the project or be one of the four reserved keys: "instance-template", "kube-env", "startup-script", and "user-data" Values are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on them is that each value's size must be less than or equal to 32 KB. The total size of all keys and values must be less than 512 KB. + "a_key": "A String", + }, + }, + "selfLink": "A String", # Server-defined URL for the resource. + }, + ], + "monitoringService": "A String", # The monitoring service the cluster should use to write metrics. Currently available options: * `monitoring.googleapis.com` - the Google Cloud Monitoring service. * `none` - no metrics will be exported from the cluster. * if left as an empty string, `monitoring.googleapis.com` will be used. + "createTime": "A String", # [Output only] The time the cluster was created, in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. + "endpoint": "A String", # [Output only] The IP address of this cluster's master endpoint. The endpoint can be accessed from the internet at `https://username:password@endpoint/`. See the `masterAuth` property of this resource for username and password information. + "currentNodeCount": 42, # [Output only] The number of nodes currently in the cluster. + "name": "A String", # The name of this cluster. The name must be unique within this project and zone, and can be up to 40 characters with the following restrictions: * Lowercase letters, numbers, and hyphens only. * Must start with a letter. * Must end with a number or a letter. + "initialClusterVersion": "A String", # [Output only] The software version of the master endpoint and kubelets used in the cluster when it was first created. The version can be upgraded over time. + "nodeConfig": { # Parameters that describe the nodes in a cluster. # Parameters used in creating the cluster's nodes. See `nodeConfig` for the description of its properties. For requests, this field should only be used in lieu of a "node_pool" object, since this configuration (along with the "initial_node_count") will be used to create a "NodePool" object with an auto-generated name. Do not use this and a node_pool at the same time. For responses, this field will be populated with the node configuration of the first node pool. If unspecified, the defaults are used. "diskSizeGb": 42, # Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB. If unspecified, the default disk size is 100GB. "machineType": "A String", # The name of a Google Compute Engine [machine type](/compute/docs/machine-types) (e.g. `n1-standard-1`). If unspecified, the default machine type is `n1-standard-1`. - "oauthScopes": [ # The set of Google API scopes to be made available on all of the node VMs under the "default" service account. The following scopes are recommended, but not required, and by default are not included: * `https://www.googleapis.com/auth/compute` is required for mounting persistent storage on your nodes. * `https://www.googleapis.com/auth/devstorage.read_only` is required for communicating with *gcr.io*. If unspecified, no scopes are added. + "oauthScopes": [ # The set of Google API scopes to be made available on all of the node VMs under the "default" service account. The following scopes are recommended, but not required, and by default are not included: * `https://www.googleapis.com/auth/compute` is required for mounting persistent storage on your nodes. * `https://www.googleapis.com/auth/devstorage.read_only` is required for communicating with **gcr.io** (the [Google Container Registry](/container-registry/)). If unspecified, no scopes are added, unless Cloud Logging or Cloud Monitoring are enabled, in which case their required scopes will be added. "A String", ], + "metadata": { # The metadata key/value pairs assigned to instances in the cluster. Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes in length. These are reflected as part of a URL in the metadata server. Additionally, to avoid ambiguity, keys must not conflict with any other metadata keys for the project or be one of the four reserved keys: "instance-template", "kube-env", "startup-script", and "user-data" Values are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on them is that each value's size must be less than or equal to 32 KB. The total size of all keys and values must be less than 512 KB. + "a_key": "A String", + }, }, - "initialNodeCount": 42, # The number of nodes to create in this cluster. You must ensure that your Compute Engine [resource quota](/compute/docs/resource-quotas) is sufficient for this number of instances. You must also have available firewall and routes quota. "clusterIpv4Cidr": "A String", # The IP address range of the container pods in this cluster, in [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`). Leave blank to have one automatically chosen or specify a `/14` block in `10.0.0.0/8`. - "monitoringService": "A String", # The monitoring service that the cluster should write metrics to. Currently available options: * "monitoring.googleapis.com" - the Google Cloud Monitoring service * "none" - no metrics will be exported from the cluster * "" - default value; the default is "monitoring.googleapis.com" - "zone": "A String", # [Output only] The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. - "createTime": "A String", # [Output only] The time the cluster was created, in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. + "subnetwork": "A String", # The name of the Google Compute Engine [subnetwork](/compute/docs/subnetworks) to which the cluster is connected. "selfLink": "A String", # [Output only] Server-defined URL for the resource. - "description": "A String", # An optional description of this cluster. }
@@ -237,7 +322,7 @@

Method Details

Lists all clusters owned by a project in either the specified zone or all zones.
 
 Args:
-  projectId: string, The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). (required)
+  projectId: string, The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). (required)
   zone: string, The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides, or "-" for all zones. (required)
   x__xgafv: string, V1 error format.
 
@@ -247,60 +332,113 @@ 

Method Details

{ # ListClustersResponse is the result of ListClustersRequest. "clusters": [ # A list of clusters in the project in the specified zone, or across all ones. { # A Google Container Engine cluster. - "status": "A String", # [Output only] The current status of this cluster. - "nodeIpv4CidrSize": 42, # [Output only] The size of the address space on each node for hosting containers. This is provisioned from within the container_ipv4_cidr range. - "statusMessage": "A String", # [Output only] Additional information about the current status of this cluster, if available. - "endpoint": "A String", # [Output only] The IP address of this cluster's Kubernetes master endpoint. The endpoint can be accessed from the internet at `https://username:password@endpoint/`. See the `masterAuth` property of this resource for username and password information. - "name": "A String", # The name of this cluster. The name must be unique within this project and zone, and can be up to 40 characters with the following restrictions: * Lowercase letters, numbers, and hyphens only. * Must start with a letter. * Must end with a number or a letter. - "loggingService": "A String", # The logging service that the cluster should write logs to. Currently available options: * "logging.googleapis.com" - the Google Cloud Logging service * "none" - no logs will be exported from the cluster * "" - default value; the default is "logging.googleapis.com" - "currentNodeVersion": "A String", # [Output only] The current version of the node software components. If they are currently at different versions because they're in the process of being upgraded, this reflects the minimum version of any of them. + "nodeIpv4CidrSize": 42, # [Output only] The size of the address space on each node for hosting containers. This is provisioned from within the `container_ipv4_cidr` range. + "addonsConfig": { # Configuration for the addons that can be automatically spun up in the cluster, enabling additional functionality. # Configurations for the various addons available to run in the cluster. + "httpLoadBalancing": { # Configuration options for the HTTP (L7) load balancing controller addon, which makes it easy to set up HTTP load balancers for services in a cluster. # Configuration for the HTTP (L7) load balancing controller addon, which makes it easy to set up HTTP load balancers for services in a cluster. + "disabled": True or False, # Whether the HTTP Load Balancing controller is enabled in the cluster. When enabled, it runs a small pod in the cluster that manages the load balancers. + }, + "horizontalPodAutoscaling": { # Configuration options for the horizontal pod autoscaling feature, which increases or decreases the number of replica pods a replication controller has based on the resource usage of the existing pods. # Configuration for the horizontal pod autoscaling feature, which increases or decreases the number of replica pods a replication controller has based on the resource usage of the existing pods. + "disabled": True or False, # Whether the Horizontal Pod Autoscaling feature is enabled in the cluster. When enabled, it ensures that a Heapster pod is running in the cluster, which is also used by the Cloud Monitoring service. + }, + }, + "locations": [ # The list of Google Compute Engine [locations](/compute/docs/zones#available) in which the cluster's nodes should be located. + "A String", + ], + "network": "A String", # The name of the Google Compute Engine [network](/compute/docs/networks-and-firewalls#networks) to which the cluster is connected. If left unspecified, the `default` network will be used. + "loggingService": "A String", # The logging service the cluster should use to write logs. Currently available options: * `logging.googleapis.com` - the Google Cloud Logging service. * `none` - no logs will be exported from the cluster. * if left as an empty string,`logging.googleapis.com` will be used. "instanceGroupUrls": [ # [Output only] The resource URLs of [instance groups](/compute/docs/instance-groups/) associated with this cluster. "A String", ], + "zone": "A String", # [Output only] The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. + "statusMessage": "A String", # [Output only] Additional information about the current status of this cluster, if available. + "servicesIpv4Cidr": "A String", # [Output only] The IP address range of the Kubernetes services in this cluster, in [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `1.2.3.4/29`). Service addresses are typically put in the last `/16` from the container CIDR. + "status": "A String", # [Output only] The current status of this cluster. + "description": "A String", # An optional description of this cluster. + "currentNodeVersion": "A String", # [Output only] The current version of the node software components. If they are currently at multiple versions because they're in the process of being upgraded, this reflects the minimum version of all nodes. "currentMasterVersion": "A String", # [Output only] The current software version of the master endpoint. - "servicesIpv4Cidr": "A String", # [Output only] The IP address range of the Kubernetes services in this cluster, in [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `1.2.3.4/29`). Service addresses are typically put in the last /16 from the container CIDR. - "masterAuth": { # The authentication information for accessing the master endpoint. Authentication can be done using HTTP basic auth or using client certificates. # The authentication information for accessing the master. - "username": "A String", # The username to use for HTTP basic authentication when accessing the Kubernetes master endpoint. - "password": "A String", # The password to use for HTTP basic authentication when accessing the Kubernetes master endpoint. Because the master endpoint is open to the internet, you should create a strong password. - "clientKey": "A String", # [Output only] Base64 encoded private key used by clients to authenticate to the cluster endpoint. - "clientCertificate": "A String", # [Output only] Base64 encoded public certificate used by clients to authenticate to the cluster endpoint. - "clusterCaCertificate": "A String", # [Output only] Base64 encoded public certificate that is the root of trust for the cluster. + "masterAuth": { # The authentication information for accessing the master endpoint. Authentication can be done using HTTP basic auth or using client certificates. # The authentication information for accessing the master endpoint. + "username": "A String", # The username to use for HTTP basic authentication to the master endpoint. + "password": "A String", # The password to use for HTTP basic authentication to the master endpoint. Because the master endpoint is open to the Internet, you should create a strong password. + "clientKey": "A String", # [Output only] Base64-encoded private key used by clients to authenticate to the cluster endpoint. + "clientCertificate": "A String", # [Output only] Base64-encoded public certificate used by clients to authenticate to the cluster endpoint. + "clusterCaCertificate": "A String", # [Output only] Base64-encoded public certificate that is the root of trust for the cluster. }, - "network": "A String", # The name of the Google Compute Engine [network](/compute/docs/networking#networks_1) to which the cluster is connected. If left unspecified, the "default" network will be used. - "initialClusterVersion": "A String", # [Output only] The software version of Kubernetes master and kubelets used in the cluster when it was first created. The version can be upgraded over time. - "nodeConfig": { # Per-node parameters. # Parameters used in creating the cluster's nodes. See the descriptions of the child properties of `nodeConfig`. If unspecified, the defaults for all child properties are used. + "initialNodeCount": 42, # The number of nodes to create in this cluster. You must ensure that your Compute Engine resource quota is sufficient for this number of instances. You must also have available firewall and routes quota. For requests, this field should only be used in lieu of a "node_pool" object, since this configuration (along with the "node_config") will be used to create a "NodePool" object with an auto-generated name. Do not use this and a node_pool at the same time. + "nodePools": [ # The node pools associated with this cluster. When creating a new cluster, only a single node pool should be specified. This field should not be set if "node_config" or "initial_node_count" are specified. + { # NodePool contains the name and configuration for a cluster's node pool. Node pools are a set of nodes (i.e. VM's), with a common configuration and specification, under the control of the cluster master. They may have a set of Kubernetes labels applied to them, which may be used to reference them during pod scheduling. They may also be resized up or down, to accommodate the workload. + "status": "A String", # The status of the nodes in this pool instance. + "statusMessage": "A String", # [Output only] Additional information about the current status of this node pool instance, if available. + "name": "A String", # The name of the node pool. + "instanceGroupUrls": [ # [Output only] The resource URLs of [instance groups](/compute/docs/instance-groups/) associated with this node pool. + "A String", + ], + "version": "A String", # The version of the Kubernetes of this node. + "initialNodeCount": 42, # The initial node count for the pool. You must ensure that your Compute Engine resource quota is sufficient for this number of instances. You must also have available firewall and routes quota. + "config": { # Parameters that describe the nodes in a cluster. # The node configuration of the pool. + "diskSizeGb": 42, # Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB. If unspecified, the default disk size is 100GB. + "machineType": "A String", # The name of a Google Compute Engine [machine type](/compute/docs/machine-types) (e.g. `n1-standard-1`). If unspecified, the default machine type is `n1-standard-1`. + "oauthScopes": [ # The set of Google API scopes to be made available on all of the node VMs under the "default" service account. The following scopes are recommended, but not required, and by default are not included: * `https://www.googleapis.com/auth/compute` is required for mounting persistent storage on your nodes. * `https://www.googleapis.com/auth/devstorage.read_only` is required for communicating with **gcr.io** (the [Google Container Registry](/container-registry/)). If unspecified, no scopes are added, unless Cloud Logging or Cloud Monitoring are enabled, in which case their required scopes will be added. + "A String", + ], + "metadata": { # The metadata key/value pairs assigned to instances in the cluster. Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes in length. These are reflected as part of a URL in the metadata server. Additionally, to avoid ambiguity, keys must not conflict with any other metadata keys for the project or be one of the four reserved keys: "instance-template", "kube-env", "startup-script", and "user-data" Values are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on them is that each value's size must be less than or equal to 32 KB. The total size of all keys and values must be less than 512 KB. + "a_key": "A String", + }, + }, + "selfLink": "A String", # Server-defined URL for the resource. + }, + ], + "monitoringService": "A String", # The monitoring service the cluster should use to write metrics. Currently available options: * `monitoring.googleapis.com` - the Google Cloud Monitoring service. * `none` - no metrics will be exported from the cluster. * if left as an empty string, `monitoring.googleapis.com` will be used. + "createTime": "A String", # [Output only] The time the cluster was created, in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. + "endpoint": "A String", # [Output only] The IP address of this cluster's master endpoint. The endpoint can be accessed from the internet at `https://username:password@endpoint/`. See the `masterAuth` property of this resource for username and password information. + "currentNodeCount": 42, # [Output only] The number of nodes currently in the cluster. + "name": "A String", # The name of this cluster. The name must be unique within this project and zone, and can be up to 40 characters with the following restrictions: * Lowercase letters, numbers, and hyphens only. * Must start with a letter. * Must end with a number or a letter. + "initialClusterVersion": "A String", # [Output only] The software version of the master endpoint and kubelets used in the cluster when it was first created. The version can be upgraded over time. + "nodeConfig": { # Parameters that describe the nodes in a cluster. # Parameters used in creating the cluster's nodes. See `nodeConfig` for the description of its properties. For requests, this field should only be used in lieu of a "node_pool" object, since this configuration (along with the "initial_node_count") will be used to create a "NodePool" object with an auto-generated name. Do not use this and a node_pool at the same time. For responses, this field will be populated with the node configuration of the first node pool. If unspecified, the defaults are used. "diskSizeGb": 42, # Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB. If unspecified, the default disk size is 100GB. "machineType": "A String", # The name of a Google Compute Engine [machine type](/compute/docs/machine-types) (e.g. `n1-standard-1`). If unspecified, the default machine type is `n1-standard-1`. - "oauthScopes": [ # The set of Google API scopes to be made available on all of the node VMs under the "default" service account. The following scopes are recommended, but not required, and by default are not included: * `https://www.googleapis.com/auth/compute` is required for mounting persistent storage on your nodes. * `https://www.googleapis.com/auth/devstorage.read_only` is required for communicating with *gcr.io*. If unspecified, no scopes are added. + "oauthScopes": [ # The set of Google API scopes to be made available on all of the node VMs under the "default" service account. The following scopes are recommended, but not required, and by default are not included: * `https://www.googleapis.com/auth/compute` is required for mounting persistent storage on your nodes. * `https://www.googleapis.com/auth/devstorage.read_only` is required for communicating with **gcr.io** (the [Google Container Registry](/container-registry/)). If unspecified, no scopes are added, unless Cloud Logging or Cloud Monitoring are enabled, in which case their required scopes will be added. "A String", ], + "metadata": { # The metadata key/value pairs assigned to instances in the cluster. Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes in length. These are reflected as part of a URL in the metadata server. Additionally, to avoid ambiguity, keys must not conflict with any other metadata keys for the project or be one of the four reserved keys: "instance-template", "kube-env", "startup-script", and "user-data" Values are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on them is that each value's size must be less than or equal to 32 KB. The total size of all keys and values must be less than 512 KB. + "a_key": "A String", + }, }, - "initialNodeCount": 42, # The number of nodes to create in this cluster. You must ensure that your Compute Engine [resource quota](/compute/docs/resource-quotas) is sufficient for this number of instances. You must also have available firewall and routes quota. "clusterIpv4Cidr": "A String", # The IP address range of the container pods in this cluster, in [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`). Leave blank to have one automatically chosen or specify a `/14` block in `10.0.0.0/8`. - "monitoringService": "A String", # The monitoring service that the cluster should write metrics to. Currently available options: * "monitoring.googleapis.com" - the Google Cloud Monitoring service * "none" - no metrics will be exported from the cluster * "" - default value; the default is "monitoring.googleapis.com" - "zone": "A String", # [Output only] The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. - "createTime": "A String", # [Output only] The time the cluster was created, in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. + "subnetwork": "A String", # The name of the Google Compute Engine [subnetwork](/compute/docs/subnetworks) to which the cluster is connected. "selfLink": "A String", # [Output only] Server-defined URL for the resource. - "description": "A String", # An optional description of this cluster. }, ], + "missingZones": [ # If any zones are listed here, the list of clusters returned may be missing those zones. + "A String", + ], }
update(projectId, zone, clusterId, body, x__xgafv=None) -
Update settings of a specific cluster.
+  
Updates the settings of a specific cluster.
 
 Args:
-  projectId: string, The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). (required)
+  projectId: string, The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). (required)
   zone: string, The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. (required)
   clusterId: string, The name of the cluster to upgrade. (required)
   body: object, The request body. (required)
     The object takes the form of:
 
-{ # UpdateClusterRequest updates a cluster.
-    "update": { # ClusterUpdate describes an update to the cluster. # A description of the update.
-      "desiredNodeVersion": "A String", # The Kubernetes version to change the nodes to (typically an upgrade). Use "-" to upgrade to the latest version supported by the server.
+{ # UpdateClusterRequest updates the settings of a cluster.
+    "update": { # ClusterUpdate describes an update to the cluster. Exactly one update can be applied to a cluster with each request, so at most one field can be provided. # A description of the update.
+      "desiredMasterVersion": "A String", # The Kubernetes version to change the master to. The only valid value is the latest supported version. Use "-" to have the server automatically select the latest version.
+      "desiredNodePoolId": "A String", # The node pool to be upgraded. This field is mandatory if the "desired_node_version" or "desired_image_family" is specified and there is more than one node pool on the cluster.
+      "desiredNodeVersion": "A String", # The Kubernetes version to change the nodes to (typically an upgrade). Use `-` to upgrade to the latest version supported by the server.
+      "desiredMonitoringService": "A String", # The monitoring service the cluster should use to write metrics. Currently available options: * "monitoring.googleapis.com" - the Google Cloud Monitoring service * "none" - no metrics will be exported from the cluster
+      "desiredAddonsConfig": { # Configuration for the addons that can be automatically spun up in the cluster, enabling additional functionality. # Configurations for the various addons available to run in the cluster.
+        "httpLoadBalancing": { # Configuration options for the HTTP (L7) load balancing controller addon, which makes it easy to set up HTTP load balancers for services in a cluster. # Configuration for the HTTP (L7) load balancing controller addon, which makes it easy to set up HTTP load balancers for services in a cluster.
+          "disabled": True or False, # Whether the HTTP Load Balancing controller is enabled in the cluster. When enabled, it runs a small pod in the cluster that manages the load balancers.
+        },
+        "horizontalPodAutoscaling": { # Configuration options for the horizontal pod autoscaling feature, which increases or decreases the number of replica pods a replication controller has based on the resource usage of the existing pods. # Configuration for the horizontal pod autoscaling feature, which increases or decreases the number of replica pods a replication controller has based on the resource usage of the existing pods.
+          "disabled": True or False, # Whether the Horizontal Pod Autoscaling feature is enabled in the cluster. When enabled, it ensures that a Heapster pod is running in the cluster, which is also used by the Cloud Monitoring service.
+        },
+      },
     },
   }
 
@@ -309,13 +447,14 @@ 

Method Details

Returns: An object of the form: - { # Defines the operation resource. All fields are output only. + { # This operation resource represents operations that may have happened or are happening on the cluster. All fields are output only. "status": "A String", # The current status of the operation. "name": "A String", # The server-assigned ID for the operation. "zone": "A String", # The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the operation is taking place. - "statusMessage": "A String", # If an error has occurred, a textual description of the error. - "operationType": "A String", # The operation type. + "detail": "A String", # Detailed operation progress, if available. "selfLink": "A String", # Server-defined URL for the resource. + "operationType": "A String", # The operation type. + "statusMessage": "A String", # If an error has occurred, a textual description of the error. "targetLink": "A String", # Server-defined URL for the target of the operation. }
diff --git a/docs/dyn/container_v1.projects.zones.clusters.nodePools.html b/docs/dyn/container_v1.projects.zones.clusters.nodePools.html new file mode 100644 index 00000000000..f8308e1d1a6 --- /dev/null +++ b/docs/dyn/container_v1.projects.zones.clusters.nodePools.html @@ -0,0 +1,245 @@ + + + +

Google Container Engine API . projects . zones . clusters . nodePools

+

Instance Methods

+

+ create(projectId, zone, clusterId, body, x__xgafv=None)

+

Creates a node pool for a cluster.

+

+ delete(projectId, zone, clusterId, nodePoolId, x__xgafv=None)

+

Deletes a node pool from a cluster.

+

+ get(projectId, zone, clusterId, nodePoolId, x__xgafv=None)

+

Retrieves the node pool requested.

+

+ list(projectId, zone, clusterId, x__xgafv=None)

+

Lists the node pools for a cluster.

+

Method Details

+
+ create(projectId, zone, clusterId, body, x__xgafv=None) +
Creates a node pool for a cluster.
+
+Args:
+  projectId: string, The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). (required)
+  zone: string, The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. (required)
+  clusterId: string, The name of the cluster. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # CreateNodePoolRequest creates a node pool for a cluster.
+    "nodePool": { # NodePool contains the name and configuration for a cluster's node pool. Node pools are a set of nodes (i.e. VM's), with a common configuration and specification, under the control of the cluster master. They may have a set of Kubernetes labels applied to them, which may be used to reference them during pod scheduling. They may also be resized up or down, to accommodate the workload. # The node pool to create.
+      "status": "A String", # The status of the nodes in this pool instance.
+      "statusMessage": "A String", # [Output only] Additional information about the current status of this node pool instance, if available.
+      "name": "A String", # The name of the node pool.
+      "instanceGroupUrls": [ # [Output only] The resource URLs of [instance groups](/compute/docs/instance-groups/) associated with this node pool.
+        "A String",
+      ],
+      "version": "A String", # The version of the Kubernetes of this node.
+      "initialNodeCount": 42, # The initial node count for the pool. You must ensure that your Compute Engine resource quota is sufficient for this number of instances. You must also have available firewall and routes quota.
+      "config": { # Parameters that describe the nodes in a cluster. # The node configuration of the pool.
+        "diskSizeGb": 42, # Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB. If unspecified, the default disk size is 100GB.
+        "machineType": "A String", # The name of a Google Compute Engine [machine type](/compute/docs/machine-types) (e.g. `n1-standard-1`). If unspecified, the default machine type is `n1-standard-1`.
+        "oauthScopes": [ # The set of Google API scopes to be made available on all of the node VMs under the "default" service account. The following scopes are recommended, but not required, and by default are not included: * `https://www.googleapis.com/auth/compute` is required for mounting persistent storage on your nodes. * `https://www.googleapis.com/auth/devstorage.read_only` is required for communicating with **gcr.io** (the [Google Container Registry](/container-registry/)). If unspecified, no scopes are added, unless Cloud Logging or Cloud Monitoring are enabled, in which case their required scopes will be added.
+          "A String",
+        ],
+        "metadata": { # The metadata key/value pairs assigned to instances in the cluster. Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes in length. These are reflected as part of a URL in the metadata server. Additionally, to avoid ambiguity, keys must not conflict with any other metadata keys for the project or be one of the four reserved keys: "instance-template", "kube-env", "startup-script", and "user-data" Values are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on them is that each value's size must be less than or equal to 32 KB. The total size of all keys and values must be less than 512 KB.
+          "a_key": "A String",
+        },
+      },
+      "selfLink": "A String", # Server-defined URL for the resource.
+    },
+  }
+
+  x__xgafv: string, V1 error format.
+
+Returns:
+  An object of the form:
+
+    { # This operation resource represents operations that may have happened or are happening on the cluster. All fields are output only.
+    "status": "A String", # The current status of the operation.
+    "name": "A String", # The server-assigned ID for the operation.
+    "zone": "A String", # The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the operation is taking place.
+    "detail": "A String", # Detailed operation progress, if available.
+    "selfLink": "A String", # Server-defined URL for the resource.
+    "operationType": "A String", # The operation type.
+    "statusMessage": "A String", # If an error has occurred, a textual description of the error.
+    "targetLink": "A String", # Server-defined URL for the target of the operation.
+  }
+
+ +
+ delete(projectId, zone, clusterId, nodePoolId, x__xgafv=None) +
Deletes a node pool from a cluster.
+
+Args:
+  projectId: string, The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). (required)
+  zone: string, The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. (required)
+  clusterId: string, The name of the cluster. (required)
+  nodePoolId: string, The name of the node pool to delete. (required)
+  x__xgafv: string, V1 error format.
+
+Returns:
+  An object of the form:
+
+    { # This operation resource represents operations that may have happened or are happening on the cluster. All fields are output only.
+    "status": "A String", # The current status of the operation.
+    "name": "A String", # The server-assigned ID for the operation.
+    "zone": "A String", # The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the operation is taking place.
+    "detail": "A String", # Detailed operation progress, if available.
+    "selfLink": "A String", # Server-defined URL for the resource.
+    "operationType": "A String", # The operation type.
+    "statusMessage": "A String", # If an error has occurred, a textual description of the error.
+    "targetLink": "A String", # Server-defined URL for the target of the operation.
+  }
+
+ +
+ get(projectId, zone, clusterId, nodePoolId, x__xgafv=None) +
Retrieves the node pool requested.
+
+Args:
+  projectId: string, The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). (required)
+  zone: string, The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. (required)
+  clusterId: string, The name of the cluster. (required)
+  nodePoolId: string, The name of the node pool. (required)
+  x__xgafv: string, V1 error format.
+
+Returns:
+  An object of the form:
+
+    { # NodePool contains the name and configuration for a cluster's node pool. Node pools are a set of nodes (i.e. VM's), with a common configuration and specification, under the control of the cluster master. They may have a set of Kubernetes labels applied to them, which may be used to reference them during pod scheduling. They may also be resized up or down, to accommodate the workload.
+    "status": "A String", # The status of the nodes in this pool instance.
+    "statusMessage": "A String", # [Output only] Additional information about the current status of this node pool instance, if available.
+    "name": "A String", # The name of the node pool.
+    "instanceGroupUrls": [ # [Output only] The resource URLs of [instance groups](/compute/docs/instance-groups/) associated with this node pool.
+      "A String",
+    ],
+    "version": "A String", # The version of the Kubernetes of this node.
+    "initialNodeCount": 42, # The initial node count for the pool. You must ensure that your Compute Engine resource quota is sufficient for this number of instances. You must also have available firewall and routes quota.
+    "config": { # Parameters that describe the nodes in a cluster. # The node configuration of the pool.
+      "diskSizeGb": 42, # Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB. If unspecified, the default disk size is 100GB.
+      "machineType": "A String", # The name of a Google Compute Engine [machine type](/compute/docs/machine-types) (e.g. `n1-standard-1`). If unspecified, the default machine type is `n1-standard-1`.
+      "oauthScopes": [ # The set of Google API scopes to be made available on all of the node VMs under the "default" service account. The following scopes are recommended, but not required, and by default are not included: * `https://www.googleapis.com/auth/compute` is required for mounting persistent storage on your nodes. * `https://www.googleapis.com/auth/devstorage.read_only` is required for communicating with **gcr.io** (the [Google Container Registry](/container-registry/)). If unspecified, no scopes are added, unless Cloud Logging or Cloud Monitoring are enabled, in which case their required scopes will be added.
+        "A String",
+      ],
+      "metadata": { # The metadata key/value pairs assigned to instances in the cluster. Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes in length. These are reflected as part of a URL in the metadata server. Additionally, to avoid ambiguity, keys must not conflict with any other metadata keys for the project or be one of the four reserved keys: "instance-template", "kube-env", "startup-script", and "user-data" Values are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on them is that each value's size must be less than or equal to 32 KB. The total size of all keys and values must be less than 512 KB.
+        "a_key": "A String",
+      },
+    },
+    "selfLink": "A String", # Server-defined URL for the resource.
+  }
+
+ +
+ list(projectId, zone, clusterId, x__xgafv=None) +
Lists the node pools for a cluster.
+
+Args:
+  projectId: string, The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). (required)
+  zone: string, The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. (required)
+  clusterId: string, The name of the cluster. (required)
+  x__xgafv: string, V1 error format.
+
+Returns:
+  An object of the form:
+
+    { # ListNodePoolsResponse is the result of ListNodePoolsRequest.
+    "nodePools": [ # A list of node pools for a cluster.
+      { # NodePool contains the name and configuration for a cluster's node pool. Node pools are a set of nodes (i.e. VM's), with a common configuration and specification, under the control of the cluster master. They may have a set of Kubernetes labels applied to them, which may be used to reference them during pod scheduling. They may also be resized up or down, to accommodate the workload.
+        "status": "A String", # The status of the nodes in this pool instance.
+        "statusMessage": "A String", # [Output only] Additional information about the current status of this node pool instance, if available.
+        "name": "A String", # The name of the node pool.
+        "instanceGroupUrls": [ # [Output only] The resource URLs of [instance groups](/compute/docs/instance-groups/) associated with this node pool.
+          "A String",
+        ],
+        "version": "A String", # The version of the Kubernetes of this node.
+        "initialNodeCount": 42, # The initial node count for the pool. You must ensure that your Compute Engine resource quota is sufficient for this number of instances. You must also have available firewall and routes quota.
+        "config": { # Parameters that describe the nodes in a cluster. # The node configuration of the pool.
+          "diskSizeGb": 42, # Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB. If unspecified, the default disk size is 100GB.
+          "machineType": "A String", # The name of a Google Compute Engine [machine type](/compute/docs/machine-types) (e.g. `n1-standard-1`). If unspecified, the default machine type is `n1-standard-1`.
+          "oauthScopes": [ # The set of Google API scopes to be made available on all of the node VMs under the "default" service account. The following scopes are recommended, but not required, and by default are not included: * `https://www.googleapis.com/auth/compute` is required for mounting persistent storage on your nodes. * `https://www.googleapis.com/auth/devstorage.read_only` is required for communicating with **gcr.io** (the [Google Container Registry](/container-registry/)). If unspecified, no scopes are added, unless Cloud Logging or Cloud Monitoring are enabled, in which case their required scopes will be added.
+            "A String",
+          ],
+          "metadata": { # The metadata key/value pairs assigned to instances in the cluster. Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes in length. These are reflected as part of a URL in the metadata server. Additionally, to avoid ambiguity, keys must not conflict with any other metadata keys for the project or be one of the four reserved keys: "instance-template", "kube-env", "startup-script", and "user-data" Values are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on them is that each value's size must be less than or equal to 32 KB. The total size of all keys and values must be less than 512 KB.
+            "a_key": "A String",
+          },
+        },
+        "selfLink": "A String", # Server-defined URL for the resource.
+      },
+    ],
+  }
+
+ + \ No newline at end of file diff --git a/docs/dyn/container_v1.projects.zones.html b/docs/dyn/container_v1.projects.zones.html index 9a47dfe5335..b840f4cffae 100644 --- a/docs/dyn/container_v1.projects.zones.html +++ b/docs/dyn/container_v1.projects.zones.html @@ -93,18 +93,22 @@

Method Details

Returns configuration info about the Container Engine service.
 
 Args:
-  projectId: string, The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). (required)
-  zone: string, The name of the Google Compute Engine [zone](/compute/docs/zones#available) to return operations for, or "-" for all zones. (required)
+  projectId: string, The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). (required)
+  zone: string, The name of the Google Compute Engine [zone](/compute/docs/zones#available) to return operations for. (required)
   x__xgafv: string, V1 error format.
 
 Returns:
   An object of the form:
 
-    { # Container Engine Server configuration.
-    "defaultClusterVersion": "A String", # What version this server deploys by default.
+    { # Container Engine service configuration.
+    "defaultClusterVersion": "A String", # Version of Kubernetes the service deploys by default.
     "validNodeVersions": [ # List of valid node upgrade target versions.
       "A String",
     ],
+    "defaultImageFamily": "A String", # Default image family.
+    "validImageFamilies": [ # List of valid image families.
+      "A String",
+    ],
   }
diff --git a/docs/dyn/container_v1.projects.zones.operations.html b/docs/dyn/container_v1.projects.zones.operations.html index 9846d95f5a4..cbade27df34 100644 --- a/docs/dyn/container_v1.projects.zones.operations.html +++ b/docs/dyn/container_v1.projects.zones.operations.html @@ -86,7 +86,7 @@

Method Details

Gets the specified operation.
 
 Args:
-  projectId: string, The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). (required)
+  projectId: string, The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). (required)
   zone: string, The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides. (required)
   operationId: string, The server-assigned `name` of the operation. (required)
   x__xgafv: string, V1 error format.
@@ -94,13 +94,14 @@ 

Method Details

Returns: An object of the form: - { # Defines the operation resource. All fields are output only. + { # This operation resource represents operations that may have happened or are happening on the cluster. All fields are output only. "status": "A String", # The current status of the operation. "name": "A String", # The server-assigned ID for the operation. "zone": "A String", # The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the operation is taking place. - "statusMessage": "A String", # If an error has occurred, a textual description of the error. - "operationType": "A String", # The operation type. + "detail": "A String", # Detailed operation progress, if available. "selfLink": "A String", # Server-defined URL for the resource. + "operationType": "A String", # The operation type. + "statusMessage": "A String", # If an error has occurred, a textual description of the error. "targetLink": "A String", # Server-defined URL for the target of the operation. }
@@ -110,8 +111,8 @@

Method Details

Lists all operations in a project in a specific zone or all zones.
 
 Args:
-  projectId: string, The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). (required)
-  zone: string, The name of the Google Compute Engine [zone](/compute/docs/zones#available) to return operations for, or "-" for all zones. (required)
+  projectId: string, The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). (required)
+  zone: string, The name of the Google Compute Engine [zone](/compute/docs/zones#available) to return operations for, or `-` for all zones. (required)
   x__xgafv: string, V1 error format.
 
 Returns:
@@ -119,16 +120,20 @@ 

Method Details

{ # ListOperationsResponse is the result of ListOperationsRequest. "operations": [ # A list of operations in the project in the specified zone. - { # Defines the operation resource. All fields are output only. + { # This operation resource represents operations that may have happened or are happening on the cluster. All fields are output only. "status": "A String", # The current status of the operation. "name": "A String", # The server-assigned ID for the operation. "zone": "A String", # The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the operation is taking place. - "statusMessage": "A String", # If an error has occurred, a textual description of the error. - "operationType": "A String", # The operation type. + "detail": "A String", # Detailed operation progress, if available. "selfLink": "A String", # Server-defined URL for the resource. + "operationType": "A String", # The operation type. + "statusMessage": "A String", # If an error has occurred, a textual description of the error. "targetLink": "A String", # Server-defined URL for the target of the operation. }, ], + "missingZones": [ # If any zones are listed here, the list of operations returned may be missing the operations from those zones. + "A String", + ], }
diff --git a/docs/dyn/content_v2.datafeeds.html b/docs/dyn/content_v2.datafeeds.html index a1deeef6bab..e1c5769d681 100644 --- a/docs/dyn/content_v2.datafeeds.html +++ b/docs/dyn/content_v2.datafeeds.html @@ -129,6 +129,7 @@

Method Details

"weekday": "A String", # The day of the week the feed file should be fetched. "timeZone": "A String", # Time zone used for schedule. UTC by default. E.g., "America/Los_Angeles". "password": "A String", # An optional password for fetch_url. + "minuteOfHour": 42, # The minute of the hour the feed file should be fetched (0-59). Read-only. "dayOfMonth": 42, # The day of the month the feed file should be fetched (1-31). }, "targetCountry": "A String", # The country where the items in the feed will be included in the search index, represented as a CLDR territory code. @@ -183,6 +184,7 @@

Method Details

"weekday": "A String", # The day of the week the feed file should be fetched. "timeZone": "A String", # Time zone used for schedule. UTC by default. E.g., "America/Los_Angeles". "password": "A String", # An optional password for fetch_url. + "minuteOfHour": 42, # The minute of the hour the feed file should be fetched (0-59). Read-only. "dayOfMonth": 42, # The day of the month the feed file should be fetched (1-31). }, "targetCountry": "A String", # The country where the items in the feed will be included in the search index, represented as a CLDR territory code. @@ -237,6 +239,7 @@

Method Details

"weekday": "A String", # The day of the week the feed file should be fetched. "timeZone": "A String", # Time zone used for schedule. UTC by default. E.g., "America/Los_Angeles". "password": "A String", # An optional password for fetch_url. + "minuteOfHour": 42, # The minute of the hour the feed file should be fetched (0-59). Read-only. "dayOfMonth": 42, # The day of the month the feed file should be fetched (1-31). }, "targetCountry": "A String", # The country where the items in the feed will be included in the search index, represented as a CLDR territory code. @@ -275,6 +278,7 @@

Method Details

"weekday": "A String", # The day of the week the feed file should be fetched. "timeZone": "A String", # Time zone used for schedule. UTC by default. E.g., "America/Los_Angeles". "password": "A String", # An optional password for fetch_url. + "minuteOfHour": 42, # The minute of the hour the feed file should be fetched (0-59). Read-only. "dayOfMonth": 42, # The day of the month the feed file should be fetched (1-31). }, "targetCountry": "A String", # The country where the items in the feed will be included in the search index, represented as a CLDR territory code. @@ -308,6 +312,7 @@

Method Details

"weekday": "A String", # The day of the week the feed file should be fetched. "timeZone": "A String", # Time zone used for schedule. UTC by default. E.g., "America/Los_Angeles". "password": "A String", # An optional password for fetch_url. + "minuteOfHour": 42, # The minute of the hour the feed file should be fetched (0-59). Read-only. "dayOfMonth": 42, # The day of the month the feed file should be fetched (1-31). }, "targetCountry": "A String", # The country where the items in the feed will be included in the search index, represented as a CLDR territory code. @@ -353,6 +358,7 @@

Method Details

"weekday": "A String", # The day of the week the feed file should be fetched. "timeZone": "A String", # Time zone used for schedule. UTC by default. E.g., "America/Los_Angeles". "password": "A String", # An optional password for fetch_url. + "minuteOfHour": 42, # The minute of the hour the feed file should be fetched (0-59). Read-only. "dayOfMonth": 42, # The day of the month the feed file should be fetched (1-31). }, "targetCountry": "A String", # The country where the items in the feed will be included in the search index, represented as a CLDR territory code. @@ -408,6 +414,7 @@

Method Details

"weekday": "A String", # The day of the week the feed file should be fetched. "timeZone": "A String", # Time zone used for schedule. UTC by default. E.g., "America/Los_Angeles". "password": "A String", # An optional password for fetch_url. + "minuteOfHour": 42, # The minute of the hour the feed file should be fetched (0-59). Read-only. "dayOfMonth": 42, # The day of the month the feed file should be fetched (1-31). }, "targetCountry": "A String", # The country where the items in the feed will be included in the search index, represented as a CLDR territory code. @@ -441,6 +448,7 @@

Method Details

"weekday": "A String", # The day of the week the feed file should be fetched. "timeZone": "A String", # Time zone used for schedule. UTC by default. E.g., "America/Los_Angeles". "password": "A String", # An optional password for fetch_url. + "minuteOfHour": 42, # The minute of the hour the feed file should be fetched (0-59). Read-only. "dayOfMonth": 42, # The day of the month the feed file should be fetched (1-31). }, "targetCountry": "A String", # The country where the items in the feed will be included in the search index, represented as a CLDR territory code. @@ -480,6 +488,7 @@

Method Details

"weekday": "A String", # The day of the week the feed file should be fetched. "timeZone": "A String", # Time zone used for schedule. UTC by default. E.g., "America/Los_Angeles". "password": "A String", # An optional password for fetch_url. + "minuteOfHour": 42, # The minute of the hour the feed file should be fetched (0-59). Read-only. "dayOfMonth": 42, # The day of the month the feed file should be fetched (1-31). }, "targetCountry": "A String", # The country where the items in the feed will be included in the search index, represented as a CLDR territory code. @@ -513,6 +522,7 @@

Method Details

"weekday": "A String", # The day of the week the feed file should be fetched. "timeZone": "A String", # Time zone used for schedule. UTC by default. E.g., "America/Los_Angeles". "password": "A String", # An optional password for fetch_url. + "minuteOfHour": 42, # The minute of the hour the feed file should be fetched (0-59). Read-only. "dayOfMonth": 42, # The day of the month the feed file should be fetched (1-31). }, "targetCountry": "A String", # The country where the items in the feed will be included in the search index, represented as a CLDR territory code. diff --git a/docs/dyn/content_v2.orders.html b/docs/dyn/content_v2.orders.html index c41153be133..a5db27b1211 100644 --- a/docs/dyn/content_v2.orders.html +++ b/docs/dyn/content_v2.orders.html @@ -233,7 +233,7 @@

Method Details

{ "testOrder": { # The test order to create. "customer": { # The details of the customer who placed the order. - "explicitMarketingPreference": True or False, # If set, this indicates the user had a choice to opt in or out of providing marketing rights to the merchant. If unset, this indicates the user has already made this choice in a previous purchase, and was thus not shown the marketing right opt in/out checkbox during the Purchases on Google checkout flow. Optional. + "explicitMarketingPreference": True or False, # If set, this indicates the user explicitly chose to opt in or out of providing marketing rights to the merchant. If unset, this indicates the user has already made this choice in a previous purchase, and was thus not shown the marketing right opt in/out checkbox during the Purchases on Google checkout flow. Optional. "fullName": "A String", # Full name of the customer. "email": "A String", # Email address of the customer. }, @@ -433,7 +433,7 @@

Method Details

}, "order": { # The retrieved order. Only defined if the method is get and if the request was successful. "customer": { # The details of the customer who placed the order. - "explicitMarketingPreference": True or False, # If set, this indicates the user had a choice to opt in or out of providing marketing rights to the merchant. If unset, this indicates the user has already made this choice in a previous purchase, and was thus not shown the marketing right opt in/out checkbox during the Purchases on Google checkout flow. + "explicitMarketingPreference": True or False, # If set, this indicates the user explicitly chose to opt in or out of providing marketing rights to the merchant. If unset, this indicates the user has already made this choice in a previous purchase, and was thus not shown the marketing right opt in/out checkbox during the Purchases on Google checkout flow. "fullName": "A String", # Full name of the customer. "email": "A String", # Email address of the customer. }, @@ -599,7 +599,7 @@

Method Details

}, "cancellations": [ # Cancellations of the line item. { - "reason": "A String", # The reason for the cancellation. + "reason": "A String", # The reason for the cancellation. Orders that are cancelled with a noIventory reason will lead to the removal of the product from POG until you make an update to that product. This will not affect your Shopping ads. "creationDate": "A String", # Date on which the cancellation has been created, in ISO 8601 format. "reasonText": "A String", # The explanation of the reason. "actor": "A String", # The actor that created the cancellation. @@ -657,7 +657,7 @@

Method Details

{ "customer": { # The details of the customer who placed the order. - "explicitMarketingPreference": True or False, # If set, this indicates the user had a choice to opt in or out of providing marketing rights to the merchant. If unset, this indicates the user has already made this choice in a previous purchase, and was thus not shown the marketing right opt in/out checkbox during the Purchases on Google checkout flow. + "explicitMarketingPreference": True or False, # If set, this indicates the user explicitly chose to opt in or out of providing marketing rights to the merchant. If unset, this indicates the user has already made this choice in a previous purchase, and was thus not shown the marketing right opt in/out checkbox during the Purchases on Google checkout flow. "fullName": "A String", # Full name of the customer. "email": "A String", # Email address of the customer. }, @@ -823,7 +823,7 @@

Method Details

}, "cancellations": [ # Cancellations of the line item. { - "reason": "A String", # The reason for the cancellation. + "reason": "A String", # The reason for the cancellation. Orders that are cancelled with a noIventory reason will lead to the removal of the product from POG until you make an update to that product. This will not affect your Shopping ads. "creationDate": "A String", # Date on which the cancellation has been created, in ISO 8601 format. "reasonText": "A String", # The explanation of the reason. "actor": "A String", # The actor that created the cancellation. @@ -879,7 +879,7 @@

Method Details

"kind": "content#ordersGetByMerchantOrderIdResponse", # Identifies what kind of resource this is. Value: the fixed string "content#ordersGetByMerchantOrderIdResponse". "order": { # The requested order. "customer": { # The details of the customer who placed the order. - "explicitMarketingPreference": True or False, # If set, this indicates the user had a choice to opt in or out of providing marketing rights to the merchant. If unset, this indicates the user has already made this choice in a previous purchase, and was thus not shown the marketing right opt in/out checkbox during the Purchases on Google checkout flow. + "explicitMarketingPreference": True or False, # If set, this indicates the user explicitly chose to opt in or out of providing marketing rights to the merchant. If unset, this indicates the user has already made this choice in a previous purchase, and was thus not shown the marketing right opt in/out checkbox during the Purchases on Google checkout flow. "fullName": "A String", # Full name of the customer. "email": "A String", # Email address of the customer. }, @@ -1045,7 +1045,7 @@

Method Details

}, "cancellations": [ # Cancellations of the line item. { - "reason": "A String", # The reason for the cancellation. + "reason": "A String", # The reason for the cancellation. Orders that are cancelled with a noIventory reason will lead to the removal of the product from POG until you make an update to that product. This will not affect your Shopping ads. "creationDate": "A String", # Date on which the cancellation has been created, in ISO 8601 format. "reasonText": "A String", # The explanation of the reason. "actor": "A String", # The actor that created the cancellation. @@ -1107,7 +1107,7 @@

Method Details

"kind": "content#ordersGetTestOrderTemplateResponse", # Identifies what kind of resource this is. Value: the fixed string "content#ordersGetTestOrderTemplateResponse". "template": { # The requested test order template. "customer": { # The details of the customer who placed the order. - "explicitMarketingPreference": True or False, # If set, this indicates the user had a choice to opt in or out of providing marketing rights to the merchant. If unset, this indicates the user has already made this choice in a previous purchase, and was thus not shown the marketing right opt in/out checkbox during the Purchases on Google checkout flow. Optional. + "explicitMarketingPreference": True or False, # If set, this indicates the user explicitly chose to opt in or out of providing marketing rights to the merchant. If unset, this indicates the user has already made this choice in a previous purchase, and was thus not shown the marketing right opt in/out checkbox during the Purchases on Google checkout flow. Optional. "fullName": "A String", # Full name of the customer. "email": "A String", # Email address of the customer. }, @@ -1248,7 +1248,7 @@

Method Details

"resources": [ { "customer": { # The details of the customer who placed the order. - "explicitMarketingPreference": True or False, # If set, this indicates the user had a choice to opt in or out of providing marketing rights to the merchant. If unset, this indicates the user has already made this choice in a previous purchase, and was thus not shown the marketing right opt in/out checkbox during the Purchases on Google checkout flow. + "explicitMarketingPreference": True or False, # If set, this indicates the user explicitly chose to opt in or out of providing marketing rights to the merchant. If unset, this indicates the user has already made this choice in a previous purchase, and was thus not shown the marketing right opt in/out checkbox during the Purchases on Google checkout flow. "fullName": "A String", # Full name of the customer. "email": "A String", # Email address of the customer. }, @@ -1414,7 +1414,7 @@

Method Details

}, "cancellations": [ # Cancellations of the line item. { - "reason": "A String", # The reason for the cancellation. + "reason": "A String", # The reason for the cancellation. Orders that are cancelled with a noIventory reason will lead to the removal of the product from POG until you make an update to that product. This will not affect your Shopping ads. "creationDate": "A String", # Date on which the cancellation has been created, in ISO 8601 format. "reasonText": "A String", # The explanation of the reason. "actor": "A String", # The actor that created the cancellation. diff --git a/docs/dyn/content_v2.products.html b/docs/dyn/content_v2.products.html index 4daaa3608ed..c1f20d30378 100644 --- a/docs/dyn/content_v2.products.html +++ b/docs/dyn/content_v2.products.html @@ -136,7 +136,7 @@

Method Details

], "targetCountry": "A String", # The CLDR territory code for the item. "sizeType": "A String", # The cut of the item. Recommended for apparel items. - "offerId": "A String", # An identifier of the item. + "offerId": "A String", # An identifier of the item. Leading and trailing whitespaces are stripped and multiple whitespaces are replaced by a single whitespace upon submission. Only valid unicode characters are accepted. See the products feed specification for details. "shippingWidth": { # Width of the item for shipping. "value": 3.14, # The dimension of the product used to calculate the shipping cost of the item. "unit": "A String", # The unit of value. @@ -186,7 +186,7 @@

Method Details

}, ], "mpn": "A String", # Manufacturer Part Number (MPN) of the item. - "salePriceEffectiveDate": "A String", # Date range during which the item is on sale (see product feed specifications). + "salePriceEffectiveDate": "A String", # Date range during which the item is on sale (see products feed specification). "brand": "A String", # Brand of the item. "material": "A String", # The material of which the item is made. "shippingLength": { # Length of the item for shipping. @@ -287,7 +287,7 @@

Method Details

"currency": "A String", # The currency of the price. "value": "A String", # The price represented as a number. }, - "productType": "A String", # Your category of the item (formatted as in product feeds specification). + "productType": "A String", # Your category of the item (formatted as in products feed specification). "displayAdsSimilarIds": [ # Advertiser-specified recommendations. "A String", ], @@ -354,7 +354,7 @@

Method Details

], "targetCountry": "A String", # The CLDR territory code for the item. "sizeType": "A String", # The cut of the item. Recommended for apparel items. - "offerId": "A String", # An identifier of the item. + "offerId": "A String", # An identifier of the item. Leading and trailing whitespaces are stripped and multiple whitespaces are replaced by a single whitespace upon submission. Only valid unicode characters are accepted. See the products feed specification for details. "shippingWidth": { # Width of the item for shipping. "value": 3.14, # The dimension of the product used to calculate the shipping cost of the item. "unit": "A String", # The unit of value. @@ -404,7 +404,7 @@

Method Details

}, ], "mpn": "A String", # Manufacturer Part Number (MPN) of the item. - "salePriceEffectiveDate": "A String", # Date range during which the item is on sale (see product feed specifications). + "salePriceEffectiveDate": "A String", # Date range during which the item is on sale (see products feed specification). "brand": "A String", # Brand of the item. "material": "A String", # The material of which the item is made. "shippingLength": { # Length of the item for shipping. @@ -505,7 +505,7 @@

Method Details

"currency": "A String", # The currency of the price. "value": "A String", # The price represented as a number. }, - "productType": "A String", # Your category of the item (formatted as in product feeds specification). + "productType": "A String", # Your category of the item (formatted as in products feed specification). "displayAdsSimilarIds": [ # Advertiser-specified recommendations. "A String", ], @@ -570,7 +570,7 @@

Method Details

], "targetCountry": "A String", # The CLDR territory code for the item. "sizeType": "A String", # The cut of the item. Recommended for apparel items. - "offerId": "A String", # An identifier of the item. + "offerId": "A String", # An identifier of the item. Leading and trailing whitespaces are stripped and multiple whitespaces are replaced by a single whitespace upon submission. Only valid unicode characters are accepted. See the products feed specification for details. "shippingWidth": { # Width of the item for shipping. "value": 3.14, # The dimension of the product used to calculate the shipping cost of the item. "unit": "A String", # The unit of value. @@ -620,7 +620,7 @@

Method Details

}, ], "mpn": "A String", # Manufacturer Part Number (MPN) of the item. - "salePriceEffectiveDate": "A String", # Date range during which the item is on sale (see product feed specifications). + "salePriceEffectiveDate": "A String", # Date range during which the item is on sale (see products feed specification). "brand": "A String", # Brand of the item. "material": "A String", # The material of which the item is made. "shippingLength": { # Length of the item for shipping. @@ -721,7 +721,7 @@

Method Details

"currency": "A String", # The currency of the price. "value": "A String", # The price represented as a number. }, - "productType": "A String", # Your category of the item (formatted as in product feeds specification). + "productType": "A String", # Your category of the item (formatted as in products feed specification). "displayAdsSimilarIds": [ # Advertiser-specified recommendations. "A String", ], @@ -770,7 +770,7 @@

Method Details

], "targetCountry": "A String", # The CLDR territory code for the item. "sizeType": "A String", # The cut of the item. Recommended for apparel items. - "offerId": "A String", # An identifier of the item. + "offerId": "A String", # An identifier of the item. Leading and trailing whitespaces are stripped and multiple whitespaces are replaced by a single whitespace upon submission. Only valid unicode characters are accepted. See the products feed specification for details. "shippingWidth": { # Width of the item for shipping. "value": 3.14, # The dimension of the product used to calculate the shipping cost of the item. "unit": "A String", # The unit of value. @@ -820,7 +820,7 @@

Method Details

}, ], "mpn": "A String", # Manufacturer Part Number (MPN) of the item. - "salePriceEffectiveDate": "A String", # Date range during which the item is on sale (see product feed specifications). + "salePriceEffectiveDate": "A String", # Date range during which the item is on sale (see products feed specification). "brand": "A String", # Brand of the item. "material": "A String", # The material of which the item is made. "shippingLength": { # Length of the item for shipping. @@ -921,7 +921,7 @@

Method Details

"currency": "A String", # The currency of the price. "value": "A String", # The price represented as a number. }, - "productType": "A String", # Your category of the item (formatted as in product feeds specification). + "productType": "A String", # Your category of the item (formatted as in products feed specification). "displayAdsSimilarIds": [ # Advertiser-specified recommendations. "A String", ], @@ -965,7 +965,7 @@

Method Details

], "targetCountry": "A String", # The CLDR territory code for the item. "sizeType": "A String", # The cut of the item. Recommended for apparel items. - "offerId": "A String", # An identifier of the item. + "offerId": "A String", # An identifier of the item. Leading and trailing whitespaces are stripped and multiple whitespaces are replaced by a single whitespace upon submission. Only valid unicode characters are accepted. See the products feed specification for details. "shippingWidth": { # Width of the item for shipping. "value": 3.14, # The dimension of the product used to calculate the shipping cost of the item. "unit": "A String", # The unit of value. @@ -1015,7 +1015,7 @@

Method Details

}, ], "mpn": "A String", # Manufacturer Part Number (MPN) of the item. - "salePriceEffectiveDate": "A String", # Date range during which the item is on sale (see product feed specifications). + "salePriceEffectiveDate": "A String", # Date range during which the item is on sale (see products feed specification). "brand": "A String", # Brand of the item. "material": "A String", # The material of which the item is made. "shippingLength": { # Length of the item for shipping. @@ -1116,7 +1116,7 @@

Method Details

"currency": "A String", # The currency of the price. "value": "A String", # The price represented as a number. }, - "productType": "A String", # Your category of the item (formatted as in product feeds specification). + "productType": "A String", # Your category of the item (formatted as in products feed specification). "displayAdsSimilarIds": [ # Advertiser-specified recommendations. "A String", ], @@ -1173,7 +1173,7 @@

Method Details

], "targetCountry": "A String", # The CLDR territory code for the item. "sizeType": "A String", # The cut of the item. Recommended for apparel items. - "offerId": "A String", # An identifier of the item. + "offerId": "A String", # An identifier of the item. Leading and trailing whitespaces are stripped and multiple whitespaces are replaced by a single whitespace upon submission. Only valid unicode characters are accepted. See the products feed specification for details. "shippingWidth": { # Width of the item for shipping. "value": 3.14, # The dimension of the product used to calculate the shipping cost of the item. "unit": "A String", # The unit of value. @@ -1223,7 +1223,7 @@

Method Details

}, ], "mpn": "A String", # Manufacturer Part Number (MPN) of the item. - "salePriceEffectiveDate": "A String", # Date range during which the item is on sale (see product feed specifications). + "salePriceEffectiveDate": "A String", # Date range during which the item is on sale (see products feed specification). "brand": "A String", # Brand of the item. "material": "A String", # The material of which the item is made. "shippingLength": { # Length of the item for shipping. @@ -1324,7 +1324,7 @@

Method Details

"currency": "A String", # The currency of the price. "value": "A String", # The price represented as a number. }, - "productType": "A String", # Your category of the item (formatted as in product feeds specification). + "productType": "A String", # Your category of the item (formatted as in products feed specification). "displayAdsSimilarIds": [ # Advertiser-specified recommendations. "A String", ], diff --git a/docs/dyn/dataflow_v1b3.projects.jobs.html b/docs/dyn/dataflow_v1b3.projects.jobs.html index d26949e0da6..c1835f81e66 100644 --- a/docs/dyn/dataflow_v1b3.projects.jobs.html +++ b/docs/dyn/dataflow_v1b3.projects.jobs.html @@ -94,7 +94,7 @@

Instance Methods

getMetrics(projectId, jobId, startTime=None, x__xgafv=None)

Request the job status.

- list(projectId, pageSize=None, pageToken=None, x__xgafv=None, view=None)

+ list(projectId, pageSize=None, filter=None, pageToken=None, x__xgafv=None, view=None)

List the jobs of a project

list_next(previous_request, previous_response)

@@ -178,6 +178,7 @@

Method Details

"machineType": "A String", # Machine type (e.g. "n1-standard-1"). If empty or unspecified, the service will attempt to choose a reasonable default. "network": "A String", # Network to which VMs will be assigned. If empty or unspecified, the service will use the network "default". "zone": "A String", # Zone to run the worker pools in. If empty or unspecified, the service will attempt to choose a reasonable default. + "numThreadsPerWorker": 42, # The number of threads per worker harness. If empty or unspecified, the service will choose a number of threads (according to the number of cores on the selected machine type for batch, or 1 by convention for streaming). "onHostMaintenance": "A String", # The action to take on host maintenance, as defined by the Google Compute Engine API. "diskType": "A String", # Type of root disk for VMs. If empty or unspecified, the service will attempt to choose a reasonable default. "teardownPolicy": "A String", # Sets the policy for determining when to turndown worker pool. Allowed values are: TEARDOWN_ALWAYS, TEARDOWN_ON_SUCCESS, and TEARDOWN_NEVER. TEARDOWN_ALWAYS means workers are always torn down regardless of whether the job succeeds. TEARDOWN_ON_SUCCESS means workers are torn down if the job succeeds. TEARDOWN_NEVER means the workers are never torn down. If the workers are not torn down by the service, they will continue to run and use Google Compute Engine VM resources in the user's project until they are explicitly terminated by the user. Because of this, Google recommends using the TEARDOWN_ALWAYS policy except for small, manually supervised test jobs. If unknown or unspecified, the service will attempt to choose a reasonable default. @@ -201,6 +202,7 @@

Method Details

"maxNumWorkers": 42, # The maximum number of workers to cap scaling at. "algorithm": "A String", # The algorithm to use for autoscaling. }, + "subnetwork": "A String", # Subnetwork to which VMs will be assigned, if desired. Expected to be of the form "zones/ZONE/subnetworks/SUBNETWORK". "dataDisks": [ # Data disks that are used by a VM in this workflow. { # Describes the data disk used by a workflow job. "mountPoint": "A String", # Directory in a VM where disk is mounted. @@ -313,6 +315,7 @@

Method Details

"machineType": "A String", # Machine type (e.g. "n1-standard-1"). If empty or unspecified, the service will attempt to choose a reasonable default. "network": "A String", # Network to which VMs will be assigned. If empty or unspecified, the service will use the network "default". "zone": "A String", # Zone to run the worker pools in. If empty or unspecified, the service will attempt to choose a reasonable default. + "numThreadsPerWorker": 42, # The number of threads per worker harness. If empty or unspecified, the service will choose a number of threads (according to the number of cores on the selected machine type for batch, or 1 by convention for streaming). "onHostMaintenance": "A String", # The action to take on host maintenance, as defined by the Google Compute Engine API. "diskType": "A String", # Type of root disk for VMs. If empty or unspecified, the service will attempt to choose a reasonable default. "teardownPolicy": "A String", # Sets the policy for determining when to turndown worker pool. Allowed values are: TEARDOWN_ALWAYS, TEARDOWN_ON_SUCCESS, and TEARDOWN_NEVER. TEARDOWN_ALWAYS means workers are always torn down regardless of whether the job succeeds. TEARDOWN_ON_SUCCESS means workers are torn down if the job succeeds. TEARDOWN_NEVER means the workers are never torn down. If the workers are not torn down by the service, they will continue to run and use Google Compute Engine VM resources in the user's project until they are explicitly terminated by the user. Because of this, Google recommends using the TEARDOWN_ALWAYS policy except for small, manually supervised test jobs. If unknown or unspecified, the service will attempt to choose a reasonable default. @@ -336,6 +339,7 @@

Method Details

"maxNumWorkers": 42, # The maximum number of workers to cap scaling at. "algorithm": "A String", # The algorithm to use for autoscaling. }, + "subnetwork": "A String", # Subnetwork to which VMs will be assigned, if desired. Expected to be of the form "zones/ZONE/subnetworks/SUBNETWORK". "dataDisks": [ # Data disks that are used by a VM in this workflow. { # Describes the data disk used by a workflow job. "mountPoint": "A String", # Directory in a VM where disk is mounted. @@ -455,6 +459,7 @@

Method Details

"machineType": "A String", # Machine type (e.g. "n1-standard-1"). If empty or unspecified, the service will attempt to choose a reasonable default. "network": "A String", # Network to which VMs will be assigned. If empty or unspecified, the service will use the network "default". "zone": "A String", # Zone to run the worker pools in. If empty or unspecified, the service will attempt to choose a reasonable default. + "numThreadsPerWorker": 42, # The number of threads per worker harness. If empty or unspecified, the service will choose a number of threads (according to the number of cores on the selected machine type for batch, or 1 by convention for streaming). "onHostMaintenance": "A String", # The action to take on host maintenance, as defined by the Google Compute Engine API. "diskType": "A String", # Type of root disk for VMs. If empty or unspecified, the service will attempt to choose a reasonable default. "teardownPolicy": "A String", # Sets the policy for determining when to turndown worker pool. Allowed values are: TEARDOWN_ALWAYS, TEARDOWN_ON_SUCCESS, and TEARDOWN_NEVER. TEARDOWN_ALWAYS means workers are always torn down regardless of whether the job succeeds. TEARDOWN_ON_SUCCESS means workers are torn down if the job succeeds. TEARDOWN_NEVER means the workers are never torn down. If the workers are not torn down by the service, they will continue to run and use Google Compute Engine VM resources in the user's project until they are explicitly terminated by the user. Because of this, Google recommends using the TEARDOWN_ALWAYS policy except for small, manually supervised test jobs. If unknown or unspecified, the service will attempt to choose a reasonable default. @@ -478,6 +483,7 @@

Method Details

"maxNumWorkers": 42, # The maximum number of workers to cap scaling at. "algorithm": "A String", # The algorithm to use for autoscaling. }, + "subnetwork": "A String", # Subnetwork to which VMs will be assigned, if desired. Expected to be of the form "zones/ZONE/subnetworks/SUBNETWORK". "dataDisks": [ # Data disks that are used by a VM in this workflow. { # Describes the data disk used by a workflow job. "mountPoint": "A String", # Directory in a VM where disk is mounted. @@ -557,12 +563,13 @@

Method Details

- list(projectId, pageSize=None, pageToken=None, x__xgafv=None, view=None) + list(projectId, pageSize=None, filter=None, pageToken=None, x__xgafv=None, view=None)
List the jobs of a project
 
 Args:
   projectId: string, The project which owns the jobs. (required)
   pageSize: integer, If there are many jobs, limit response to at most this many. The actual number of jobs returned will be the lesser of max_responses and an unspecified server-defined limit.
+  filter: string, The kind of filter to use.
   pageToken: string, Set this to the 'next_page_token' field of a previous response to request additional results in a long list.
   x__xgafv: string, V1 error format.
   view: string, Level of information requested in response. Default is SUMMARY.
@@ -639,6 +646,7 @@ 

Method Details

"machineType": "A String", # Machine type (e.g. "n1-standard-1"). If empty or unspecified, the service will attempt to choose a reasonable default. "network": "A String", # Network to which VMs will be assigned. If empty or unspecified, the service will use the network "default". "zone": "A String", # Zone to run the worker pools in. If empty or unspecified, the service will attempt to choose a reasonable default. + "numThreadsPerWorker": 42, # The number of threads per worker harness. If empty or unspecified, the service will choose a number of threads (according to the number of cores on the selected machine type for batch, or 1 by convention for streaming). "onHostMaintenance": "A String", # The action to take on host maintenance, as defined by the Google Compute Engine API. "diskType": "A String", # Type of root disk for VMs. If empty or unspecified, the service will attempt to choose a reasonable default. "teardownPolicy": "A String", # Sets the policy for determining when to turndown worker pool. Allowed values are: TEARDOWN_ALWAYS, TEARDOWN_ON_SUCCESS, and TEARDOWN_NEVER. TEARDOWN_ALWAYS means workers are always torn down regardless of whether the job succeeds. TEARDOWN_ON_SUCCESS means workers are torn down if the job succeeds. TEARDOWN_NEVER means the workers are never torn down. If the workers are not torn down by the service, they will continue to run and use Google Compute Engine VM resources in the user's project until they are explicitly terminated by the user. Because of this, Google recommends using the TEARDOWN_ALWAYS policy except for small, manually supervised test jobs. If unknown or unspecified, the service will attempt to choose a reasonable default. @@ -662,6 +670,7 @@

Method Details

"maxNumWorkers": 42, # The maximum number of workers to cap scaling at. "algorithm": "A String", # The algorithm to use for autoscaling. }, + "subnetwork": "A String", # Subnetwork to which VMs will be assigned, if desired. Expected to be of the form "zones/ZONE/subnetworks/SUBNETWORK". "dataDisks": [ # Data disks that are used by a VM in this workflow. { # Describes the data disk used by a workflow job. "mountPoint": "A String", # Directory in a VM where disk is mounted. @@ -794,6 +803,7 @@

Method Details

"machineType": "A String", # Machine type (e.g. "n1-standard-1"). If empty or unspecified, the service will attempt to choose a reasonable default. "network": "A String", # Network to which VMs will be assigned. If empty or unspecified, the service will use the network "default". "zone": "A String", # Zone to run the worker pools in. If empty or unspecified, the service will attempt to choose a reasonable default. + "numThreadsPerWorker": 42, # The number of threads per worker harness. If empty or unspecified, the service will choose a number of threads (according to the number of cores on the selected machine type for batch, or 1 by convention for streaming). "onHostMaintenance": "A String", # The action to take on host maintenance, as defined by the Google Compute Engine API. "diskType": "A String", # Type of root disk for VMs. If empty or unspecified, the service will attempt to choose a reasonable default. "teardownPolicy": "A String", # Sets the policy for determining when to turndown worker pool. Allowed values are: TEARDOWN_ALWAYS, TEARDOWN_ON_SUCCESS, and TEARDOWN_NEVER. TEARDOWN_ALWAYS means workers are always torn down regardless of whether the job succeeds. TEARDOWN_ON_SUCCESS means workers are torn down if the job succeeds. TEARDOWN_NEVER means the workers are never torn down. If the workers are not torn down by the service, they will continue to run and use Google Compute Engine VM resources in the user's project until they are explicitly terminated by the user. Because of this, Google recommends using the TEARDOWN_ALWAYS policy except for small, manually supervised test jobs. If unknown or unspecified, the service will attempt to choose a reasonable default. @@ -817,6 +827,7 @@

Method Details

"maxNumWorkers": 42, # The maximum number of workers to cap scaling at. "algorithm": "A String", # The algorithm to use for autoscaling. }, + "subnetwork": "A String", # Subnetwork to which VMs will be assigned, if desired. Expected to be of the form "zones/ZONE/subnetworks/SUBNETWORK". "dataDisks": [ # Data disks that are used by a VM in this workflow. { # Describes the data disk used by a workflow job. "mountPoint": "A String", # Directory in a VM where disk is mounted. @@ -927,6 +938,7 @@

Method Details

"machineType": "A String", # Machine type (e.g. "n1-standard-1"). If empty or unspecified, the service will attempt to choose a reasonable default. "network": "A String", # Network to which VMs will be assigned. If empty or unspecified, the service will use the network "default". "zone": "A String", # Zone to run the worker pools in. If empty or unspecified, the service will attempt to choose a reasonable default. + "numThreadsPerWorker": 42, # The number of threads per worker harness. If empty or unspecified, the service will choose a number of threads (according to the number of cores on the selected machine type for batch, or 1 by convention for streaming). "onHostMaintenance": "A String", # The action to take on host maintenance, as defined by the Google Compute Engine API. "diskType": "A String", # Type of root disk for VMs. If empty or unspecified, the service will attempt to choose a reasonable default. "teardownPolicy": "A String", # Sets the policy for determining when to turndown worker pool. Allowed values are: TEARDOWN_ALWAYS, TEARDOWN_ON_SUCCESS, and TEARDOWN_NEVER. TEARDOWN_ALWAYS means workers are always torn down regardless of whether the job succeeds. TEARDOWN_ON_SUCCESS means workers are torn down if the job succeeds. TEARDOWN_NEVER means the workers are never torn down. If the workers are not torn down by the service, they will continue to run and use Google Compute Engine VM resources in the user's project until they are explicitly terminated by the user. Because of this, Google recommends using the TEARDOWN_ALWAYS policy except for small, manually supervised test jobs. If unknown or unspecified, the service will attempt to choose a reasonable default. @@ -950,6 +962,7 @@

Method Details

"maxNumWorkers": 42, # The maximum number of workers to cap scaling at. "algorithm": "A String", # The algorithm to use for autoscaling. }, + "subnetwork": "A String", # Subnetwork to which VMs will be assigned, if desired. Expected to be of the form "zones/ZONE/subnetworks/SUBNETWORK". "dataDisks": [ # Data disks that are used by a VM in this workflow. { # Describes the data disk used by a workflow job. "mountPoint": "A String", # Directory in a VM where disk is mounted. diff --git a/docs/dyn/dataflow_v1b3.projects.jobs.workItems.html b/docs/dyn/dataflow_v1b3.projects.jobs.workItems.html index 92ea56f81a5..3a6ca6053e3 100644 --- a/docs/dyn/dataflow_v1b3.projects.jobs.workItems.html +++ b/docs/dyn/dataflow_v1b3.projects.jobs.workItems.html @@ -464,6 +464,7 @@

Method Details

], }, ], + "persistentStateVersion": 42, # Version number for persistent state. "userStageToComputationNameMap": { # Maps user stage names to stable computation names. "a_key": "A String", }, diff --git a/docs/dyn/dataproc_v1.html b/docs/dyn/dataproc_v1.html index 3166115a369..34f037b687c 100644 --- a/docs/dyn/dataproc_v1.html +++ b/docs/dyn/dataproc_v1.html @@ -74,11 +74,6 @@

Google Cloud Dataproc API

Instance Methods

-

- media() -

-

Returns the media Resource.

-

projects()

diff --git a/docs/dyn/dataproc_v1.projects.regions.clusters.html b/docs/dyn/dataproc_v1.projects.regions.clusters.html index 13e47a92d32..0ae70a47475 100644 --- a/docs/dyn/dataproc_v1.projects.regions.clusters.html +++ b/docs/dyn/dataproc_v1.projects.regions.clusters.html @@ -102,7 +102,7 @@

Method Details

Args: projectId: string, [Required] The ID of the Google Cloud Platform project that the cluster belongs to. (required) - region: string, [Required] The Dataproc region in which to handle the request. (required) + region: string, [Required] The Cloud Dataproc region in which to handle the request. (required) body: object, The request body. (required) The object takes the form of: @@ -113,9 +113,9 @@

Method Details

"detail": "A String", # Optional details of cluster's state. }, "clusterUuid": "A String", # [Output-only] A cluster UUID (Unique Universal Identifier). Cloud Dataproc generates this value when it creates the cluster. - "clusterName": "A String", # [Required] The cluster name. Cluster names within a project must be unique. Names from deleted clusters can be reused. + "clusterName": "A String", # [Required] The cluster name. Cluster names within a project must be unique. Names of deleted clusters can be reused. "projectId": "A String", # [Required] The Google Cloud Platform project ID that the cluster belongs to. - "statusHistory": [ # [Output-only] Previous cluster statuses. + "statusHistory": [ # [Output-only] The previous cluster status. { # The status of a cluster and its instances. "state": "A String", # The cluster's state. "stateStartTime": "A String", # Time when this state was entered. @@ -125,19 +125,19 @@

Method Details

"config": { # The cluster config. # [Required] The cluster config. Note that Cloud Dataproc may set default values, and values may change when clusters are updated. "softwareConfig": { # Specifies the selection and config of software inside the cluster. # [Optional] The config settings for software inside the cluster. "imageVersion": "A String", # [Optional] The version of software inside the cluster. It must match the regular expression `[0-9]+\.[0-9]+`. If unspecified, it defaults to the latest version (see [Cloud Dataproc Versioning](/dataproc/versioning)). - "properties": { # [Optional] The properties to set on daemon config files. Property keys are specified in "prefix:property" format, such as "core:fs.defaultFS". The following are supported prefixes and their mappings: core - core-site.xml hdfs - hdfs-site.xml mapred - mapred-site.xml yarn - yarn-site.xml hive - hive-site.xml pig - pig.properties spark - spark-defaults.conf + "properties": { # [Optional] The properties to set on daemon config files. Property keys are specified in `prefix:property` format, such as `core:fs.defaultFS`. The following are supported prefixes and their mappings: * core: `core-site.xml` * hdfs: `hdfs-site.xml` * mapred: `mapred-site.xml` * yarn: `yarn-site.xml` * hive: `hive-site.xml` * pig: `pig.properties` * spark: `spark-defaults.conf` "a_key": "A String", }, }, "configBucket": "A String", # [Optional] A Google Cloud Storage staging bucket used for sharing generated SSH keys and config. If you do not specify a staging bucket, Cloud Dataproc will determine an appropriate Cloud Storage location (US, ASIA, or EU) for your cluster's staging bucket according to the Google Compute Engine zone where your cluster is deployed, and then it will create and manage this project-level, per-location bucket for you. - "gceClusterConfig": { # Common config settings for resources of Google Compute Engine cluster instances, applicable to all instances in the cluster. # [Optional] The shared Google Compute Engine config settings for all instances in a cluster. + "gceClusterConfig": { # Common config settings for resources of Google Compute Engine cluster instances, applicable to all instances in the cluster. # [Required] The shared Google Compute Engine config settings for all instances in a cluster. "networkUri": "A String", # The Google Compute Engine network to be used for machine communications. Cannot be specified with subnetwork_uri. If neither network_uri nor subnetwork_uri is specified, the "default" network of the project is used, if it exists. Cannot be a "Custom Subnet Network" (see https://cloud.google.com/compute/docs/subnetworks for more information). Example: `https://www.googleapis.com/compute/v1/projects/[project_id]/regions/global/default`. "tags": [ # The Google Compute Engine tags to add to all instances. "A String", ], "zoneUri": "A String", # [Required] The zone where the Google Compute Engine cluster will be located. Example: `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]`. "subnetworkUri": "A String", # The Google Compute Engine subnetwork to be used for machine communications. Cannot be specified with network_uri. Example: `https://www.googleapis.com/compute/v1/projects/[project_id]/regions/us-east1/sub0`. - "serviceAccountScopes": [ # The URIs of service account scopes to be included in Google Compute Engine instances. The following base set of scopes is always included: - https://www.googleapis.com/auth/cloud.useraccounts.readonly - https://www.googleapis.com/auth/devstorage.read_write - https://www.googleapis.com/auth/logging.write If no scopes are specfied, the following defaults are also provided: - https://www.googleapis.com/auth/bigquery - https://www.googleapis.com/auth/bigtable.admin.table - https://www.googleapis.com/auth/bigtable.data - https://www.googleapis.com/auth/devstorage.full_control + "serviceAccountScopes": [ # The URIs of service account scopes to be included in Google Compute Engine instances. The following base set of scopes is always included: * https://www.googleapis.com/auth/cloud.useraccounts.readonly * https://www.googleapis.com/auth/devstorage.read_write * https://www.googleapis.com/auth/logging.write If no scopes are specfied, the following defaults are also provided: * https://www.googleapis.com/auth/bigquery * https://www.googleapis.com/auth/bigtable.admin.table * https://www.googleapis.com/auth/bigtable.data * https://www.googleapis.com/auth/devstorage.full_control "A String", ], "metadata": { # The Google Compute Engine metadata entries to add to all instances. @@ -147,7 +147,7 @@

Method Details

"workerConfig": { # The config settings for Google Compute Engine resources in an instance group, such as a master or worker group. # [Optional] The Google Compute Engine config settings for worker instances in a cluster. "isPreemptible": True or False, # Specifies that this instance group contains Preemptible Instances. "machineTypeUri": "A String", # The Google Compute Engine machine type used for cluster instances. Example: `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2`. - "instanceNames": [ # The list of instance names. Dataproc derives the names from `cluster_name`, `num_instances`, and the instance group if not set by user (recommended practice is to let Dataproc derive the name). + "instanceNames": [ # The list of instance names. Cloud Dataproc derives the names from `cluster_name`, `num_instances`, and the instance group if not set by user (recommended practice is to let Cloud Dataproc derive the name). "A String", ], "diskConfig": { # Specifies the config of disk options for a group of VM instances. # Disk option config settings. @@ -170,7 +170,7 @@

Method Details

"secondaryWorkerConfig": { # The config settings for Google Compute Engine resources in an instance group, such as a master or worker group. # [Optional] The Google Compute Engine config settings for additional worker instances in a cluster. "isPreemptible": True or False, # Specifies that this instance group contains Preemptible Instances. "machineTypeUri": "A String", # The Google Compute Engine machine type used for cluster instances. Example: `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2`. - "instanceNames": [ # The list of instance names. Dataproc derives the names from `cluster_name`, `num_instances`, and the instance group if not set by user (recommended practice is to let Dataproc derive the name). + "instanceNames": [ # The list of instance names. Cloud Dataproc derives the names from `cluster_name`, `num_instances`, and the instance group if not set by user (recommended practice is to let Cloud Dataproc derive the name). "A String", ], "diskConfig": { # Specifies the config of disk options for a group of VM instances. # Disk option config settings. @@ -187,7 +187,7 @@

Method Details

"masterConfig": { # The config settings for Google Compute Engine resources in an instance group, such as a master or worker group. # [Optional] The Google Compute Engine config settings for the master instance in a cluster. "isPreemptible": True or False, # Specifies that this instance group contains Preemptible Instances. "machineTypeUri": "A String", # The Google Compute Engine machine type used for cluster instances. Example: `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2`. - "instanceNames": [ # The list of instance names. Dataproc derives the names from `cluster_name`, `num_instances`, and the instance group if not set by user (recommended practice is to let Dataproc derive the name). + "instanceNames": [ # The list of instance names. Cloud Dataproc derives the names from `cluster_name`, `num_instances`, and the instance group if not set by user (recommended practice is to let Cloud Dataproc derive the name). "A String", ], "diskConfig": { # Specifies the config of disk options for a group of VM instances. # Disk option config settings. @@ -223,7 +223,7 @@

Method Details

], }, "done": True or False, # If the value is `false`, it means the operation is still in progress. If true, the operation is completed, and either `error` or `response` is available. - "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping above, the `name` should have the format of `operations/some/unique/name`. + "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should have the format of `operations/some/unique/name`. "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. "a_key": "", # Properties of the object. Contains field @ype with type URL. }, @@ -236,7 +236,7 @@

Method Details

Args: projectId: string, [Required] The ID of the Google Cloud Platform project that the cluster belongs to. (required) - region: string, [Required] The Dataproc region in which to handle the request. (required) + region: string, [Required] The Cloud Dataproc region in which to handle the request. (required) clusterName: string, [Required] The cluster name. (required) x__xgafv: string, V1 error format. @@ -257,7 +257,7 @@

Method Details

], }, "done": True or False, # If the value is `false`, it means the operation is still in progress. If true, the operation is completed, and either `error` or `response` is available. - "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping above, the `name` should have the format of `operations/some/unique/name`. + "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should have the format of `operations/some/unique/name`. "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. "a_key": "", # Properties of the object. Contains field @ype with type URL. }, @@ -270,7 +270,7 @@

Method Details

Args: projectId: string, [Required] The ID of the Google Cloud Platform project that the cluster belongs to. (required) - region: string, [Required] The Dataproc region in which to handle the request. (required) + region: string, [Required] The Cloud Dataproc region in which to handle the request. (required) clusterName: string, [Required] The cluster name. (required) body: object, The request body. (required) The object takes the form of: @@ -297,7 +297,7 @@

Method Details

], }, "done": True or False, # If the value is `false`, it means the operation is still in progress. If true, the operation is completed, and either `error` or `response` is available. - "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping above, the `name` should have the format of `operations/some/unique/name`. + "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should have the format of `operations/some/unique/name`. "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. "a_key": "", # Properties of the object. Contains field @ype with type URL. }, @@ -310,7 +310,7 @@

Method Details

Args: projectId: string, [Required] The ID of the Google Cloud Platform project that the cluster belongs to. (required) - region: string, [Required] The Dataproc region in which to handle the request. (required) + region: string, [Required] The Cloud Dataproc region in which to handle the request. (required) clusterName: string, [Required] The cluster name. (required) x__xgafv: string, V1 error format. @@ -324,9 +324,9 @@

Method Details

"detail": "A String", # Optional details of cluster's state. }, "clusterUuid": "A String", # [Output-only] A cluster UUID (Unique Universal Identifier). Cloud Dataproc generates this value when it creates the cluster. - "clusterName": "A String", # [Required] The cluster name. Cluster names within a project must be unique. Names from deleted clusters can be reused. + "clusterName": "A String", # [Required] The cluster name. Cluster names within a project must be unique. Names of deleted clusters can be reused. "projectId": "A String", # [Required] The Google Cloud Platform project ID that the cluster belongs to. - "statusHistory": [ # [Output-only] Previous cluster statuses. + "statusHistory": [ # [Output-only] The previous cluster status. { # The status of a cluster and its instances. "state": "A String", # The cluster's state. "stateStartTime": "A String", # Time when this state was entered. @@ -336,19 +336,19 @@

Method Details

"config": { # The cluster config. # [Required] The cluster config. Note that Cloud Dataproc may set default values, and values may change when clusters are updated. "softwareConfig": { # Specifies the selection and config of software inside the cluster. # [Optional] The config settings for software inside the cluster. "imageVersion": "A String", # [Optional] The version of software inside the cluster. It must match the regular expression `[0-9]+\.[0-9]+`. If unspecified, it defaults to the latest version (see [Cloud Dataproc Versioning](/dataproc/versioning)). - "properties": { # [Optional] The properties to set on daemon config files. Property keys are specified in "prefix:property" format, such as "core:fs.defaultFS". The following are supported prefixes and their mappings: core - core-site.xml hdfs - hdfs-site.xml mapred - mapred-site.xml yarn - yarn-site.xml hive - hive-site.xml pig - pig.properties spark - spark-defaults.conf + "properties": { # [Optional] The properties to set on daemon config files. Property keys are specified in `prefix:property` format, such as `core:fs.defaultFS`. The following are supported prefixes and their mappings: * core: `core-site.xml` * hdfs: `hdfs-site.xml` * mapred: `mapred-site.xml` * yarn: `yarn-site.xml` * hive: `hive-site.xml` * pig: `pig.properties` * spark: `spark-defaults.conf` "a_key": "A String", }, }, "configBucket": "A String", # [Optional] A Google Cloud Storage staging bucket used for sharing generated SSH keys and config. If you do not specify a staging bucket, Cloud Dataproc will determine an appropriate Cloud Storage location (US, ASIA, or EU) for your cluster's staging bucket according to the Google Compute Engine zone where your cluster is deployed, and then it will create and manage this project-level, per-location bucket for you. - "gceClusterConfig": { # Common config settings for resources of Google Compute Engine cluster instances, applicable to all instances in the cluster. # [Optional] The shared Google Compute Engine config settings for all instances in a cluster. + "gceClusterConfig": { # Common config settings for resources of Google Compute Engine cluster instances, applicable to all instances in the cluster. # [Required] The shared Google Compute Engine config settings for all instances in a cluster. "networkUri": "A String", # The Google Compute Engine network to be used for machine communications. Cannot be specified with subnetwork_uri. If neither network_uri nor subnetwork_uri is specified, the "default" network of the project is used, if it exists. Cannot be a "Custom Subnet Network" (see https://cloud.google.com/compute/docs/subnetworks for more information). Example: `https://www.googleapis.com/compute/v1/projects/[project_id]/regions/global/default`. "tags": [ # The Google Compute Engine tags to add to all instances. "A String", ], "zoneUri": "A String", # [Required] The zone where the Google Compute Engine cluster will be located. Example: `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]`. "subnetworkUri": "A String", # The Google Compute Engine subnetwork to be used for machine communications. Cannot be specified with network_uri. Example: `https://www.googleapis.com/compute/v1/projects/[project_id]/regions/us-east1/sub0`. - "serviceAccountScopes": [ # The URIs of service account scopes to be included in Google Compute Engine instances. The following base set of scopes is always included: - https://www.googleapis.com/auth/cloud.useraccounts.readonly - https://www.googleapis.com/auth/devstorage.read_write - https://www.googleapis.com/auth/logging.write If no scopes are specfied, the following defaults are also provided: - https://www.googleapis.com/auth/bigquery - https://www.googleapis.com/auth/bigtable.admin.table - https://www.googleapis.com/auth/bigtable.data - https://www.googleapis.com/auth/devstorage.full_control + "serviceAccountScopes": [ # The URIs of service account scopes to be included in Google Compute Engine instances. The following base set of scopes is always included: * https://www.googleapis.com/auth/cloud.useraccounts.readonly * https://www.googleapis.com/auth/devstorage.read_write * https://www.googleapis.com/auth/logging.write If no scopes are specfied, the following defaults are also provided: * https://www.googleapis.com/auth/bigquery * https://www.googleapis.com/auth/bigtable.admin.table * https://www.googleapis.com/auth/bigtable.data * https://www.googleapis.com/auth/devstorage.full_control "A String", ], "metadata": { # The Google Compute Engine metadata entries to add to all instances. @@ -358,7 +358,7 @@

Method Details

"workerConfig": { # The config settings for Google Compute Engine resources in an instance group, such as a master or worker group. # [Optional] The Google Compute Engine config settings for worker instances in a cluster. "isPreemptible": True or False, # Specifies that this instance group contains Preemptible Instances. "machineTypeUri": "A String", # The Google Compute Engine machine type used for cluster instances. Example: `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2`. - "instanceNames": [ # The list of instance names. Dataproc derives the names from `cluster_name`, `num_instances`, and the instance group if not set by user (recommended practice is to let Dataproc derive the name). + "instanceNames": [ # The list of instance names. Cloud Dataproc derives the names from `cluster_name`, `num_instances`, and the instance group if not set by user (recommended practice is to let Cloud Dataproc derive the name). "A String", ], "diskConfig": { # Specifies the config of disk options for a group of VM instances. # Disk option config settings. @@ -381,7 +381,7 @@

Method Details

"secondaryWorkerConfig": { # The config settings for Google Compute Engine resources in an instance group, such as a master or worker group. # [Optional] The Google Compute Engine config settings for additional worker instances in a cluster. "isPreemptible": True or False, # Specifies that this instance group contains Preemptible Instances. "machineTypeUri": "A String", # The Google Compute Engine machine type used for cluster instances. Example: `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2`. - "instanceNames": [ # The list of instance names. Dataproc derives the names from `cluster_name`, `num_instances`, and the instance group if not set by user (recommended practice is to let Dataproc derive the name). + "instanceNames": [ # The list of instance names. Cloud Dataproc derives the names from `cluster_name`, `num_instances`, and the instance group if not set by user (recommended practice is to let Cloud Dataproc derive the name). "A String", ], "diskConfig": { # Specifies the config of disk options for a group of VM instances. # Disk option config settings. @@ -398,7 +398,7 @@

Method Details

"masterConfig": { # The config settings for Google Compute Engine resources in an instance group, such as a master or worker group. # [Optional] The Google Compute Engine config settings for the master instance in a cluster. "isPreemptible": True or False, # Specifies that this instance group contains Preemptible Instances. "machineTypeUri": "A String", # The Google Compute Engine machine type used for cluster instances. Example: `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2`. - "instanceNames": [ # The list of instance names. Dataproc derives the names from `cluster_name`, `num_instances`, and the instance group if not set by user (recommended practice is to let Dataproc derive the name). + "instanceNames": [ # The list of instance names. Cloud Dataproc derives the names from `cluster_name`, `num_instances`, and the instance group if not set by user (recommended practice is to let Cloud Dataproc derive the name). "A String", ], "diskConfig": { # Specifies the config of disk options for a group of VM instances. # Disk option config settings. @@ -422,7 +422,7 @@

Method Details

Args: projectId: string, [Required] The ID of the Google Cloud Platform project that the cluster belongs to. (required) - region: string, [Required] The Dataproc region in which to handle the request. (required) + region: string, [Required] The Cloud Dataproc region in which to handle the request. (required) pageSize: integer, The standard List page size. pageToken: string, The standard List page token. x__xgafv: string, V1 error format. @@ -431,7 +431,7 @@

Method Details

An object of the form: { # The list of all clusters in a project. - "nextPageToken": "A String", # The standard List next-page token. + "nextPageToken": "A String", # [Optional] This token is included in the response if there are more results to fetch. To fetch additional results, provide this value as the `page_token` in a subsequent ListClustersRequest. "clusters": [ # [Output-only] The clusters in the project. { # Describes the identifying information, config, and status of a cluster of Google Compute Engine instances. "status": { # The status of a cluster and its instances. # [Output-only] Cluster status. @@ -440,9 +440,9 @@

Method Details

"detail": "A String", # Optional details of cluster's state. }, "clusterUuid": "A String", # [Output-only] A cluster UUID (Unique Universal Identifier). Cloud Dataproc generates this value when it creates the cluster. - "clusterName": "A String", # [Required] The cluster name. Cluster names within a project must be unique. Names from deleted clusters can be reused. + "clusterName": "A String", # [Required] The cluster name. Cluster names within a project must be unique. Names of deleted clusters can be reused. "projectId": "A String", # [Required] The Google Cloud Platform project ID that the cluster belongs to. - "statusHistory": [ # [Output-only] Previous cluster statuses. + "statusHistory": [ # [Output-only] The previous cluster status. { # The status of a cluster and its instances. "state": "A String", # The cluster's state. "stateStartTime": "A String", # Time when this state was entered. @@ -452,19 +452,19 @@

Method Details

"config": { # The cluster config. # [Required] The cluster config. Note that Cloud Dataproc may set default values, and values may change when clusters are updated. "softwareConfig": { # Specifies the selection and config of software inside the cluster. # [Optional] The config settings for software inside the cluster. "imageVersion": "A String", # [Optional] The version of software inside the cluster. It must match the regular expression `[0-9]+\.[0-9]+`. If unspecified, it defaults to the latest version (see [Cloud Dataproc Versioning](/dataproc/versioning)). - "properties": { # [Optional] The properties to set on daemon config files. Property keys are specified in "prefix:property" format, such as "core:fs.defaultFS". The following are supported prefixes and their mappings: core - core-site.xml hdfs - hdfs-site.xml mapred - mapred-site.xml yarn - yarn-site.xml hive - hive-site.xml pig - pig.properties spark - spark-defaults.conf + "properties": { # [Optional] The properties to set on daemon config files. Property keys are specified in `prefix:property` format, such as `core:fs.defaultFS`. The following are supported prefixes and their mappings: * core: `core-site.xml` * hdfs: `hdfs-site.xml` * mapred: `mapred-site.xml` * yarn: `yarn-site.xml` * hive: `hive-site.xml` * pig: `pig.properties` * spark: `spark-defaults.conf` "a_key": "A String", }, }, "configBucket": "A String", # [Optional] A Google Cloud Storage staging bucket used for sharing generated SSH keys and config. If you do not specify a staging bucket, Cloud Dataproc will determine an appropriate Cloud Storage location (US, ASIA, or EU) for your cluster's staging bucket according to the Google Compute Engine zone where your cluster is deployed, and then it will create and manage this project-level, per-location bucket for you. - "gceClusterConfig": { # Common config settings for resources of Google Compute Engine cluster instances, applicable to all instances in the cluster. # [Optional] The shared Google Compute Engine config settings for all instances in a cluster. + "gceClusterConfig": { # Common config settings for resources of Google Compute Engine cluster instances, applicable to all instances in the cluster. # [Required] The shared Google Compute Engine config settings for all instances in a cluster. "networkUri": "A String", # The Google Compute Engine network to be used for machine communications. Cannot be specified with subnetwork_uri. If neither network_uri nor subnetwork_uri is specified, the "default" network of the project is used, if it exists. Cannot be a "Custom Subnet Network" (see https://cloud.google.com/compute/docs/subnetworks for more information). Example: `https://www.googleapis.com/compute/v1/projects/[project_id]/regions/global/default`. "tags": [ # The Google Compute Engine tags to add to all instances. "A String", ], "zoneUri": "A String", # [Required] The zone where the Google Compute Engine cluster will be located. Example: `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]`. "subnetworkUri": "A String", # The Google Compute Engine subnetwork to be used for machine communications. Cannot be specified with network_uri. Example: `https://www.googleapis.com/compute/v1/projects/[project_id]/regions/us-east1/sub0`. - "serviceAccountScopes": [ # The URIs of service account scopes to be included in Google Compute Engine instances. The following base set of scopes is always included: - https://www.googleapis.com/auth/cloud.useraccounts.readonly - https://www.googleapis.com/auth/devstorage.read_write - https://www.googleapis.com/auth/logging.write If no scopes are specfied, the following defaults are also provided: - https://www.googleapis.com/auth/bigquery - https://www.googleapis.com/auth/bigtable.admin.table - https://www.googleapis.com/auth/bigtable.data - https://www.googleapis.com/auth/devstorage.full_control + "serviceAccountScopes": [ # The URIs of service account scopes to be included in Google Compute Engine instances. The following base set of scopes is always included: * https://www.googleapis.com/auth/cloud.useraccounts.readonly * https://www.googleapis.com/auth/devstorage.read_write * https://www.googleapis.com/auth/logging.write If no scopes are specfied, the following defaults are also provided: * https://www.googleapis.com/auth/bigquery * https://www.googleapis.com/auth/bigtable.admin.table * https://www.googleapis.com/auth/bigtable.data * https://www.googleapis.com/auth/devstorage.full_control "A String", ], "metadata": { # The Google Compute Engine metadata entries to add to all instances. @@ -474,7 +474,7 @@

Method Details

"workerConfig": { # The config settings for Google Compute Engine resources in an instance group, such as a master or worker group. # [Optional] The Google Compute Engine config settings for worker instances in a cluster. "isPreemptible": True or False, # Specifies that this instance group contains Preemptible Instances. "machineTypeUri": "A String", # The Google Compute Engine machine type used for cluster instances. Example: `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2`. - "instanceNames": [ # The list of instance names. Dataproc derives the names from `cluster_name`, `num_instances`, and the instance group if not set by user (recommended practice is to let Dataproc derive the name). + "instanceNames": [ # The list of instance names. Cloud Dataproc derives the names from `cluster_name`, `num_instances`, and the instance group if not set by user (recommended practice is to let Cloud Dataproc derive the name). "A String", ], "diskConfig": { # Specifies the config of disk options for a group of VM instances. # Disk option config settings. @@ -497,7 +497,7 @@

Method Details

"secondaryWorkerConfig": { # The config settings for Google Compute Engine resources in an instance group, such as a master or worker group. # [Optional] The Google Compute Engine config settings for additional worker instances in a cluster. "isPreemptible": True or False, # Specifies that this instance group contains Preemptible Instances. "machineTypeUri": "A String", # The Google Compute Engine machine type used for cluster instances. Example: `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2`. - "instanceNames": [ # The list of instance names. Dataproc derives the names from `cluster_name`, `num_instances`, and the instance group if not set by user (recommended practice is to let Dataproc derive the name). + "instanceNames": [ # The list of instance names. Cloud Dataproc derives the names from `cluster_name`, `num_instances`, and the instance group if not set by user (recommended practice is to let Cloud Dataproc derive the name). "A String", ], "diskConfig": { # Specifies the config of disk options for a group of VM instances. # Disk option config settings. @@ -514,7 +514,7 @@

Method Details

"masterConfig": { # The config settings for Google Compute Engine resources in an instance group, such as a master or worker group. # [Optional] The Google Compute Engine config settings for the master instance in a cluster. "isPreemptible": True or False, # Specifies that this instance group contains Preemptible Instances. "machineTypeUri": "A String", # The Google Compute Engine machine type used for cluster instances. Example: `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2`. - "instanceNames": [ # The list of instance names. Dataproc derives the names from `cluster_name`, `num_instances`, and the instance group if not set by user (recommended practice is to let Dataproc derive the name). + "instanceNames": [ # The list of instance names. Cloud Dataproc derives the names from `cluster_name`, `num_instances`, and the instance group if not set by user (recommended practice is to let Cloud Dataproc derive the name). "A String", ], "diskConfig": { # Specifies the config of disk options for a group of VM instances. # Disk option config settings. @@ -554,7 +554,7 @@

Method Details

Args: projectId: string, [Required] The ID of the Google Cloud Platform project the cluster belongs to. (required) - region: string, [Required] The Dataproc region in which to handle the request. (required) + region: string, [Required] The Cloud Dataproc region in which to handle the request. (required) clusterName: string, [Required] The cluster name. (required) body: object, The request body. (required) The object takes the form of: @@ -566,9 +566,9 @@

Method Details

"detail": "A String", # Optional details of cluster's state. }, "clusterUuid": "A String", # [Output-only] A cluster UUID (Unique Universal Identifier). Cloud Dataproc generates this value when it creates the cluster. - "clusterName": "A String", # [Required] The cluster name. Cluster names within a project must be unique. Names from deleted clusters can be reused. + "clusterName": "A String", # [Required] The cluster name. Cluster names within a project must be unique. Names of deleted clusters can be reused. "projectId": "A String", # [Required] The Google Cloud Platform project ID that the cluster belongs to. - "statusHistory": [ # [Output-only] Previous cluster statuses. + "statusHistory": [ # [Output-only] The previous cluster status. { # The status of a cluster and its instances. "state": "A String", # The cluster's state. "stateStartTime": "A String", # Time when this state was entered. @@ -578,19 +578,19 @@

Method Details

"config": { # The cluster config. # [Required] The cluster config. Note that Cloud Dataproc may set default values, and values may change when clusters are updated. "softwareConfig": { # Specifies the selection and config of software inside the cluster. # [Optional] The config settings for software inside the cluster. "imageVersion": "A String", # [Optional] The version of software inside the cluster. It must match the regular expression `[0-9]+\.[0-9]+`. If unspecified, it defaults to the latest version (see [Cloud Dataproc Versioning](/dataproc/versioning)). - "properties": { # [Optional] The properties to set on daemon config files. Property keys are specified in "prefix:property" format, such as "core:fs.defaultFS". The following are supported prefixes and their mappings: core - core-site.xml hdfs - hdfs-site.xml mapred - mapred-site.xml yarn - yarn-site.xml hive - hive-site.xml pig - pig.properties spark - spark-defaults.conf + "properties": { # [Optional] The properties to set on daemon config files. Property keys are specified in `prefix:property` format, such as `core:fs.defaultFS`. The following are supported prefixes and their mappings: * core: `core-site.xml` * hdfs: `hdfs-site.xml` * mapred: `mapred-site.xml` * yarn: `yarn-site.xml` * hive: `hive-site.xml` * pig: `pig.properties` * spark: `spark-defaults.conf` "a_key": "A String", }, }, "configBucket": "A String", # [Optional] A Google Cloud Storage staging bucket used for sharing generated SSH keys and config. If you do not specify a staging bucket, Cloud Dataproc will determine an appropriate Cloud Storage location (US, ASIA, or EU) for your cluster's staging bucket according to the Google Compute Engine zone where your cluster is deployed, and then it will create and manage this project-level, per-location bucket for you. - "gceClusterConfig": { # Common config settings for resources of Google Compute Engine cluster instances, applicable to all instances in the cluster. # [Optional] The shared Google Compute Engine config settings for all instances in a cluster. + "gceClusterConfig": { # Common config settings for resources of Google Compute Engine cluster instances, applicable to all instances in the cluster. # [Required] The shared Google Compute Engine config settings for all instances in a cluster. "networkUri": "A String", # The Google Compute Engine network to be used for machine communications. Cannot be specified with subnetwork_uri. If neither network_uri nor subnetwork_uri is specified, the "default" network of the project is used, if it exists. Cannot be a "Custom Subnet Network" (see https://cloud.google.com/compute/docs/subnetworks for more information). Example: `https://www.googleapis.com/compute/v1/projects/[project_id]/regions/global/default`. "tags": [ # The Google Compute Engine tags to add to all instances. "A String", ], "zoneUri": "A String", # [Required] The zone where the Google Compute Engine cluster will be located. Example: `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]`. "subnetworkUri": "A String", # The Google Compute Engine subnetwork to be used for machine communications. Cannot be specified with network_uri. Example: `https://www.googleapis.com/compute/v1/projects/[project_id]/regions/us-east1/sub0`. - "serviceAccountScopes": [ # The URIs of service account scopes to be included in Google Compute Engine instances. The following base set of scopes is always included: - https://www.googleapis.com/auth/cloud.useraccounts.readonly - https://www.googleapis.com/auth/devstorage.read_write - https://www.googleapis.com/auth/logging.write If no scopes are specfied, the following defaults are also provided: - https://www.googleapis.com/auth/bigquery - https://www.googleapis.com/auth/bigtable.admin.table - https://www.googleapis.com/auth/bigtable.data - https://www.googleapis.com/auth/devstorage.full_control + "serviceAccountScopes": [ # The URIs of service account scopes to be included in Google Compute Engine instances. The following base set of scopes is always included: * https://www.googleapis.com/auth/cloud.useraccounts.readonly * https://www.googleapis.com/auth/devstorage.read_write * https://www.googleapis.com/auth/logging.write If no scopes are specfied, the following defaults are also provided: * https://www.googleapis.com/auth/bigquery * https://www.googleapis.com/auth/bigtable.admin.table * https://www.googleapis.com/auth/bigtable.data * https://www.googleapis.com/auth/devstorage.full_control "A String", ], "metadata": { # The Google Compute Engine metadata entries to add to all instances. @@ -600,7 +600,7 @@

Method Details

"workerConfig": { # The config settings for Google Compute Engine resources in an instance group, such as a master or worker group. # [Optional] The Google Compute Engine config settings for worker instances in a cluster. "isPreemptible": True or False, # Specifies that this instance group contains Preemptible Instances. "machineTypeUri": "A String", # The Google Compute Engine machine type used for cluster instances. Example: `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2`. - "instanceNames": [ # The list of instance names. Dataproc derives the names from `cluster_name`, `num_instances`, and the instance group if not set by user (recommended practice is to let Dataproc derive the name). + "instanceNames": [ # The list of instance names. Cloud Dataproc derives the names from `cluster_name`, `num_instances`, and the instance group if not set by user (recommended practice is to let Cloud Dataproc derive the name). "A String", ], "diskConfig": { # Specifies the config of disk options for a group of VM instances. # Disk option config settings. @@ -623,7 +623,7 @@

Method Details

"secondaryWorkerConfig": { # The config settings for Google Compute Engine resources in an instance group, such as a master or worker group. # [Optional] The Google Compute Engine config settings for additional worker instances in a cluster. "isPreemptible": True or False, # Specifies that this instance group contains Preemptible Instances. "machineTypeUri": "A String", # The Google Compute Engine machine type used for cluster instances. Example: `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2`. - "instanceNames": [ # The list of instance names. Dataproc derives the names from `cluster_name`, `num_instances`, and the instance group if not set by user (recommended practice is to let Dataproc derive the name). + "instanceNames": [ # The list of instance names. Cloud Dataproc derives the names from `cluster_name`, `num_instances`, and the instance group if not set by user (recommended practice is to let Cloud Dataproc derive the name). "A String", ], "diskConfig": { # Specifies the config of disk options for a group of VM instances. # Disk option config settings. @@ -640,7 +640,7 @@

Method Details

"masterConfig": { # The config settings for Google Compute Engine resources in an instance group, such as a master or worker group. # [Optional] The Google Compute Engine config settings for the master instance in a cluster. "isPreemptible": True or False, # Specifies that this instance group contains Preemptible Instances. "machineTypeUri": "A String", # The Google Compute Engine machine type used for cluster instances. Example: `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2`. - "instanceNames": [ # The list of instance names. Dataproc derives the names from `cluster_name`, `num_instances`, and the instance group if not set by user (recommended practice is to let Dataproc derive the name). + "instanceNames": [ # The list of instance names. Cloud Dataproc derives the names from `cluster_name`, `num_instances`, and the instance group if not set by user (recommended practice is to let Cloud Dataproc derive the name). "A String", ], "diskConfig": { # Specifies the config of disk options for a group of VM instances. # Disk option config settings. @@ -657,7 +657,7 @@

Method Details

}, } - updateMask: string, [Required] Specifies the path, relative to Cluster, of the field to update. For example, to change the number of workers in a cluster to 5, the update_mask parameter would be specified as config.worker_config.num_instances, and the `PATCH` request body would specify the new value, as follows: { "config":{ "workerConfig":{ "numInstances":"5" } } } Note: Currently, config.worker_config.num_instances is the only field that can be updated. + updateMask: string, [Required] Specifies the path, relative to Cluster, of the field to update. For example, to change the number of workers in a cluster to 5, the update_mask parameter would be specified as config.worker_config.num_instances, and the `PATCH` request body would specify the new value, as follows: { "config":{ "workerConfig":{ "numInstances":"5" } } } Similarly, to change the number of preemptible workers in a cluster to 5, the update_mask parameter would be config.secondary_worker_config.num_instances, and the `PATCH` request body would be set as follows: { "config":{ "secondaryWorkerConfig":{ "numInstances":"5" } } } Note: Currently, config.worker_config.num_instances and config.secondary_worker_config.num_instances are the only fields that can be updated. x__xgafv: string, V1 error format. Returns: @@ -677,7 +677,7 @@

Method Details

], }, "done": True or False, # If the value is `false`, it means the operation is still in progress. If true, the operation is completed, and either `error` or `response` is available. - "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping above, the `name` should have the format of `operations/some/unique/name`. + "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should have the format of `operations/some/unique/name`. "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. "a_key": "", # Properties of the object. Contains field @ype with type URL. }, diff --git a/docs/dyn/dataproc_v1.projects.regions.jobs.html b/docs/dyn/dataproc_v1.projects.regions.jobs.html index 0b7aa51f608..e3f6df989a5 100644 --- a/docs/dyn/dataproc_v1.projects.regions.jobs.html +++ b/docs/dyn/dataproc_v1.projects.regions.jobs.html @@ -76,7 +76,7 @@

Google Cloud Dataproc API . cancel(projectId, region, jobId, body, x__xgafv=None)

-

Starts a job cancellation request. To access the job resource after cancellation, call [regions/{region}/jobs.list](/dataproc/reference/rest/v1/projects.regions/{region}/jobs/list) or [regions/{region}/jobs.get](/dataproc/reference/rest/v1/projects.regions/{region}/jobs/get).

+

Starts a job cancellation request. To access the job resource after cancellation, call [regions/{region}/jobs.list](/dataproc/reference/rest/v1/projects.regions.jobs/list) or [regions/{region}/jobs.get](/dataproc/reference/rest/v1/projects.regions.jobs/get).

delete(projectId, region, jobId, x__xgafv=None)

Deletes the job from the project. If the job is active, the delete fails, and the response returns `FAILED_PRECONDITION`.

@@ -95,11 +95,11 @@

Instance Methods

Method Details

cancel(projectId, region, jobId, body, x__xgafv=None) -
Starts a job cancellation request. To access the job resource after cancellation, call [regions/{region}/jobs.list](/dataproc/reference/rest/v1/projects.regions/{region}/jobs/list) or [regions/{region}/jobs.get](/dataproc/reference/rest/v1/projects.regions/{region}/jobs/get).
+  
Starts a job cancellation request. To access the job resource after cancellation, call [regions/{region}/jobs.list](/dataproc/reference/rest/v1/projects.regions.jobs/list) or [regions/{region}/jobs.get](/dataproc/reference/rest/v1/projects.regions.jobs/get).
 
 Args:
   projectId: string, [Required] The ID of the Google Cloud Platform project that the job belongs to. (required)
-  region: string, [Required] The Dataproc region in which to handle the request. (required)
+  region: string, [Required] The Cloud Dataproc region in which to handle the request. (required)
   jobId: string, [Required] The job ID. (required)
   body: object, The request body. (required)
     The object takes the form of:
@@ -130,14 +130,14 @@ 

Method Details

"args": [ # [Optional] The arguments to pass to the driver. Do not include arguments, such as `-libjars` or `-Dfoo=bar`, that can be set as job properties, since a collision may occur that causes an incorrect job submission. "A String", ], - "fileUris": [ # [Optional] HCFS URIs of files to be copied to the working directory of Hadoop drivers and distributed tasks. Useful for naively parallel tasks. + "fileUris": [ # [Optional] HCFS (Hadoop Compatible Filesystem) URIs of files to be copied to the working directory of Hadoop drivers and distributed tasks. Useful for naively parallel tasks. "A String", ], "mainClass": "A String", # The name of the driver's main class. The jar file containing the class must be in the default CLASSPATH or specified in `jar_file_uris`. "archiveUris": [ # [Optional] HCFS URIs of archives to be extracted in the working directory of Hadoop drivers and tasks. Supported file types: .jar, .tar, .tar.gz, .tgz, or .zip. "A String", ], - "mainJarFileUri": "A String", # The Hadoop Compatible Filesystem (HCFS) URI of the jar file containing the main class. Examples: 'gs://foo-bucket/analytics-binaries/extract-useful-metrics-mr.jar' 'hdfs:/tmp/test-samples/custom-wordcount.jar' 'file:///home/usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar' + "mainJarFileUri": "A String", # The HCFS URI of the jar file containing the main class. Examples: 'gs://foo-bucket/analytics-binaries/extract-useful-metrics-mr.jar' 'hdfs:/tmp/test-samples/custom-wordcount.jar' 'file:///home/usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar' "properties": { # [Optional] A mapping of property names to values, used to configure Hadoop. Properties that conflict with values set by the Cloud Dataproc API may be overwritten. Can include properties set in /etc/hadoop/conf/*-site and classes in user code. "a_key": "A String", }, @@ -151,7 +151,7 @@

Method Details

], "placement": { # Cloud Dataproc job config. # [Required] Job information, including how, when, and where to run the job. "clusterName": "A String", # [Required] The name of the cluster where the job will be submitted. - "clusterUuid": "A String", # [Output-only] A cluster UUID generated by the Dataproc service when the job is submitted. + "clusterUuid": "A String", # [Output-only] A cluster UUID generated by the Cloud Dataproc service when the job is submitted. }, "reference": { # Encapsulates the full scoping used to reference a job. # [Optional] The fully qualified reference to the job, which can be used to obtain the equivalent REST path of the job resource. If this property is not specified when a job is created, the server generates a job_id. "projectId": "A String", # [Required] The ID of the Google Cloud Platform project that the job belongs to. @@ -223,13 +223,13 @@

Method Details

"archiveUris": [ # [Optional] HCFS URIs of archives to be extracted in the working directory of Spark drivers and tasks. Supported file types: .jar, .tar, .tar.gz, .tgz, and .zip. "A String", ], - "mainJarFileUri": "A String", # The Hadoop Compatible Filesystem (HCFS) URI of the jar file that contains the main class. + "mainJarFileUri": "A String", # The HCFS URI of the jar file that contains the main class. "properties": { # [Optional] A mapping of property names to values, used to configure Spark. Properties that conflict with values set by the Cloud Dataproc API may be overwritten. Can include properties set in /etc/spark/conf/spark-defaults.conf and classes in user code. "a_key": "A String", }, }, "pysparkJob": { # A Cloud Dataproc job for running PySpark applications on YARN. # Job is a Pyspark job. - "mainPythonFileUri": "A String", # [Required] The Hadoop Compatible Filesystem (HCFS) URI of the main Python file to use as the driver. Must be a .py file. + "mainPythonFileUri": "A String", # [Required] The HCFS URI of the main Python file to use as the driver. Must be a .py file. "args": [ # [Optional] The arguments to pass to the driver. Do not include arguments, such as `--conf`, that can be set as job properties, since a collision may occur that causes an incorrect job submission. "A String", ], @@ -281,7 +281,7 @@

Method Details

Args: projectId: string, [Required] The ID of the Google Cloud Platform project that the job belongs to. (required) - region: string, [Required] The Dataproc region in which to handle the request. (required) + region: string, [Required] The Cloud Dataproc region in which to handle the request. (required) jobId: string, [Required] The job ID. (required) x__xgafv: string, V1 error format. @@ -298,7 +298,7 @@

Method Details

Args: projectId: string, [Required] The ID of the Google Cloud Platform project that the job belongs to. (required) - region: string, [Required] The Dataproc region in which to handle the request. (required) + region: string, [Required] The Cloud Dataproc region in which to handle the request. (required) jobId: string, [Required] The job ID. (required) x__xgafv: string, V1 error format. @@ -323,14 +323,14 @@

Method Details

"args": [ # [Optional] The arguments to pass to the driver. Do not include arguments, such as `-libjars` or `-Dfoo=bar`, that can be set as job properties, since a collision may occur that causes an incorrect job submission. "A String", ], - "fileUris": [ # [Optional] HCFS URIs of files to be copied to the working directory of Hadoop drivers and distributed tasks. Useful for naively parallel tasks. + "fileUris": [ # [Optional] HCFS (Hadoop Compatible Filesystem) URIs of files to be copied to the working directory of Hadoop drivers and distributed tasks. Useful for naively parallel tasks. "A String", ], "mainClass": "A String", # The name of the driver's main class. The jar file containing the class must be in the default CLASSPATH or specified in `jar_file_uris`. "archiveUris": [ # [Optional] HCFS URIs of archives to be extracted in the working directory of Hadoop drivers and tasks. Supported file types: .jar, .tar, .tar.gz, .tgz, or .zip. "A String", ], - "mainJarFileUri": "A String", # The Hadoop Compatible Filesystem (HCFS) URI of the jar file containing the main class. Examples: 'gs://foo-bucket/analytics-binaries/extract-useful-metrics-mr.jar' 'hdfs:/tmp/test-samples/custom-wordcount.jar' 'file:///home/usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar' + "mainJarFileUri": "A String", # The HCFS URI of the jar file containing the main class. Examples: 'gs://foo-bucket/analytics-binaries/extract-useful-metrics-mr.jar' 'hdfs:/tmp/test-samples/custom-wordcount.jar' 'file:///home/usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar' "properties": { # [Optional] A mapping of property names to values, used to configure Hadoop. Properties that conflict with values set by the Cloud Dataproc API may be overwritten. Can include properties set in /etc/hadoop/conf/*-site and classes in user code. "a_key": "A String", }, @@ -344,7 +344,7 @@

Method Details

], "placement": { # Cloud Dataproc job config. # [Required] Job information, including how, when, and where to run the job. "clusterName": "A String", # [Required] The name of the cluster where the job will be submitted. - "clusterUuid": "A String", # [Output-only] A cluster UUID generated by the Dataproc service when the job is submitted. + "clusterUuid": "A String", # [Output-only] A cluster UUID generated by the Cloud Dataproc service when the job is submitted. }, "reference": { # Encapsulates the full scoping used to reference a job. # [Optional] The fully qualified reference to the job, which can be used to obtain the equivalent REST path of the job resource. If this property is not specified when a job is created, the server generates a job_id. "projectId": "A String", # [Required] The ID of the Google Cloud Platform project that the job belongs to. @@ -416,13 +416,13 @@

Method Details

"archiveUris": [ # [Optional] HCFS URIs of archives to be extracted in the working directory of Spark drivers and tasks. Supported file types: .jar, .tar, .tar.gz, .tgz, and .zip. "A String", ], - "mainJarFileUri": "A String", # The Hadoop Compatible Filesystem (HCFS) URI of the jar file that contains the main class. + "mainJarFileUri": "A String", # The HCFS URI of the jar file that contains the main class. "properties": { # [Optional] A mapping of property names to values, used to configure Spark. Properties that conflict with values set by the Cloud Dataproc API may be overwritten. Can include properties set in /etc/spark/conf/spark-defaults.conf and classes in user code. "a_key": "A String", }, }, "pysparkJob": { # A Cloud Dataproc job for running PySpark applications on YARN. # Job is a Pyspark job. - "mainPythonFileUri": "A String", # [Required] The Hadoop Compatible Filesystem (HCFS) URI of the main Python file to use as the driver. Must be a .py file. + "mainPythonFileUri": "A String", # [Required] The HCFS URI of the main Python file to use as the driver. Must be a .py file. "args": [ # [Optional] The arguments to pass to the driver. Do not include arguments, such as `--conf`, that can be set as job properties, since a collision may occur that causes an incorrect job submission. "A String", ], @@ -474,7 +474,7 @@

Method Details

Args: projectId: string, [Required] The ID of the Google Cloud Platform project that the job belongs to. (required) - region: string, [Required] The Dataproc region in which to handle the request. (required) + region: string, [Required] The Cloud Dataproc region in which to handle the request. (required) pageSize: integer, [Optional] The number of results to return in each response. x__xgafv: string, V1 error format. jobStateMatcher: string, [Optional] Specifies enumerated categories of jobs to list. @@ -505,14 +505,14 @@

Method Details

"args": [ # [Optional] The arguments to pass to the driver. Do not include arguments, such as `-libjars` or `-Dfoo=bar`, that can be set as job properties, since a collision may occur that causes an incorrect job submission. "A String", ], - "fileUris": [ # [Optional] HCFS URIs of files to be copied to the working directory of Hadoop drivers and distributed tasks. Useful for naively parallel tasks. + "fileUris": [ # [Optional] HCFS (Hadoop Compatible Filesystem) URIs of files to be copied to the working directory of Hadoop drivers and distributed tasks. Useful for naively parallel tasks. "A String", ], "mainClass": "A String", # The name of the driver's main class. The jar file containing the class must be in the default CLASSPATH or specified in `jar_file_uris`. "archiveUris": [ # [Optional] HCFS URIs of archives to be extracted in the working directory of Hadoop drivers and tasks. Supported file types: .jar, .tar, .tar.gz, .tgz, or .zip. "A String", ], - "mainJarFileUri": "A String", # The Hadoop Compatible Filesystem (HCFS) URI of the jar file containing the main class. Examples: 'gs://foo-bucket/analytics-binaries/extract-useful-metrics-mr.jar' 'hdfs:/tmp/test-samples/custom-wordcount.jar' 'file:///home/usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar' + "mainJarFileUri": "A String", # The HCFS URI of the jar file containing the main class. Examples: 'gs://foo-bucket/analytics-binaries/extract-useful-metrics-mr.jar' 'hdfs:/tmp/test-samples/custom-wordcount.jar' 'file:///home/usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar' "properties": { # [Optional] A mapping of property names to values, used to configure Hadoop. Properties that conflict with values set by the Cloud Dataproc API may be overwritten. Can include properties set in /etc/hadoop/conf/*-site and classes in user code. "a_key": "A String", }, @@ -526,7 +526,7 @@

Method Details

], "placement": { # Cloud Dataproc job config. # [Required] Job information, including how, when, and where to run the job. "clusterName": "A String", # [Required] The name of the cluster where the job will be submitted. - "clusterUuid": "A String", # [Output-only] A cluster UUID generated by the Dataproc service when the job is submitted. + "clusterUuid": "A String", # [Output-only] A cluster UUID generated by the Cloud Dataproc service when the job is submitted. }, "reference": { # Encapsulates the full scoping used to reference a job. # [Optional] The fully qualified reference to the job, which can be used to obtain the equivalent REST path of the job resource. If this property is not specified when a job is created, the server generates a job_id. "projectId": "A String", # [Required] The ID of the Google Cloud Platform project that the job belongs to. @@ -598,13 +598,13 @@

Method Details

"archiveUris": [ # [Optional] HCFS URIs of archives to be extracted in the working directory of Spark drivers and tasks. Supported file types: .jar, .tar, .tar.gz, .tgz, and .zip. "A String", ], - "mainJarFileUri": "A String", # The Hadoop Compatible Filesystem (HCFS) URI of the jar file that contains the main class. + "mainJarFileUri": "A String", # The HCFS URI of the jar file that contains the main class. "properties": { # [Optional] A mapping of property names to values, used to configure Spark. Properties that conflict with values set by the Cloud Dataproc API may be overwritten. Can include properties set in /etc/spark/conf/spark-defaults.conf and classes in user code. "a_key": "A String", }, }, "pysparkJob": { # A Cloud Dataproc job for running PySpark applications on YARN. # Job is a Pyspark job. - "mainPythonFileUri": "A String", # [Required] The Hadoop Compatible Filesystem (HCFS) URI of the main Python file to use as the driver. Must be a .py file. + "mainPythonFileUri": "A String", # [Required] The HCFS URI of the main Python file to use as the driver. Must be a .py file. "args": [ # [Optional] The arguments to pass to the driver. Do not include arguments, such as `--conf`, that can be set as job properties, since a collision may occur that causes an incorrect job submission. "A String", ], @@ -672,7 +672,7 @@

Method Details

Args: projectId: string, [Required] The ID of the Google Cloud Platform project that the job belongs to. (required) - region: string, [Required] The Dataproc region in which to handle the request. (required) + region: string, [Required] The Cloud Dataproc region in which to handle the request. (required) body: object, The request body. (required) The object takes the form of: @@ -695,14 +695,14 @@

Method Details

"args": [ # [Optional] The arguments to pass to the driver. Do not include arguments, such as `-libjars` or `-Dfoo=bar`, that can be set as job properties, since a collision may occur that causes an incorrect job submission. "A String", ], - "fileUris": [ # [Optional] HCFS URIs of files to be copied to the working directory of Hadoop drivers and distributed tasks. Useful for naively parallel tasks. + "fileUris": [ # [Optional] HCFS (Hadoop Compatible Filesystem) URIs of files to be copied to the working directory of Hadoop drivers and distributed tasks. Useful for naively parallel tasks. "A String", ], "mainClass": "A String", # The name of the driver's main class. The jar file containing the class must be in the default CLASSPATH or specified in `jar_file_uris`. "archiveUris": [ # [Optional] HCFS URIs of archives to be extracted in the working directory of Hadoop drivers and tasks. Supported file types: .jar, .tar, .tar.gz, .tgz, or .zip. "A String", ], - "mainJarFileUri": "A String", # The Hadoop Compatible Filesystem (HCFS) URI of the jar file containing the main class. Examples: 'gs://foo-bucket/analytics-binaries/extract-useful-metrics-mr.jar' 'hdfs:/tmp/test-samples/custom-wordcount.jar' 'file:///home/usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar' + "mainJarFileUri": "A String", # The HCFS URI of the jar file containing the main class. Examples: 'gs://foo-bucket/analytics-binaries/extract-useful-metrics-mr.jar' 'hdfs:/tmp/test-samples/custom-wordcount.jar' 'file:///home/usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar' "properties": { # [Optional] A mapping of property names to values, used to configure Hadoop. Properties that conflict with values set by the Cloud Dataproc API may be overwritten. Can include properties set in /etc/hadoop/conf/*-site and classes in user code. "a_key": "A String", }, @@ -716,7 +716,7 @@

Method Details

], "placement": { # Cloud Dataproc job config. # [Required] Job information, including how, when, and where to run the job. "clusterName": "A String", # [Required] The name of the cluster where the job will be submitted. - "clusterUuid": "A String", # [Output-only] A cluster UUID generated by the Dataproc service when the job is submitted. + "clusterUuid": "A String", # [Output-only] A cluster UUID generated by the Cloud Dataproc service when the job is submitted. }, "reference": { # Encapsulates the full scoping used to reference a job. # [Optional] The fully qualified reference to the job, which can be used to obtain the equivalent REST path of the job resource. If this property is not specified when a job is created, the server generates a job_id. "projectId": "A String", # [Required] The ID of the Google Cloud Platform project that the job belongs to. @@ -788,13 +788,13 @@

Method Details

"archiveUris": [ # [Optional] HCFS URIs of archives to be extracted in the working directory of Spark drivers and tasks. Supported file types: .jar, .tar, .tar.gz, .tgz, and .zip. "A String", ], - "mainJarFileUri": "A String", # The Hadoop Compatible Filesystem (HCFS) URI of the jar file that contains the main class. + "mainJarFileUri": "A String", # The HCFS URI of the jar file that contains the main class. "properties": { # [Optional] A mapping of property names to values, used to configure Spark. Properties that conflict with values set by the Cloud Dataproc API may be overwritten. Can include properties set in /etc/spark/conf/spark-defaults.conf and classes in user code. "a_key": "A String", }, }, "pysparkJob": { # A Cloud Dataproc job for running PySpark applications on YARN. # Job is a Pyspark job. - "mainPythonFileUri": "A String", # [Required] The Hadoop Compatible Filesystem (HCFS) URI of the main Python file to use as the driver. Must be a .py file. + "mainPythonFileUri": "A String", # [Required] The HCFS URI of the main Python file to use as the driver. Must be a .py file. "args": [ # [Optional] The arguments to pass to the driver. Do not include arguments, such as `--conf`, that can be set as job properties, since a collision may occur that causes an incorrect job submission. "A String", ], @@ -863,14 +863,14 @@

Method Details

"args": [ # [Optional] The arguments to pass to the driver. Do not include arguments, such as `-libjars` or `-Dfoo=bar`, that can be set as job properties, since a collision may occur that causes an incorrect job submission. "A String", ], - "fileUris": [ # [Optional] HCFS URIs of files to be copied to the working directory of Hadoop drivers and distributed tasks. Useful for naively parallel tasks. + "fileUris": [ # [Optional] HCFS (Hadoop Compatible Filesystem) URIs of files to be copied to the working directory of Hadoop drivers and distributed tasks. Useful for naively parallel tasks. "A String", ], "mainClass": "A String", # The name of the driver's main class. The jar file containing the class must be in the default CLASSPATH or specified in `jar_file_uris`. "archiveUris": [ # [Optional] HCFS URIs of archives to be extracted in the working directory of Hadoop drivers and tasks. Supported file types: .jar, .tar, .tar.gz, .tgz, or .zip. "A String", ], - "mainJarFileUri": "A String", # The Hadoop Compatible Filesystem (HCFS) URI of the jar file containing the main class. Examples: 'gs://foo-bucket/analytics-binaries/extract-useful-metrics-mr.jar' 'hdfs:/tmp/test-samples/custom-wordcount.jar' 'file:///home/usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar' + "mainJarFileUri": "A String", # The HCFS URI of the jar file containing the main class. Examples: 'gs://foo-bucket/analytics-binaries/extract-useful-metrics-mr.jar' 'hdfs:/tmp/test-samples/custom-wordcount.jar' 'file:///home/usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar' "properties": { # [Optional] A mapping of property names to values, used to configure Hadoop. Properties that conflict with values set by the Cloud Dataproc API may be overwritten. Can include properties set in /etc/hadoop/conf/*-site and classes in user code. "a_key": "A String", }, @@ -884,7 +884,7 @@

Method Details

], "placement": { # Cloud Dataproc job config. # [Required] Job information, including how, when, and where to run the job. "clusterName": "A String", # [Required] The name of the cluster where the job will be submitted. - "clusterUuid": "A String", # [Output-only] A cluster UUID generated by the Dataproc service when the job is submitted. + "clusterUuid": "A String", # [Output-only] A cluster UUID generated by the Cloud Dataproc service when the job is submitted. }, "reference": { # Encapsulates the full scoping used to reference a job. # [Optional] The fully qualified reference to the job, which can be used to obtain the equivalent REST path of the job resource. If this property is not specified when a job is created, the server generates a job_id. "projectId": "A String", # [Required] The ID of the Google Cloud Platform project that the job belongs to. @@ -956,13 +956,13 @@

Method Details

"archiveUris": [ # [Optional] HCFS URIs of archives to be extracted in the working directory of Spark drivers and tasks. Supported file types: .jar, .tar, .tar.gz, .tgz, and .zip. "A String", ], - "mainJarFileUri": "A String", # The Hadoop Compatible Filesystem (HCFS) URI of the jar file that contains the main class. + "mainJarFileUri": "A String", # The HCFS URI of the jar file that contains the main class. "properties": { # [Optional] A mapping of property names to values, used to configure Spark. Properties that conflict with values set by the Cloud Dataproc API may be overwritten. Can include properties set in /etc/spark/conf/spark-defaults.conf and classes in user code. "a_key": "A String", }, }, "pysparkJob": { # A Cloud Dataproc job for running PySpark applications on YARN. # Job is a Pyspark job. - "mainPythonFileUri": "A String", # [Required] The Hadoop Compatible Filesystem (HCFS) URI of the main Python file to use as the driver. Must be a .py file. + "mainPythonFileUri": "A String", # [Required] The HCFS URI of the main Python file to use as the driver. Must be a .py file. "args": [ # [Optional] The arguments to pass to the driver. Do not include arguments, such as `--conf`, that can be set as job properties, since a collision may occur that causes an incorrect job submission. "A String", ], diff --git a/docs/dyn/dataproc_v1.projects.regions.operations.html b/docs/dyn/dataproc_v1.projects.regions.operations.html index a81557ec41e..bc2c4617c8d 100644 --- a/docs/dyn/dataproc_v1.projects.regions.operations.html +++ b/docs/dyn/dataproc_v1.projects.regions.operations.html @@ -145,7 +145,7 @@

Method Details

], }, "done": True or False, # If the value is `false`, it means the operation is still in progress. If true, the operation is completed, and either `error` or `response` is available. - "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping above, the `name` should have the format of `operations/some/unique/name`. + "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should have the format of `operations/some/unique/name`. "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. "a_key": "", # Properties of the object. Contains field @ype with type URL. }, @@ -182,7 +182,7 @@

Method Details

], }, "done": True or False, # If the value is `false`, it means the operation is still in progress. If true, the operation is completed, and either `error` or `response` is available. - "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping above, the `name` should have the format of `operations/some/unique/name`. + "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should have the format of `operations/some/unique/name`. "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. "a_key": "", # Properties of the object. Contains field @ype with type URL. }, diff --git a/docs/dyn/datastore_v1beta3.html b/docs/dyn/datastore_v1beta3.html new file mode 100644 index 00000000000..f2d07f29ba4 --- /dev/null +++ b/docs/dyn/datastore_v1beta3.html @@ -0,0 +1,103 @@ + + + +

Google Cloud Datastore API

+

Instance Methods

+

+ projects() +

+

Returns the projects Resource.

+ +

+ new_batch_http_request()

+

Create a BatchHttpRequest object based on the discovery document.

+

Method Details

+
+ new_batch_http_request() +
Create a BatchHttpRequest object based on the discovery document.
+
+        Args:
+          callback: callable, A callback to be called for each response, of the
+            form callback(id, response, exception). The first parameter is the
+            request id, and the second is the deserialized response object. The
+            third is an apiclient.errors.HttpError exception object if an HTTP
+            error occurred while processing the request, or None if no error
+            occurred.
+
+        Returns:
+          A BatchHttpRequest object based on the discovery document.
+        
+
+ + \ No newline at end of file diff --git a/docs/dyn/datastore_v1beta3.projects.html b/docs/dyn/datastore_v1beta3.projects.html new file mode 100644 index 00000000000..7e868f5b35c --- /dev/null +++ b/docs/dyn/datastore_v1beta3.projects.html @@ -0,0 +1,2751 @@ + + + +

Google Cloud Datastore API . projects

+

Instance Methods

+

+ allocateIds(projectId, body, x__xgafv=None)

+

Allocates IDs for the given keys, which is useful for referencing an entity

+

+ beginTransaction(projectId, body, x__xgafv=None)

+

Begins a new transaction.

+

+ commit(projectId, body, x__xgafv=None)

+

Commits a transaction, optionally creating, deleting or modifying some

+

+ lookup(projectId, body, x__xgafv=None)

+

Looks up entities by key.

+

+ rollback(projectId, body, x__xgafv=None)

+

Rolls back a transaction.

+

+ runQuery(projectId, body, x__xgafv=None)

+

Queries for entities.

+

Method Details

+
+ allocateIds(projectId, body, x__xgafv=None) +
Allocates IDs for the given keys, which is useful for referencing an entity
+before it is inserted.
+
+Args:
+  projectId: string, The ID of the project against which to make the request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # The request for google.datastore.v1beta3.Datastore.AllocateIds.
+    "keys": [ # A list of keys with incomplete key paths for which to allocate IDs.
+        # No key may be reserved/read-only.
+      { # A unique identifier for an entity.
+          # If a key's partition ID or any of its path kinds or names are
+          # reserved/read-only, the key is reserved/read-only.
+          # A reserved/read-only key is forbidden in certain documented contexts.
+        "path": [ # The entity path.
+            # An entity path consists of one or more elements composed of a kind and a
+            # string or numerical identifier, which identify entities. The first
+            # element identifies a _root entity_, the second element identifies
+            # a _child_ of the root entity, the third element identifies a child of the
+            # second entity, and so forth. The entities identified by all prefixes of
+            # the path are called the element's _ancestors_.
+            #
+            # An entity path is always fully complete: *all* of the entity's ancestors
+            # are required to be in the path along with the entity identifier itself.
+            # The only exception is that in some documented cases, the identifier in the
+            # last path element (for the entity) itself may be omitted. For example,
+            # the last path element of the key of `Mutation.insert` may have no
+            # identifier.
+            #
+            # A path can never be empty, and a path can have at most 100 elements.
+          { # A (kind, ID/name) pair used to construct a key path.
+              #
+              # If either name or ID is set, the element is complete.
+              # If neither is set, the element is incomplete.
+            "kind": "A String", # The kind of the entity.
+                # A kind matching regex `__.*__` is reserved/read-only.
+                # A kind must not contain more than 1500 bytes when UTF-8 encoded.
+                # Cannot be `""`.
+            "name": "A String", # The name of the entity.
+                # A name matching regex `__.*__` is reserved/read-only.
+                # A name must not be more than 1500 bytes when UTF-8 encoded.
+                # Cannot be `""`.
+            "id": "A String", # The auto-allocated ID of the entity.
+                # Never equal to zero. Values less than zero are discouraged and may not
+                # be supported in the future.
+          },
+        ],
+        "partitionId": { # A partition ID identifies a grouping of entities. The grouping is always # Entities are partitioned into subsets, currently identified by a project
+            # ID and namespace ID.
+            # Queries are scoped to a single partition.
+            # by project and namespace, however the namespace ID may be empty.
+            #
+            # A partition ID contains several dimensions:
+            # project ID and namespace ID.
+            #
+            # Partition dimensions:
+            #
+            # - May be `""`.
+            # - Must be valid UTF-8 bytes.
+            # - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}`
+            # If the value of any dimension matches regex `__.*__`, the partition is
+            # reserved/read-only.
+            # A reserved/read-only partition ID is forbidden in certain documented
+            # contexts.
+            #
+            # Foreign partition IDs (in which the project ID does
+            # not match the context project ID ) are discouraged.
+            # Reads and writes of foreign partition IDs may fail if the project is not in an active state.
+          "projectId": "A String", # The ID of the project to which the entities belong.
+          "namespaceId": "A String", # If not empty, the ID of the namespace to which the entities belong.
+        },
+      },
+    ],
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The response for google.datastore.v1beta3.Datastore.AllocateIds.
+    "keys": [ # The keys specified in the request (in the same order), each with
+        # its key path completed with a newly allocated ID.
+      { # A unique identifier for an entity.
+          # If a key's partition ID or any of its path kinds or names are
+          # reserved/read-only, the key is reserved/read-only.
+          # A reserved/read-only key is forbidden in certain documented contexts.
+        "path": [ # The entity path.
+            # An entity path consists of one or more elements composed of a kind and a
+            # string or numerical identifier, which identify entities. The first
+            # element identifies a _root entity_, the second element identifies
+            # a _child_ of the root entity, the third element identifies a child of the
+            # second entity, and so forth. The entities identified by all prefixes of
+            # the path are called the element's _ancestors_.
+            #
+            # An entity path is always fully complete: *all* of the entity's ancestors
+            # are required to be in the path along with the entity identifier itself.
+            # The only exception is that in some documented cases, the identifier in the
+            # last path element (for the entity) itself may be omitted. For example,
+            # the last path element of the key of `Mutation.insert` may have no
+            # identifier.
+            #
+            # A path can never be empty, and a path can have at most 100 elements.
+          { # A (kind, ID/name) pair used to construct a key path.
+              #
+              # If either name or ID is set, the element is complete.
+              # If neither is set, the element is incomplete.
+            "kind": "A String", # The kind of the entity.
+                # A kind matching regex `__.*__` is reserved/read-only.
+                # A kind must not contain more than 1500 bytes when UTF-8 encoded.
+                # Cannot be `""`.
+            "name": "A String", # The name of the entity.
+                # A name matching regex `__.*__` is reserved/read-only.
+                # A name must not be more than 1500 bytes when UTF-8 encoded.
+                # Cannot be `""`.
+            "id": "A String", # The auto-allocated ID of the entity.
+                # Never equal to zero. Values less than zero are discouraged and may not
+                # be supported in the future.
+          },
+        ],
+        "partitionId": { # A partition ID identifies a grouping of entities. The grouping is always # Entities are partitioned into subsets, currently identified by a project
+            # ID and namespace ID.
+            # Queries are scoped to a single partition.
+            # by project and namespace, however the namespace ID may be empty.
+            #
+            # A partition ID contains several dimensions:
+            # project ID and namespace ID.
+            #
+            # Partition dimensions:
+            #
+            # - May be `""`.
+            # - Must be valid UTF-8 bytes.
+            # - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}`
+            # If the value of any dimension matches regex `__.*__`, the partition is
+            # reserved/read-only.
+            # A reserved/read-only partition ID is forbidden in certain documented
+            # contexts.
+            #
+            # Foreign partition IDs (in which the project ID does
+            # not match the context project ID ) are discouraged.
+            # Reads and writes of foreign partition IDs may fail if the project is not in an active state.
+          "projectId": "A String", # The ID of the project to which the entities belong.
+          "namespaceId": "A String", # If not empty, the ID of the namespace to which the entities belong.
+        },
+      },
+    ],
+  }
+
+ +
+ beginTransaction(projectId, body, x__xgafv=None) +
Begins a new transaction.
+
+Args:
+  projectId: string, The ID of the project against which to make the request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # The request for google.datastore.v1beta3.Datastore.BeginTransaction.
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The response for google.datastore.v1beta3.Datastore.BeginTransaction.
+    "transaction": "A String", # The transaction identifier (always present).
+  }
+
+ +
+ commit(projectId, body, x__xgafv=None) +
Commits a transaction, optionally creating, deleting or modifying some
+entities.
+
+Args:
+  projectId: string, The ID of the project against which to make the request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # The request for google.datastore.v1beta3.Datastore.Commit.
+    "transaction": "A String", # The identifier of the transaction associated with the commit. A
+        # transaction identifier is returned by a call to
+        # BeginTransaction.
+    "mutations": [ # The mutations to perform.
+        # 
+        # When mode is `TRANSACTIONAL`, mutations affecting a single entity are
+        # applied in order. The following sequences of mutations affecting a single
+        # entity are not permitted in a single `Commit` request:
+        # 
+        # - `insert` followed by `insert`
+        # - `update` followed by `insert`
+        # - `upsert` followed by `insert`
+        # - `delete` followed by `update`
+        # 
+        # When mode is `NON_TRANSACTIONAL`, no two mutations may affect a single
+        # entity.
+      { # A mutation to apply to an entity.
+        "insert": { # A Datastore data object. # The entity to insert. The entity must not already exist.
+            # The entity key's final path element may be incomplete.
+            #
+            # An entity is limited to 1 megabyte when stored. That _roughly_
+            # corresponds to a limit of 1 megabyte for the serialized form of this
+            # message.
+          "properties": { # The entity's properties.
+              # The map's keys are property names.
+              # A property name matching regex `__.*__` is reserved.
+              # A reserved property name is forbidden in certain documented contexts.
+              # The name must not contain more than 500 characters.
+              # The name cannot be `""`.
+            "a_key": { # A message that can hold any of the supported value types and associated
+                # metadata.
+              "booleanValue": True or False, # A boolean value.
+              "entityValue": # Object with schema name: Entity # An entity value.
+                  #
+                  # - May have no key.
+                  # - May have a key with an incomplete key path.
+                  # - May have a reserved/read-only key.
+              "timestampValue": "A String", # A timestamp value.
+                  # When stored in the Datastore, precise only to microseconds;
+                  # any additional precision is rounded down.
+              "excludeFromIndexes": True or False, # If the value should be excluded from all indexes including those defined
+                  # explicitly.
+              "doubleValue": 3.14, # A double value.
+              "meaning": 42, # The `meaning` field should only be populated for backwards compatibility.
+              "keyValue": { # A unique identifier for an entity. # A key value.
+                  # If a key's partition ID or any of its path kinds or names are
+                  # reserved/read-only, the key is reserved/read-only.
+                  # A reserved/read-only key is forbidden in certain documented contexts.
+                "path": [ # The entity path.
+                    # An entity path consists of one or more elements composed of a kind and a
+                    # string or numerical identifier, which identify entities. The first
+                    # element identifies a _root entity_, the second element identifies
+                    # a _child_ of the root entity, the third element identifies a child of the
+                    # second entity, and so forth. The entities identified by all prefixes of
+                    # the path are called the element's _ancestors_.
+                    #
+                    # An entity path is always fully complete: *all* of the entity's ancestors
+                    # are required to be in the path along with the entity identifier itself.
+                    # The only exception is that in some documented cases, the identifier in the
+                    # last path element (for the entity) itself may be omitted. For example,
+                    # the last path element of the key of `Mutation.insert` may have no
+                    # identifier.
+                    #
+                    # A path can never be empty, and a path can have at most 100 elements.
+                  { # A (kind, ID/name) pair used to construct a key path.
+                      #
+                      # If either name or ID is set, the element is complete.
+                      # If neither is set, the element is incomplete.
+                    "kind": "A String", # The kind of the entity.
+                        # A kind matching regex `__.*__` is reserved/read-only.
+                        # A kind must not contain more than 1500 bytes when UTF-8 encoded.
+                        # Cannot be `""`.
+                    "name": "A String", # The name of the entity.
+                        # A name matching regex `__.*__` is reserved/read-only.
+                        # A name must not be more than 1500 bytes when UTF-8 encoded.
+                        # Cannot be `""`.
+                    "id": "A String", # The auto-allocated ID of the entity.
+                        # Never equal to zero. Values less than zero are discouraged and may not
+                        # be supported in the future.
+                  },
+                ],
+                "partitionId": { # A partition ID identifies a grouping of entities. The grouping is always # Entities are partitioned into subsets, currently identified by a project
+                    # ID and namespace ID.
+                    # Queries are scoped to a single partition.
+                    # by project and namespace, however the namespace ID may be empty.
+                    #
+                    # A partition ID contains several dimensions:
+                    # project ID and namespace ID.
+                    #
+                    # Partition dimensions:
+                    #
+                    # - May be `""`.
+                    # - Must be valid UTF-8 bytes.
+                    # - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}`
+                    # If the value of any dimension matches regex `__.*__`, the partition is
+                    # reserved/read-only.
+                    # A reserved/read-only partition ID is forbidden in certain documented
+                    # contexts.
+                    #
+                    # Foreign partition IDs (in which the project ID does
+                    # not match the context project ID ) are discouraged.
+                    # Reads and writes of foreign partition IDs may fail if the project is not in an active state.
+                  "projectId": "A String", # The ID of the project to which the entities belong.
+                  "namespaceId": "A String", # If not empty, the ID of the namespace to which the entities belong.
+                },
+              },
+              "blobValue": "A String", # A blob value.
+                  # May have at most 1,000,000 bytes.
+                  # When `exclude_from_indexes` is false, may have at most 1500 bytes.
+                  # In JSON requests, must be base64-encoded.
+              "stringValue": "A String", # A UTF-8 encoded string value.
+                  # When `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes.
+                  # Otherwise, may be set to at least 1,000,000 bytes.
+              "nullValue": "A String", # A null value.
+              "arrayValue": { # An array value. # An array value.
+                  # Cannot contain another array value.
+                  # A `Value` instance that sets field `array_value` must not set fields
+                  # `meaning` or `exclude_from_indexes`.
+                "values": [ # Values in the array.
+                    # The order of this array may not be preserved if it contains a mix of
+                    # indexed and unindexed values.
+                  # Object with schema name: Value
+                ],
+              },
+              "integerValue": "A String", # An integer value.
+              "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
+                  # of doubles representing degrees latitude and degrees longitude. Unless
+                  # specified otherwise, this must conform to the
+                  # WGS84
+                  # standard. Values must be within normalized ranges.
+                  #
+                  # Example of normalization code in Python:
+                  #
+                  #     def NormalizeLongitude(longitude):
+                  #       """Wraps decimal degrees longitude to [-180.0, 180.0]."""
+                  #       q, r = divmod(longitude, 360.0)
+                  #       if r > 180.0 or (r == 180.0 and q <= -1.0):
+                  #         return r - 360.0
+                  #       return r
+                  #
+                  #     def NormalizeLatLng(latitude, longitude):
+                  #       """Wraps decimal degrees latitude and longitude to
+                  #       [-180.0, 180.0] and [-90.0, 90.0], respectively."""
+                  #       r = latitude % 360.0
+                  #       if r <= 90.0:
+                  #         return r, NormalizeLongitude(longitude)
+                  #       elif r >= 270.0:
+                  #         return r - 360, NormalizeLongitude(longitude)
+                  #       else:
+                  #         return 180 - r, NormalizeLongitude(longitude + 180.0)
+                  #
+                  #     assert 180.0 == NormalizeLongitude(180.0)
+                  #     assert -180.0 == NormalizeLongitude(-180.0)
+                  #     assert -179.0 == NormalizeLongitude(181.0)
+                  #     assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0)
+                  #     assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0)
+                  #     assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0)
+                  #     assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0)
+                  #     assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0)
+                  #     assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0)
+                  #     assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0)
+                  #     assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0)
+                  #     assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0)
+                  #     assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0)
+                "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+              },
+            },
+          },
+          "key": { # A unique identifier for an entity. # The entity's key.
+              #
+              # An entity must have a key, unless otherwise documented (for example,
+              # an entity in `Value.entity_value` may have no key).
+              # An entity's kind is its key path's last element's kind,
+              # or null if it has no key.
+              # If a key's partition ID or any of its path kinds or names are
+              # reserved/read-only, the key is reserved/read-only.
+              # A reserved/read-only key is forbidden in certain documented contexts.
+            "path": [ # The entity path.
+                # An entity path consists of one or more elements composed of a kind and a
+                # string or numerical identifier, which identify entities. The first
+                # element identifies a _root entity_, the second element identifies
+                # a _child_ of the root entity, the third element identifies a child of the
+                # second entity, and so forth. The entities identified by all prefixes of
+                # the path are called the element's _ancestors_.
+                #
+                # An entity path is always fully complete: *all* of the entity's ancestors
+                # are required to be in the path along with the entity identifier itself.
+                # The only exception is that in some documented cases, the identifier in the
+                # last path element (for the entity) itself may be omitted. For example,
+                # the last path element of the key of `Mutation.insert` may have no
+                # identifier.
+                #
+                # A path can never be empty, and a path can have at most 100 elements.
+              { # A (kind, ID/name) pair used to construct a key path.
+                  #
+                  # If either name or ID is set, the element is complete.
+                  # If neither is set, the element is incomplete.
+                "kind": "A String", # The kind of the entity.
+                    # A kind matching regex `__.*__` is reserved/read-only.
+                    # A kind must not contain more than 1500 bytes when UTF-8 encoded.
+                    # Cannot be `""`.
+                "name": "A String", # The name of the entity.
+                    # A name matching regex `__.*__` is reserved/read-only.
+                    # A name must not be more than 1500 bytes when UTF-8 encoded.
+                    # Cannot be `""`.
+                "id": "A String", # The auto-allocated ID of the entity.
+                    # Never equal to zero. Values less than zero are discouraged and may not
+                    # be supported in the future.
+              },
+            ],
+            "partitionId": { # A partition ID identifies a grouping of entities. The grouping is always # Entities are partitioned into subsets, currently identified by a project
+                # ID and namespace ID.
+                # Queries are scoped to a single partition.
+                # by project and namespace, however the namespace ID may be empty.
+                #
+                # A partition ID contains several dimensions:
+                # project ID and namespace ID.
+                #
+                # Partition dimensions:
+                #
+                # - May be `""`.
+                # - Must be valid UTF-8 bytes.
+                # - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}`
+                # If the value of any dimension matches regex `__.*__`, the partition is
+                # reserved/read-only.
+                # A reserved/read-only partition ID is forbidden in certain documented
+                # contexts.
+                #
+                # Foreign partition IDs (in which the project ID does
+                # not match the context project ID ) are discouraged.
+                # Reads and writes of foreign partition IDs may fail if the project is not in an active state.
+              "projectId": "A String", # The ID of the project to which the entities belong.
+              "namespaceId": "A String", # If not empty, the ID of the namespace to which the entities belong.
+            },
+          },
+        },
+        "upsert": { # A Datastore data object. # The entity to upsert. The entity may or may not already exist.
+            # The entity key's final path element may be incomplete.
+            #
+            # An entity is limited to 1 megabyte when stored. That _roughly_
+            # corresponds to a limit of 1 megabyte for the serialized form of this
+            # message.
+          "properties": { # The entity's properties.
+              # The map's keys are property names.
+              # A property name matching regex `__.*__` is reserved.
+              # A reserved property name is forbidden in certain documented contexts.
+              # The name must not contain more than 500 characters.
+              # The name cannot be `""`.
+            "a_key": { # A message that can hold any of the supported value types and associated
+                # metadata.
+              "booleanValue": True or False, # A boolean value.
+              "entityValue": # Object with schema name: Entity # An entity value.
+                  #
+                  # - May have no key.
+                  # - May have a key with an incomplete key path.
+                  # - May have a reserved/read-only key.
+              "timestampValue": "A String", # A timestamp value.
+                  # When stored in the Datastore, precise only to microseconds;
+                  # any additional precision is rounded down.
+              "excludeFromIndexes": True or False, # If the value should be excluded from all indexes including those defined
+                  # explicitly.
+              "doubleValue": 3.14, # A double value.
+              "meaning": 42, # The `meaning` field should only be populated for backwards compatibility.
+              "keyValue": { # A unique identifier for an entity. # A key value.
+                  # If a key's partition ID or any of its path kinds or names are
+                  # reserved/read-only, the key is reserved/read-only.
+                  # A reserved/read-only key is forbidden in certain documented contexts.
+                "path": [ # The entity path.
+                    # An entity path consists of one or more elements composed of a kind and a
+                    # string or numerical identifier, which identify entities. The first
+                    # element identifies a _root entity_, the second element identifies
+                    # a _child_ of the root entity, the third element identifies a child of the
+                    # second entity, and so forth. The entities identified by all prefixes of
+                    # the path are called the element's _ancestors_.
+                    #
+                    # An entity path is always fully complete: *all* of the entity's ancestors
+                    # are required to be in the path along with the entity identifier itself.
+                    # The only exception is that in some documented cases, the identifier in the
+                    # last path element (for the entity) itself may be omitted. For example,
+                    # the last path element of the key of `Mutation.insert` may have no
+                    # identifier.
+                    #
+                    # A path can never be empty, and a path can have at most 100 elements.
+                  { # A (kind, ID/name) pair used to construct a key path.
+                      #
+                      # If either name or ID is set, the element is complete.
+                      # If neither is set, the element is incomplete.
+                    "kind": "A String", # The kind of the entity.
+                        # A kind matching regex `__.*__` is reserved/read-only.
+                        # A kind must not contain more than 1500 bytes when UTF-8 encoded.
+                        # Cannot be `""`.
+                    "name": "A String", # The name of the entity.
+                        # A name matching regex `__.*__` is reserved/read-only.
+                        # A name must not be more than 1500 bytes when UTF-8 encoded.
+                        # Cannot be `""`.
+                    "id": "A String", # The auto-allocated ID of the entity.
+                        # Never equal to zero. Values less than zero are discouraged and may not
+                        # be supported in the future.
+                  },
+                ],
+                "partitionId": { # A partition ID identifies a grouping of entities. The grouping is always # Entities are partitioned into subsets, currently identified by a project
+                    # ID and namespace ID.
+                    # Queries are scoped to a single partition.
+                    # by project and namespace, however the namespace ID may be empty.
+                    #
+                    # A partition ID contains several dimensions:
+                    # project ID and namespace ID.
+                    #
+                    # Partition dimensions:
+                    #
+                    # - May be `""`.
+                    # - Must be valid UTF-8 bytes.
+                    # - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}`
+                    # If the value of any dimension matches regex `__.*__`, the partition is
+                    # reserved/read-only.
+                    # A reserved/read-only partition ID is forbidden in certain documented
+                    # contexts.
+                    #
+                    # Foreign partition IDs (in which the project ID does
+                    # not match the context project ID ) are discouraged.
+                    # Reads and writes of foreign partition IDs may fail if the project is not in an active state.
+                  "projectId": "A String", # The ID of the project to which the entities belong.
+                  "namespaceId": "A String", # If not empty, the ID of the namespace to which the entities belong.
+                },
+              },
+              "blobValue": "A String", # A blob value.
+                  # May have at most 1,000,000 bytes.
+                  # When `exclude_from_indexes` is false, may have at most 1500 bytes.
+                  # In JSON requests, must be base64-encoded.
+              "stringValue": "A String", # A UTF-8 encoded string value.
+                  # When `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes.
+                  # Otherwise, may be set to at least 1,000,000 bytes.
+              "nullValue": "A String", # A null value.
+              "arrayValue": { # An array value. # An array value.
+                  # Cannot contain another array value.
+                  # A `Value` instance that sets field `array_value` must not set fields
+                  # `meaning` or `exclude_from_indexes`.
+                "values": [ # Values in the array.
+                    # The order of this array may not be preserved if it contains a mix of
+                    # indexed and unindexed values.
+                  # Object with schema name: Value
+                ],
+              },
+              "integerValue": "A String", # An integer value.
+              "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
+                  # of doubles representing degrees latitude and degrees longitude. Unless
+                  # specified otherwise, this must conform to the
+                  # WGS84
+                  # standard. Values must be within normalized ranges.
+                  #
+                  # Example of normalization code in Python:
+                  #
+                  #     def NormalizeLongitude(longitude):
+                  #       """Wraps decimal degrees longitude to [-180.0, 180.0]."""
+                  #       q, r = divmod(longitude, 360.0)
+                  #       if r > 180.0 or (r == 180.0 and q <= -1.0):
+                  #         return r - 360.0
+                  #       return r
+                  #
+                  #     def NormalizeLatLng(latitude, longitude):
+                  #       """Wraps decimal degrees latitude and longitude to
+                  #       [-180.0, 180.0] and [-90.0, 90.0], respectively."""
+                  #       r = latitude % 360.0
+                  #       if r <= 90.0:
+                  #         return r, NormalizeLongitude(longitude)
+                  #       elif r >= 270.0:
+                  #         return r - 360, NormalizeLongitude(longitude)
+                  #       else:
+                  #         return 180 - r, NormalizeLongitude(longitude + 180.0)
+                  #
+                  #     assert 180.0 == NormalizeLongitude(180.0)
+                  #     assert -180.0 == NormalizeLongitude(-180.0)
+                  #     assert -179.0 == NormalizeLongitude(181.0)
+                  #     assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0)
+                  #     assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0)
+                  #     assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0)
+                  #     assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0)
+                  #     assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0)
+                  #     assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0)
+                  #     assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0)
+                  #     assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0)
+                  #     assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0)
+                  #     assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0)
+                "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+              },
+            },
+          },
+          "key": { # A unique identifier for an entity. # The entity's key.
+              #
+              # An entity must have a key, unless otherwise documented (for example,
+              # an entity in `Value.entity_value` may have no key).
+              # An entity's kind is its key path's last element's kind,
+              # or null if it has no key.
+              # If a key's partition ID or any of its path kinds or names are
+              # reserved/read-only, the key is reserved/read-only.
+              # A reserved/read-only key is forbidden in certain documented contexts.
+            "path": [ # The entity path.
+                # An entity path consists of one or more elements composed of a kind and a
+                # string or numerical identifier, which identify entities. The first
+                # element identifies a _root entity_, the second element identifies
+                # a _child_ of the root entity, the third element identifies a child of the
+                # second entity, and so forth. The entities identified by all prefixes of
+                # the path are called the element's _ancestors_.
+                #
+                # An entity path is always fully complete: *all* of the entity's ancestors
+                # are required to be in the path along with the entity identifier itself.
+                # The only exception is that in some documented cases, the identifier in the
+                # last path element (for the entity) itself may be omitted. For example,
+                # the last path element of the key of `Mutation.insert` may have no
+                # identifier.
+                #
+                # A path can never be empty, and a path can have at most 100 elements.
+              { # A (kind, ID/name) pair used to construct a key path.
+                  #
+                  # If either name or ID is set, the element is complete.
+                  # If neither is set, the element is incomplete.
+                "kind": "A String", # The kind of the entity.
+                    # A kind matching regex `__.*__` is reserved/read-only.
+                    # A kind must not contain more than 1500 bytes when UTF-8 encoded.
+                    # Cannot be `""`.
+                "name": "A String", # The name of the entity.
+                    # A name matching regex `__.*__` is reserved/read-only.
+                    # A name must not be more than 1500 bytes when UTF-8 encoded.
+                    # Cannot be `""`.
+                "id": "A String", # The auto-allocated ID of the entity.
+                    # Never equal to zero. Values less than zero are discouraged and may not
+                    # be supported in the future.
+              },
+            ],
+            "partitionId": { # A partition ID identifies a grouping of entities. The grouping is always # Entities are partitioned into subsets, currently identified by a project
+                # ID and namespace ID.
+                # Queries are scoped to a single partition.
+                # by project and namespace, however the namespace ID may be empty.
+                #
+                # A partition ID contains several dimensions:
+                # project ID and namespace ID.
+                #
+                # Partition dimensions:
+                #
+                # - May be `""`.
+                # - Must be valid UTF-8 bytes.
+                # - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}`
+                # If the value of any dimension matches regex `__.*__`, the partition is
+                # reserved/read-only.
+                # A reserved/read-only partition ID is forbidden in certain documented
+                # contexts.
+                #
+                # Foreign partition IDs (in which the project ID does
+                # not match the context project ID ) are discouraged.
+                # Reads and writes of foreign partition IDs may fail if the project is not in an active state.
+              "projectId": "A String", # The ID of the project to which the entities belong.
+              "namespaceId": "A String", # If not empty, the ID of the namespace to which the entities belong.
+            },
+          },
+        },
+        "update": { # A Datastore data object. # The entity to update. The entity must already exist.
+            # Must have a complete key path.
+            #
+            # An entity is limited to 1 megabyte when stored. That _roughly_
+            # corresponds to a limit of 1 megabyte for the serialized form of this
+            # message.
+          "properties": { # The entity's properties.
+              # The map's keys are property names.
+              # A property name matching regex `__.*__` is reserved.
+              # A reserved property name is forbidden in certain documented contexts.
+              # The name must not contain more than 500 characters.
+              # The name cannot be `""`.
+            "a_key": { # A message that can hold any of the supported value types and associated
+                # metadata.
+              "booleanValue": True or False, # A boolean value.
+              "entityValue": # Object with schema name: Entity # An entity value.
+                  #
+                  # - May have no key.
+                  # - May have a key with an incomplete key path.
+                  # - May have a reserved/read-only key.
+              "timestampValue": "A String", # A timestamp value.
+                  # When stored in the Datastore, precise only to microseconds;
+                  # any additional precision is rounded down.
+              "excludeFromIndexes": True or False, # If the value should be excluded from all indexes including those defined
+                  # explicitly.
+              "doubleValue": 3.14, # A double value.
+              "meaning": 42, # The `meaning` field should only be populated for backwards compatibility.
+              "keyValue": { # A unique identifier for an entity. # A key value.
+                  # If a key's partition ID or any of its path kinds or names are
+                  # reserved/read-only, the key is reserved/read-only.
+                  # A reserved/read-only key is forbidden in certain documented contexts.
+                "path": [ # The entity path.
+                    # An entity path consists of one or more elements composed of a kind and a
+                    # string or numerical identifier, which identify entities. The first
+                    # element identifies a _root entity_, the second element identifies
+                    # a _child_ of the root entity, the third element identifies a child of the
+                    # second entity, and so forth. The entities identified by all prefixes of
+                    # the path are called the element's _ancestors_.
+                    #
+                    # An entity path is always fully complete: *all* of the entity's ancestors
+                    # are required to be in the path along with the entity identifier itself.
+                    # The only exception is that in some documented cases, the identifier in the
+                    # last path element (for the entity) itself may be omitted. For example,
+                    # the last path element of the key of `Mutation.insert` may have no
+                    # identifier.
+                    #
+                    # A path can never be empty, and a path can have at most 100 elements.
+                  { # A (kind, ID/name) pair used to construct a key path.
+                      #
+                      # If either name or ID is set, the element is complete.
+                      # If neither is set, the element is incomplete.
+                    "kind": "A String", # The kind of the entity.
+                        # A kind matching regex `__.*__` is reserved/read-only.
+                        # A kind must not contain more than 1500 bytes when UTF-8 encoded.
+                        # Cannot be `""`.
+                    "name": "A String", # The name of the entity.
+                        # A name matching regex `__.*__` is reserved/read-only.
+                        # A name must not be more than 1500 bytes when UTF-8 encoded.
+                        # Cannot be `""`.
+                    "id": "A String", # The auto-allocated ID of the entity.
+                        # Never equal to zero. Values less than zero are discouraged and may not
+                        # be supported in the future.
+                  },
+                ],
+                "partitionId": { # A partition ID identifies a grouping of entities. The grouping is always # Entities are partitioned into subsets, currently identified by a project
+                    # ID and namespace ID.
+                    # Queries are scoped to a single partition.
+                    # by project and namespace, however the namespace ID may be empty.
+                    #
+                    # A partition ID contains several dimensions:
+                    # project ID and namespace ID.
+                    #
+                    # Partition dimensions:
+                    #
+                    # - May be `""`.
+                    # - Must be valid UTF-8 bytes.
+                    # - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}`
+                    # If the value of any dimension matches regex `__.*__`, the partition is
+                    # reserved/read-only.
+                    # A reserved/read-only partition ID is forbidden in certain documented
+                    # contexts.
+                    #
+                    # Foreign partition IDs (in which the project ID does
+                    # not match the context project ID ) are discouraged.
+                    # Reads and writes of foreign partition IDs may fail if the project is not in an active state.
+                  "projectId": "A String", # The ID of the project to which the entities belong.
+                  "namespaceId": "A String", # If not empty, the ID of the namespace to which the entities belong.
+                },
+              },
+              "blobValue": "A String", # A blob value.
+                  # May have at most 1,000,000 bytes.
+                  # When `exclude_from_indexes` is false, may have at most 1500 bytes.
+                  # In JSON requests, must be base64-encoded.
+              "stringValue": "A String", # A UTF-8 encoded string value.
+                  # When `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes.
+                  # Otherwise, may be set to at least 1,000,000 bytes.
+              "nullValue": "A String", # A null value.
+              "arrayValue": { # An array value. # An array value.
+                  # Cannot contain another array value.
+                  # A `Value` instance that sets field `array_value` must not set fields
+                  # `meaning` or `exclude_from_indexes`.
+                "values": [ # Values in the array.
+                    # The order of this array may not be preserved if it contains a mix of
+                    # indexed and unindexed values.
+                  # Object with schema name: Value
+                ],
+              },
+              "integerValue": "A String", # An integer value.
+              "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
+                  # of doubles representing degrees latitude and degrees longitude. Unless
+                  # specified otherwise, this must conform to the
+                  # WGS84
+                  # standard. Values must be within normalized ranges.
+                  #
+                  # Example of normalization code in Python:
+                  #
+                  #     def NormalizeLongitude(longitude):
+                  #       """Wraps decimal degrees longitude to [-180.0, 180.0]."""
+                  #       q, r = divmod(longitude, 360.0)
+                  #       if r > 180.0 or (r == 180.0 and q <= -1.0):
+                  #         return r - 360.0
+                  #       return r
+                  #
+                  #     def NormalizeLatLng(latitude, longitude):
+                  #       """Wraps decimal degrees latitude and longitude to
+                  #       [-180.0, 180.0] and [-90.0, 90.0], respectively."""
+                  #       r = latitude % 360.0
+                  #       if r <= 90.0:
+                  #         return r, NormalizeLongitude(longitude)
+                  #       elif r >= 270.0:
+                  #         return r - 360, NormalizeLongitude(longitude)
+                  #       else:
+                  #         return 180 - r, NormalizeLongitude(longitude + 180.0)
+                  #
+                  #     assert 180.0 == NormalizeLongitude(180.0)
+                  #     assert -180.0 == NormalizeLongitude(-180.0)
+                  #     assert -179.0 == NormalizeLongitude(181.0)
+                  #     assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0)
+                  #     assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0)
+                  #     assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0)
+                  #     assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0)
+                  #     assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0)
+                  #     assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0)
+                  #     assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0)
+                  #     assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0)
+                  #     assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0)
+                  #     assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0)
+                "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+              },
+            },
+          },
+          "key": { # A unique identifier for an entity. # The entity's key.
+              #
+              # An entity must have a key, unless otherwise documented (for example,
+              # an entity in `Value.entity_value` may have no key).
+              # An entity's kind is its key path's last element's kind,
+              # or null if it has no key.
+              # If a key's partition ID or any of its path kinds or names are
+              # reserved/read-only, the key is reserved/read-only.
+              # A reserved/read-only key is forbidden in certain documented contexts.
+            "path": [ # The entity path.
+                # An entity path consists of one or more elements composed of a kind and a
+                # string or numerical identifier, which identify entities. The first
+                # element identifies a _root entity_, the second element identifies
+                # a _child_ of the root entity, the third element identifies a child of the
+                # second entity, and so forth. The entities identified by all prefixes of
+                # the path are called the element's _ancestors_.
+                #
+                # An entity path is always fully complete: *all* of the entity's ancestors
+                # are required to be in the path along with the entity identifier itself.
+                # The only exception is that in some documented cases, the identifier in the
+                # last path element (for the entity) itself may be omitted. For example,
+                # the last path element of the key of `Mutation.insert` may have no
+                # identifier.
+                #
+                # A path can never be empty, and a path can have at most 100 elements.
+              { # A (kind, ID/name) pair used to construct a key path.
+                  #
+                  # If either name or ID is set, the element is complete.
+                  # If neither is set, the element is incomplete.
+                "kind": "A String", # The kind of the entity.
+                    # A kind matching regex `__.*__` is reserved/read-only.
+                    # A kind must not contain more than 1500 bytes when UTF-8 encoded.
+                    # Cannot be `""`.
+                "name": "A String", # The name of the entity.
+                    # A name matching regex `__.*__` is reserved/read-only.
+                    # A name must not be more than 1500 bytes when UTF-8 encoded.
+                    # Cannot be `""`.
+                "id": "A String", # The auto-allocated ID of the entity.
+                    # Never equal to zero. Values less than zero are discouraged and may not
+                    # be supported in the future.
+              },
+            ],
+            "partitionId": { # A partition ID identifies a grouping of entities. The grouping is always # Entities are partitioned into subsets, currently identified by a project
+                # ID and namespace ID.
+                # Queries are scoped to a single partition.
+                # by project and namespace, however the namespace ID may be empty.
+                #
+                # A partition ID contains several dimensions:
+                # project ID and namespace ID.
+                #
+                # Partition dimensions:
+                #
+                # - May be `""`.
+                # - Must be valid UTF-8 bytes.
+                # - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}`
+                # If the value of any dimension matches regex `__.*__`, the partition is
+                # reserved/read-only.
+                # A reserved/read-only partition ID is forbidden in certain documented
+                # contexts.
+                #
+                # Foreign partition IDs (in which the project ID does
+                # not match the context project ID ) are discouraged.
+                # Reads and writes of foreign partition IDs may fail if the project is not in an active state.
+              "projectId": "A String", # The ID of the project to which the entities belong.
+              "namespaceId": "A String", # If not empty, the ID of the namespace to which the entities belong.
+            },
+          },
+        },
+        "delete": { # A unique identifier for an entity. # The key of the entity to delete. The entity may or may not already exist.
+            # Must have a complete key path and must not be reserved/read-only.
+            # If a key's partition ID or any of its path kinds or names are
+            # reserved/read-only, the key is reserved/read-only.
+            # A reserved/read-only key is forbidden in certain documented contexts.
+          "path": [ # The entity path.
+              # An entity path consists of one or more elements composed of a kind and a
+              # string or numerical identifier, which identify entities. The first
+              # element identifies a _root entity_, the second element identifies
+              # a _child_ of the root entity, the third element identifies a child of the
+              # second entity, and so forth. The entities identified by all prefixes of
+              # the path are called the element's _ancestors_.
+              #
+              # An entity path is always fully complete: *all* of the entity's ancestors
+              # are required to be in the path along with the entity identifier itself.
+              # The only exception is that in some documented cases, the identifier in the
+              # last path element (for the entity) itself may be omitted. For example,
+              # the last path element of the key of `Mutation.insert` may have no
+              # identifier.
+              #
+              # A path can never be empty, and a path can have at most 100 elements.
+            { # A (kind, ID/name) pair used to construct a key path.
+                #
+                # If either name or ID is set, the element is complete.
+                # If neither is set, the element is incomplete.
+              "kind": "A String", # The kind of the entity.
+                  # A kind matching regex `__.*__` is reserved/read-only.
+                  # A kind must not contain more than 1500 bytes when UTF-8 encoded.
+                  # Cannot be `""`.
+              "name": "A String", # The name of the entity.
+                  # A name matching regex `__.*__` is reserved/read-only.
+                  # A name must not be more than 1500 bytes when UTF-8 encoded.
+                  # Cannot be `""`.
+              "id": "A String", # The auto-allocated ID of the entity.
+                  # Never equal to zero. Values less than zero are discouraged and may not
+                  # be supported in the future.
+            },
+          ],
+          "partitionId": { # A partition ID identifies a grouping of entities. The grouping is always # Entities are partitioned into subsets, currently identified by a project
+              # ID and namespace ID.
+              # Queries are scoped to a single partition.
+              # by project and namespace, however the namespace ID may be empty.
+              #
+              # A partition ID contains several dimensions:
+              # project ID and namespace ID.
+              #
+              # Partition dimensions:
+              #
+              # - May be `""`.
+              # - Must be valid UTF-8 bytes.
+              # - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}`
+              # If the value of any dimension matches regex `__.*__`, the partition is
+              # reserved/read-only.
+              # A reserved/read-only partition ID is forbidden in certain documented
+              # contexts.
+              #
+              # Foreign partition IDs (in which the project ID does
+              # not match the context project ID ) are discouraged.
+              # Reads and writes of foreign partition IDs may fail if the project is not in an active state.
+            "projectId": "A String", # The ID of the project to which the entities belong.
+            "namespaceId": "A String", # If not empty, the ID of the namespace to which the entities belong.
+          },
+        },
+      },
+    ],
+    "mode": "A String", # The type of commit to perform. Defaults to `TRANSACTIONAL`.
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The response for google.datastore.v1beta3.Datastore.Commit.
+    "mutationResults": [ # The result of performing the mutations.
+        # The i-th mutation result corresponds to the i-th mutation in the request.
+      { # The result of applying a mutation.
+        "key": { # A unique identifier for an entity. # The automatically allocated key.
+            # Set only when the mutation allocated a key.
+            # If a key's partition ID or any of its path kinds or names are
+            # reserved/read-only, the key is reserved/read-only.
+            # A reserved/read-only key is forbidden in certain documented contexts.
+          "path": [ # The entity path.
+              # An entity path consists of one or more elements composed of a kind and a
+              # string or numerical identifier, which identify entities. The first
+              # element identifies a _root entity_, the second element identifies
+              # a _child_ of the root entity, the third element identifies a child of the
+              # second entity, and so forth. The entities identified by all prefixes of
+              # the path are called the element's _ancestors_.
+              #
+              # An entity path is always fully complete: *all* of the entity's ancestors
+              # are required to be in the path along with the entity identifier itself.
+              # The only exception is that in some documented cases, the identifier in the
+              # last path element (for the entity) itself may be omitted. For example,
+              # the last path element of the key of `Mutation.insert` may have no
+              # identifier.
+              #
+              # A path can never be empty, and a path can have at most 100 elements.
+            { # A (kind, ID/name) pair used to construct a key path.
+                #
+                # If either name or ID is set, the element is complete.
+                # If neither is set, the element is incomplete.
+              "kind": "A String", # The kind of the entity.
+                  # A kind matching regex `__.*__` is reserved/read-only.
+                  # A kind must not contain more than 1500 bytes when UTF-8 encoded.
+                  # Cannot be `""`.
+              "name": "A String", # The name of the entity.
+                  # A name matching regex `__.*__` is reserved/read-only.
+                  # A name must not be more than 1500 bytes when UTF-8 encoded.
+                  # Cannot be `""`.
+              "id": "A String", # The auto-allocated ID of the entity.
+                  # Never equal to zero. Values less than zero are discouraged and may not
+                  # be supported in the future.
+            },
+          ],
+          "partitionId": { # A partition ID identifies a grouping of entities. The grouping is always # Entities are partitioned into subsets, currently identified by a project
+              # ID and namespace ID.
+              # Queries are scoped to a single partition.
+              # by project and namespace, however the namespace ID may be empty.
+              #
+              # A partition ID contains several dimensions:
+              # project ID and namespace ID.
+              #
+              # Partition dimensions:
+              #
+              # - May be `""`.
+              # - Must be valid UTF-8 bytes.
+              # - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}`
+              # If the value of any dimension matches regex `__.*__`, the partition is
+              # reserved/read-only.
+              # A reserved/read-only partition ID is forbidden in certain documented
+              # contexts.
+              #
+              # Foreign partition IDs (in which the project ID does
+              # not match the context project ID ) are discouraged.
+              # Reads and writes of foreign partition IDs may fail if the project is not in an active state.
+            "projectId": "A String", # The ID of the project to which the entities belong.
+            "namespaceId": "A String", # If not empty, the ID of the namespace to which the entities belong.
+          },
+        },
+      },
+    ],
+    "indexUpdates": 42, # The number of index entries updated during the commit, or zero if none were
+        # updated.
+  }
+
+ +
+ lookup(projectId, body, x__xgafv=None) +
Looks up entities by key.
+
+Args:
+  projectId: string, The ID of the project against which to make the request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # The request for google.datastore.v1beta3.Datastore.Lookup.
+    "keys": [ # Keys of entities to look up.
+      { # A unique identifier for an entity.
+          # If a key's partition ID or any of its path kinds or names are
+          # reserved/read-only, the key is reserved/read-only.
+          # A reserved/read-only key is forbidden in certain documented contexts.
+        "path": [ # The entity path.
+            # An entity path consists of one or more elements composed of a kind and a
+            # string or numerical identifier, which identify entities. The first
+            # element identifies a _root entity_, the second element identifies
+            # a _child_ of the root entity, the third element identifies a child of the
+            # second entity, and so forth. The entities identified by all prefixes of
+            # the path are called the element's _ancestors_.
+            #
+            # An entity path is always fully complete: *all* of the entity's ancestors
+            # are required to be in the path along with the entity identifier itself.
+            # The only exception is that in some documented cases, the identifier in the
+            # last path element (for the entity) itself may be omitted. For example,
+            # the last path element of the key of `Mutation.insert` may have no
+            # identifier.
+            #
+            # A path can never be empty, and a path can have at most 100 elements.
+          { # A (kind, ID/name) pair used to construct a key path.
+              #
+              # If either name or ID is set, the element is complete.
+              # If neither is set, the element is incomplete.
+            "kind": "A String", # The kind of the entity.
+                # A kind matching regex `__.*__` is reserved/read-only.
+                # A kind must not contain more than 1500 bytes when UTF-8 encoded.
+                # Cannot be `""`.
+            "name": "A String", # The name of the entity.
+                # A name matching regex `__.*__` is reserved/read-only.
+                # A name must not be more than 1500 bytes when UTF-8 encoded.
+                # Cannot be `""`.
+            "id": "A String", # The auto-allocated ID of the entity.
+                # Never equal to zero. Values less than zero are discouraged and may not
+                # be supported in the future.
+          },
+        ],
+        "partitionId": { # A partition ID identifies a grouping of entities. The grouping is always # Entities are partitioned into subsets, currently identified by a project
+            # ID and namespace ID.
+            # Queries are scoped to a single partition.
+            # by project and namespace, however the namespace ID may be empty.
+            #
+            # A partition ID contains several dimensions:
+            # project ID and namespace ID.
+            #
+            # Partition dimensions:
+            #
+            # - May be `""`.
+            # - Must be valid UTF-8 bytes.
+            # - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}`
+            # If the value of any dimension matches regex `__.*__`, the partition is
+            # reserved/read-only.
+            # A reserved/read-only partition ID is forbidden in certain documented
+            # contexts.
+            #
+            # Foreign partition IDs (in which the project ID does
+            # not match the context project ID ) are discouraged.
+            # Reads and writes of foreign partition IDs may fail if the project is not in an active state.
+          "projectId": "A String", # The ID of the project to which the entities belong.
+          "namespaceId": "A String", # If not empty, the ID of the namespace to which the entities belong.
+        },
+      },
+    ],
+    "readOptions": { # The options shared by read requests. # The options for this lookup request.
+      "transaction": "A String", # The identifier of the transaction in which to read. A
+          # transaction identifier is returned by a call to
+          # BeginTransaction.
+      "readConsistency": "A String", # The non-transactional read consistency to use.
+          # Cannot be set to `STRONG` for global queries.
+    },
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The response for google.datastore.v1beta3.Datastore.Lookup.
+    "found": [ # Entities found as `ResultType.FULL` entities. The order of results in this
+        # field is undefined and has no relation to the order of the keys in the
+        # input.
+      { # The result of fetching an entity from Datastore.
+        "cursor": "A String", # A cursor that points to the position after the result entity.
+            # Set only when the `EntityResult` is part of a `QueryResultBatch` message.
+        "entity": { # A Datastore data object. # The resulting entity.
+            #
+            # An entity is limited to 1 megabyte when stored. That _roughly_
+            # corresponds to a limit of 1 megabyte for the serialized form of this
+            # message.
+          "properties": { # The entity's properties.
+              # The map's keys are property names.
+              # A property name matching regex `__.*__` is reserved.
+              # A reserved property name is forbidden in certain documented contexts.
+              # The name must not contain more than 500 characters.
+              # The name cannot be `""`.
+            "a_key": { # A message that can hold any of the supported value types and associated
+                # metadata.
+              "booleanValue": True or False, # A boolean value.
+              "entityValue": # Object with schema name: Entity # An entity value.
+                  #
+                  # - May have no key.
+                  # - May have a key with an incomplete key path.
+                  # - May have a reserved/read-only key.
+              "timestampValue": "A String", # A timestamp value.
+                  # When stored in the Datastore, precise only to microseconds;
+                  # any additional precision is rounded down.
+              "excludeFromIndexes": True or False, # If the value should be excluded from all indexes including those defined
+                  # explicitly.
+              "doubleValue": 3.14, # A double value.
+              "meaning": 42, # The `meaning` field should only be populated for backwards compatibility.
+              "keyValue": { # A unique identifier for an entity. # A key value.
+                  # If a key's partition ID or any of its path kinds or names are
+                  # reserved/read-only, the key is reserved/read-only.
+                  # A reserved/read-only key is forbidden in certain documented contexts.
+                "path": [ # The entity path.
+                    # An entity path consists of one or more elements composed of a kind and a
+                    # string or numerical identifier, which identify entities. The first
+                    # element identifies a _root entity_, the second element identifies
+                    # a _child_ of the root entity, the third element identifies a child of the
+                    # second entity, and so forth. The entities identified by all prefixes of
+                    # the path are called the element's _ancestors_.
+                    #
+                    # An entity path is always fully complete: *all* of the entity's ancestors
+                    # are required to be in the path along with the entity identifier itself.
+                    # The only exception is that in some documented cases, the identifier in the
+                    # last path element (for the entity) itself may be omitted. For example,
+                    # the last path element of the key of `Mutation.insert` may have no
+                    # identifier.
+                    #
+                    # A path can never be empty, and a path can have at most 100 elements.
+                  { # A (kind, ID/name) pair used to construct a key path.
+                      #
+                      # If either name or ID is set, the element is complete.
+                      # If neither is set, the element is incomplete.
+                    "kind": "A String", # The kind of the entity.
+                        # A kind matching regex `__.*__` is reserved/read-only.
+                        # A kind must not contain more than 1500 bytes when UTF-8 encoded.
+                        # Cannot be `""`.
+                    "name": "A String", # The name of the entity.
+                        # A name matching regex `__.*__` is reserved/read-only.
+                        # A name must not be more than 1500 bytes when UTF-8 encoded.
+                        # Cannot be `""`.
+                    "id": "A String", # The auto-allocated ID of the entity.
+                        # Never equal to zero. Values less than zero are discouraged and may not
+                        # be supported in the future.
+                  },
+                ],
+                "partitionId": { # A partition ID identifies a grouping of entities. The grouping is always # Entities are partitioned into subsets, currently identified by a project
+                    # ID and namespace ID.
+                    # Queries are scoped to a single partition.
+                    # by project and namespace, however the namespace ID may be empty.
+                    #
+                    # A partition ID contains several dimensions:
+                    # project ID and namespace ID.
+                    #
+                    # Partition dimensions:
+                    #
+                    # - May be `""`.
+                    # - Must be valid UTF-8 bytes.
+                    # - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}`
+                    # If the value of any dimension matches regex `__.*__`, the partition is
+                    # reserved/read-only.
+                    # A reserved/read-only partition ID is forbidden in certain documented
+                    # contexts.
+                    #
+                    # Foreign partition IDs (in which the project ID does
+                    # not match the context project ID ) are discouraged.
+                    # Reads and writes of foreign partition IDs may fail if the project is not in an active state.
+                  "projectId": "A String", # The ID of the project to which the entities belong.
+                  "namespaceId": "A String", # If not empty, the ID of the namespace to which the entities belong.
+                },
+              },
+              "blobValue": "A String", # A blob value.
+                  # May have at most 1,000,000 bytes.
+                  # When `exclude_from_indexes` is false, may have at most 1500 bytes.
+                  # In JSON requests, must be base64-encoded.
+              "stringValue": "A String", # A UTF-8 encoded string value.
+                  # When `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes.
+                  # Otherwise, may be set to at least 1,000,000 bytes.
+              "nullValue": "A String", # A null value.
+              "arrayValue": { # An array value. # An array value.
+                  # Cannot contain another array value.
+                  # A `Value` instance that sets field `array_value` must not set fields
+                  # `meaning` or `exclude_from_indexes`.
+                "values": [ # Values in the array.
+                    # The order of this array may not be preserved if it contains a mix of
+                    # indexed and unindexed values.
+                  # Object with schema name: Value
+                ],
+              },
+              "integerValue": "A String", # An integer value.
+              "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
+                  # of doubles representing degrees latitude and degrees longitude. Unless
+                  # specified otherwise, this must conform to the
+                  # WGS84
+                  # standard. Values must be within normalized ranges.
+                  #
+                  # Example of normalization code in Python:
+                  #
+                  #     def NormalizeLongitude(longitude):
+                  #       """Wraps decimal degrees longitude to [-180.0, 180.0]."""
+                  #       q, r = divmod(longitude, 360.0)
+                  #       if r > 180.0 or (r == 180.0 and q <= -1.0):
+                  #         return r - 360.0
+                  #       return r
+                  #
+                  #     def NormalizeLatLng(latitude, longitude):
+                  #       """Wraps decimal degrees latitude and longitude to
+                  #       [-180.0, 180.0] and [-90.0, 90.0], respectively."""
+                  #       r = latitude % 360.0
+                  #       if r <= 90.0:
+                  #         return r, NormalizeLongitude(longitude)
+                  #       elif r >= 270.0:
+                  #         return r - 360, NormalizeLongitude(longitude)
+                  #       else:
+                  #         return 180 - r, NormalizeLongitude(longitude + 180.0)
+                  #
+                  #     assert 180.0 == NormalizeLongitude(180.0)
+                  #     assert -180.0 == NormalizeLongitude(-180.0)
+                  #     assert -179.0 == NormalizeLongitude(181.0)
+                  #     assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0)
+                  #     assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0)
+                  #     assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0)
+                  #     assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0)
+                  #     assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0)
+                  #     assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0)
+                  #     assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0)
+                  #     assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0)
+                  #     assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0)
+                  #     assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0)
+                "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+              },
+            },
+          },
+          "key": { # A unique identifier for an entity. # The entity's key.
+              #
+              # An entity must have a key, unless otherwise documented (for example,
+              # an entity in `Value.entity_value` may have no key).
+              # An entity's kind is its key path's last element's kind,
+              # or null if it has no key.
+              # If a key's partition ID or any of its path kinds or names are
+              # reserved/read-only, the key is reserved/read-only.
+              # A reserved/read-only key is forbidden in certain documented contexts.
+            "path": [ # The entity path.
+                # An entity path consists of one or more elements composed of a kind and a
+                # string or numerical identifier, which identify entities. The first
+                # element identifies a _root entity_, the second element identifies
+                # a _child_ of the root entity, the third element identifies a child of the
+                # second entity, and so forth. The entities identified by all prefixes of
+                # the path are called the element's _ancestors_.
+                #
+                # An entity path is always fully complete: *all* of the entity's ancestors
+                # are required to be in the path along with the entity identifier itself.
+                # The only exception is that in some documented cases, the identifier in the
+                # last path element (for the entity) itself may be omitted. For example,
+                # the last path element of the key of `Mutation.insert` may have no
+                # identifier.
+                #
+                # A path can never be empty, and a path can have at most 100 elements.
+              { # A (kind, ID/name) pair used to construct a key path.
+                  #
+                  # If either name or ID is set, the element is complete.
+                  # If neither is set, the element is incomplete.
+                "kind": "A String", # The kind of the entity.
+                    # A kind matching regex `__.*__` is reserved/read-only.
+                    # A kind must not contain more than 1500 bytes when UTF-8 encoded.
+                    # Cannot be `""`.
+                "name": "A String", # The name of the entity.
+                    # A name matching regex `__.*__` is reserved/read-only.
+                    # A name must not be more than 1500 bytes when UTF-8 encoded.
+                    # Cannot be `""`.
+                "id": "A String", # The auto-allocated ID of the entity.
+                    # Never equal to zero. Values less than zero are discouraged and may not
+                    # be supported in the future.
+              },
+            ],
+            "partitionId": { # A partition ID identifies a grouping of entities. The grouping is always # Entities are partitioned into subsets, currently identified by a project
+                # ID and namespace ID.
+                # Queries are scoped to a single partition.
+                # by project and namespace, however the namespace ID may be empty.
+                #
+                # A partition ID contains several dimensions:
+                # project ID and namespace ID.
+                #
+                # Partition dimensions:
+                #
+                # - May be `""`.
+                # - Must be valid UTF-8 bytes.
+                # - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}`
+                # If the value of any dimension matches regex `__.*__`, the partition is
+                # reserved/read-only.
+                # A reserved/read-only partition ID is forbidden in certain documented
+                # contexts.
+                #
+                # Foreign partition IDs (in which the project ID does
+                # not match the context project ID ) are discouraged.
+                # Reads and writes of foreign partition IDs may fail if the project is not in an active state.
+              "projectId": "A String", # The ID of the project to which the entities belong.
+              "namespaceId": "A String", # If not empty, the ID of the namespace to which the entities belong.
+            },
+          },
+        },
+      },
+    ],
+    "missing": [ # Entities not found as `ResultType.KEY_ONLY` entities. The order of results
+        # in this field is undefined and has no relation to the order of the keys
+        # in the input.
+      { # The result of fetching an entity from Datastore.
+        "cursor": "A String", # A cursor that points to the position after the result entity.
+            # Set only when the `EntityResult` is part of a `QueryResultBatch` message.
+        "entity": { # A Datastore data object. # The resulting entity.
+            #
+            # An entity is limited to 1 megabyte when stored. That _roughly_
+            # corresponds to a limit of 1 megabyte for the serialized form of this
+            # message.
+          "properties": { # The entity's properties.
+              # The map's keys are property names.
+              # A property name matching regex `__.*__` is reserved.
+              # A reserved property name is forbidden in certain documented contexts.
+              # The name must not contain more than 500 characters.
+              # The name cannot be `""`.
+            "a_key": { # A message that can hold any of the supported value types and associated
+                # metadata.
+              "booleanValue": True or False, # A boolean value.
+              "entityValue": # Object with schema name: Entity # An entity value.
+                  #
+                  # - May have no key.
+                  # - May have a key with an incomplete key path.
+                  # - May have a reserved/read-only key.
+              "timestampValue": "A String", # A timestamp value.
+                  # When stored in the Datastore, precise only to microseconds;
+                  # any additional precision is rounded down.
+              "excludeFromIndexes": True or False, # If the value should be excluded from all indexes including those defined
+                  # explicitly.
+              "doubleValue": 3.14, # A double value.
+              "meaning": 42, # The `meaning` field should only be populated for backwards compatibility.
+              "keyValue": { # A unique identifier for an entity. # A key value.
+                  # If a key's partition ID or any of its path kinds or names are
+                  # reserved/read-only, the key is reserved/read-only.
+                  # A reserved/read-only key is forbidden in certain documented contexts.
+                "path": [ # The entity path.
+                    # An entity path consists of one or more elements composed of a kind and a
+                    # string or numerical identifier, which identify entities. The first
+                    # element identifies a _root entity_, the second element identifies
+                    # a _child_ of the root entity, the third element identifies a child of the
+                    # second entity, and so forth. The entities identified by all prefixes of
+                    # the path are called the element's _ancestors_.
+                    #
+                    # An entity path is always fully complete: *all* of the entity's ancestors
+                    # are required to be in the path along with the entity identifier itself.
+                    # The only exception is that in some documented cases, the identifier in the
+                    # last path element (for the entity) itself may be omitted. For example,
+                    # the last path element of the key of `Mutation.insert` may have no
+                    # identifier.
+                    #
+                    # A path can never be empty, and a path can have at most 100 elements.
+                  { # A (kind, ID/name) pair used to construct a key path.
+                      #
+                      # If either name or ID is set, the element is complete.
+                      # If neither is set, the element is incomplete.
+                    "kind": "A String", # The kind of the entity.
+                        # A kind matching regex `__.*__` is reserved/read-only.
+                        # A kind must not contain more than 1500 bytes when UTF-8 encoded.
+                        # Cannot be `""`.
+                    "name": "A String", # The name of the entity.
+                        # A name matching regex `__.*__` is reserved/read-only.
+                        # A name must not be more than 1500 bytes when UTF-8 encoded.
+                        # Cannot be `""`.
+                    "id": "A String", # The auto-allocated ID of the entity.
+                        # Never equal to zero. Values less than zero are discouraged and may not
+                        # be supported in the future.
+                  },
+                ],
+                "partitionId": { # A partition ID identifies a grouping of entities. The grouping is always # Entities are partitioned into subsets, currently identified by a project
+                    # ID and namespace ID.
+                    # Queries are scoped to a single partition.
+                    # by project and namespace, however the namespace ID may be empty.
+                    #
+                    # A partition ID contains several dimensions:
+                    # project ID and namespace ID.
+                    #
+                    # Partition dimensions:
+                    #
+                    # - May be `""`.
+                    # - Must be valid UTF-8 bytes.
+                    # - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}`
+                    # If the value of any dimension matches regex `__.*__`, the partition is
+                    # reserved/read-only.
+                    # A reserved/read-only partition ID is forbidden in certain documented
+                    # contexts.
+                    #
+                    # Foreign partition IDs (in which the project ID does
+                    # not match the context project ID ) are discouraged.
+                    # Reads and writes of foreign partition IDs may fail if the project is not in an active state.
+                  "projectId": "A String", # The ID of the project to which the entities belong.
+                  "namespaceId": "A String", # If not empty, the ID of the namespace to which the entities belong.
+                },
+              },
+              "blobValue": "A String", # A blob value.
+                  # May have at most 1,000,000 bytes.
+                  # When `exclude_from_indexes` is false, may have at most 1500 bytes.
+                  # In JSON requests, must be base64-encoded.
+              "stringValue": "A String", # A UTF-8 encoded string value.
+                  # When `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes.
+                  # Otherwise, may be set to at least 1,000,000 bytes.
+              "nullValue": "A String", # A null value.
+              "arrayValue": { # An array value. # An array value.
+                  # Cannot contain another array value.
+                  # A `Value` instance that sets field `array_value` must not set fields
+                  # `meaning` or `exclude_from_indexes`.
+                "values": [ # Values in the array.
+                    # The order of this array may not be preserved if it contains a mix of
+                    # indexed and unindexed values.
+                  # Object with schema name: Value
+                ],
+              },
+              "integerValue": "A String", # An integer value.
+              "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
+                  # of doubles representing degrees latitude and degrees longitude. Unless
+                  # specified otherwise, this must conform to the
+                  # WGS84
+                  # standard. Values must be within normalized ranges.
+                  #
+                  # Example of normalization code in Python:
+                  #
+                  #     def NormalizeLongitude(longitude):
+                  #       """Wraps decimal degrees longitude to [-180.0, 180.0]."""
+                  #       q, r = divmod(longitude, 360.0)
+                  #       if r > 180.0 or (r == 180.0 and q <= -1.0):
+                  #         return r - 360.0
+                  #       return r
+                  #
+                  #     def NormalizeLatLng(latitude, longitude):
+                  #       """Wraps decimal degrees latitude and longitude to
+                  #       [-180.0, 180.0] and [-90.0, 90.0], respectively."""
+                  #       r = latitude % 360.0
+                  #       if r <= 90.0:
+                  #         return r, NormalizeLongitude(longitude)
+                  #       elif r >= 270.0:
+                  #         return r - 360, NormalizeLongitude(longitude)
+                  #       else:
+                  #         return 180 - r, NormalizeLongitude(longitude + 180.0)
+                  #
+                  #     assert 180.0 == NormalizeLongitude(180.0)
+                  #     assert -180.0 == NormalizeLongitude(-180.0)
+                  #     assert -179.0 == NormalizeLongitude(181.0)
+                  #     assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0)
+                  #     assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0)
+                  #     assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0)
+                  #     assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0)
+                  #     assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0)
+                  #     assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0)
+                  #     assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0)
+                  #     assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0)
+                  #     assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0)
+                  #     assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0)
+                "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+              },
+            },
+          },
+          "key": { # A unique identifier for an entity. # The entity's key.
+              #
+              # An entity must have a key, unless otherwise documented (for example,
+              # an entity in `Value.entity_value` may have no key).
+              # An entity's kind is its key path's last element's kind,
+              # or null if it has no key.
+              # If a key's partition ID or any of its path kinds or names are
+              # reserved/read-only, the key is reserved/read-only.
+              # A reserved/read-only key is forbidden in certain documented contexts.
+            "path": [ # The entity path.
+                # An entity path consists of one or more elements composed of a kind and a
+                # string or numerical identifier, which identify entities. The first
+                # element identifies a _root entity_, the second element identifies
+                # a _child_ of the root entity, the third element identifies a child of the
+                # second entity, and so forth. The entities identified by all prefixes of
+                # the path are called the element's _ancestors_.
+                #
+                # An entity path is always fully complete: *all* of the entity's ancestors
+                # are required to be in the path along with the entity identifier itself.
+                # The only exception is that in some documented cases, the identifier in the
+                # last path element (for the entity) itself may be omitted. For example,
+                # the last path element of the key of `Mutation.insert` may have no
+                # identifier.
+                #
+                # A path can never be empty, and a path can have at most 100 elements.
+              { # A (kind, ID/name) pair used to construct a key path.
+                  #
+                  # If either name or ID is set, the element is complete.
+                  # If neither is set, the element is incomplete.
+                "kind": "A String", # The kind of the entity.
+                    # A kind matching regex `__.*__` is reserved/read-only.
+                    # A kind must not contain more than 1500 bytes when UTF-8 encoded.
+                    # Cannot be `""`.
+                "name": "A String", # The name of the entity.
+                    # A name matching regex `__.*__` is reserved/read-only.
+                    # A name must not be more than 1500 bytes when UTF-8 encoded.
+                    # Cannot be `""`.
+                "id": "A String", # The auto-allocated ID of the entity.
+                    # Never equal to zero. Values less than zero are discouraged and may not
+                    # be supported in the future.
+              },
+            ],
+            "partitionId": { # A partition ID identifies a grouping of entities. The grouping is always # Entities are partitioned into subsets, currently identified by a project
+                # ID and namespace ID.
+                # Queries are scoped to a single partition.
+                # by project and namespace, however the namespace ID may be empty.
+                #
+                # A partition ID contains several dimensions:
+                # project ID and namespace ID.
+                #
+                # Partition dimensions:
+                #
+                # - May be `""`.
+                # - Must be valid UTF-8 bytes.
+                # - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}`
+                # If the value of any dimension matches regex `__.*__`, the partition is
+                # reserved/read-only.
+                # A reserved/read-only partition ID is forbidden in certain documented
+                # contexts.
+                #
+                # Foreign partition IDs (in which the project ID does
+                # not match the context project ID ) are discouraged.
+                # Reads and writes of foreign partition IDs may fail if the project is not in an active state.
+              "projectId": "A String", # The ID of the project to which the entities belong.
+              "namespaceId": "A String", # If not empty, the ID of the namespace to which the entities belong.
+            },
+          },
+        },
+      },
+    ],
+    "deferred": [ # A list of keys that were not looked up due to resource constraints. The
+        # order of results in this field is undefined and has no relation to the
+        # order of the keys in the input.
+      { # A unique identifier for an entity.
+          # If a key's partition ID or any of its path kinds or names are
+          # reserved/read-only, the key is reserved/read-only.
+          # A reserved/read-only key is forbidden in certain documented contexts.
+        "path": [ # The entity path.
+            # An entity path consists of one or more elements composed of a kind and a
+            # string or numerical identifier, which identify entities. The first
+            # element identifies a _root entity_, the second element identifies
+            # a _child_ of the root entity, the third element identifies a child of the
+            # second entity, and so forth. The entities identified by all prefixes of
+            # the path are called the element's _ancestors_.
+            #
+            # An entity path is always fully complete: *all* of the entity's ancestors
+            # are required to be in the path along with the entity identifier itself.
+            # The only exception is that in some documented cases, the identifier in the
+            # last path element (for the entity) itself may be omitted. For example,
+            # the last path element of the key of `Mutation.insert` may have no
+            # identifier.
+            #
+            # A path can never be empty, and a path can have at most 100 elements.
+          { # A (kind, ID/name) pair used to construct a key path.
+              #
+              # If either name or ID is set, the element is complete.
+              # If neither is set, the element is incomplete.
+            "kind": "A String", # The kind of the entity.
+                # A kind matching regex `__.*__` is reserved/read-only.
+                # A kind must not contain more than 1500 bytes when UTF-8 encoded.
+                # Cannot be `""`.
+            "name": "A String", # The name of the entity.
+                # A name matching regex `__.*__` is reserved/read-only.
+                # A name must not be more than 1500 bytes when UTF-8 encoded.
+                # Cannot be `""`.
+            "id": "A String", # The auto-allocated ID of the entity.
+                # Never equal to zero. Values less than zero are discouraged and may not
+                # be supported in the future.
+          },
+        ],
+        "partitionId": { # A partition ID identifies a grouping of entities. The grouping is always # Entities are partitioned into subsets, currently identified by a project
+            # ID and namespace ID.
+            # Queries are scoped to a single partition.
+            # by project and namespace, however the namespace ID may be empty.
+            #
+            # A partition ID contains several dimensions:
+            # project ID and namespace ID.
+            #
+            # Partition dimensions:
+            #
+            # - May be `""`.
+            # - Must be valid UTF-8 bytes.
+            # - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}`
+            # If the value of any dimension matches regex `__.*__`, the partition is
+            # reserved/read-only.
+            # A reserved/read-only partition ID is forbidden in certain documented
+            # contexts.
+            #
+            # Foreign partition IDs (in which the project ID does
+            # not match the context project ID ) are discouraged.
+            # Reads and writes of foreign partition IDs may fail if the project is not in an active state.
+          "projectId": "A String", # The ID of the project to which the entities belong.
+          "namespaceId": "A String", # If not empty, the ID of the namespace to which the entities belong.
+        },
+      },
+    ],
+  }
+
+ +
+ rollback(projectId, body, x__xgafv=None) +
Rolls back a transaction.
+
+Args:
+  projectId: string, The ID of the project against which to make the request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # The request for google.datastore.v1beta3.Datastore.Rollback.
+    "transaction": "A String", # The transaction identifier, returned by a call to
+        # google.datastore.v1beta3.Datastore.BeginTransaction.
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The response for google.datastore.v1beta3.Datastore.Rollback
+      # (an empty message).
+  }
+
+ +
+ runQuery(projectId, body, x__xgafv=None) +
Queries for entities.
+
+Args:
+  projectId: string, The ID of the project against which to make the request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # The request for google.datastore.v1beta3.Datastore.RunQuery.
+    "query": { # A query for entities. # The query to run.
+      "startCursor": "A String", # A starting point for the query results. Query cursors are
+          # returned in query result batches and
+          # [can only be used to continue the same query](https://cloud.google.com/datastore/docs/concepts/queries#cursors_limits_and_offsets).
+      "kind": [ # The kinds to query (if empty, returns entities of all kinds).
+          # Currently at most 1 kind may be specified.
+        { # A representation of a kind.
+          "name": "A String", # The name of the kind.
+        },
+      ],
+      "projection": [ # The projection to return. Defaults to returning all properties.
+        { # A representation of a property in a projection.
+          "property": { # A reference to a property relative to the kind expressions. # The property to project.
+            "name": "A String", # The name of the property.
+                # If name includes "."s, it may be interpreted as a property name path.
+          },
+        },
+      ],
+      "distinctOn": [ # The properties to make distinct. The query results will contain the first
+          # result for each distinct combination of values for the given properties
+          # (if empty, all results are returned).
+        { # A reference to a property relative to the kind expressions.
+          "name": "A String", # The name of the property.
+              # If name includes "."s, it may be interpreted as a property name path.
+        },
+      ],
+      "filter": { # A holder for any type of filter. # The filter to apply.
+        "compositeFilter": { # A filter that merges multiple other filters using the given operator. # A composite filter.
+          "filters": [ # The list of filters to combine.
+              # Must contain at least one filter.
+            # Object with schema name: Filter
+          ],
+          "op": "A String", # The operator for combining multiple filters.
+        },
+        "propertyFilter": { # A filter on a specific property. # A filter on a property.
+          "property": { # A reference to a property relative to the kind expressions. # The property to filter by.
+            "name": "A String", # The name of the property.
+                # If name includes "."s, it may be interpreted as a property name path.
+          },
+          "value": { # A message that can hold any of the supported value types and associated # The value to compare the property to.
+              # metadata.
+            "booleanValue": True or False, # A boolean value.
+            "entityValue": # Object with schema name: Entity # An entity value.
+                #
+                # - May have no key.
+                # - May have a key with an incomplete key path.
+                # - May have a reserved/read-only key.
+            "timestampValue": "A String", # A timestamp value.
+                # When stored in the Datastore, precise only to microseconds;
+                # any additional precision is rounded down.
+            "excludeFromIndexes": True or False, # If the value should be excluded from all indexes including those defined
+                # explicitly.
+            "doubleValue": 3.14, # A double value.
+            "meaning": 42, # The `meaning` field should only be populated for backwards compatibility.
+            "keyValue": { # A unique identifier for an entity. # A key value.
+                # If a key's partition ID or any of its path kinds or names are
+                # reserved/read-only, the key is reserved/read-only.
+                # A reserved/read-only key is forbidden in certain documented contexts.
+              "path": [ # The entity path.
+                  # An entity path consists of one or more elements composed of a kind and a
+                  # string or numerical identifier, which identify entities. The first
+                  # element identifies a _root entity_, the second element identifies
+                  # a _child_ of the root entity, the third element identifies a child of the
+                  # second entity, and so forth. The entities identified by all prefixes of
+                  # the path are called the element's _ancestors_.
+                  #
+                  # An entity path is always fully complete: *all* of the entity's ancestors
+                  # are required to be in the path along with the entity identifier itself.
+                  # The only exception is that in some documented cases, the identifier in the
+                  # last path element (for the entity) itself may be omitted. For example,
+                  # the last path element of the key of `Mutation.insert` may have no
+                  # identifier.
+                  #
+                  # A path can never be empty, and a path can have at most 100 elements.
+                { # A (kind, ID/name) pair used to construct a key path.
+                    #
+                    # If either name or ID is set, the element is complete.
+                    # If neither is set, the element is incomplete.
+                  "kind": "A String", # The kind of the entity.
+                      # A kind matching regex `__.*__` is reserved/read-only.
+                      # A kind must not contain more than 1500 bytes when UTF-8 encoded.
+                      # Cannot be `""`.
+                  "name": "A String", # The name of the entity.
+                      # A name matching regex `__.*__` is reserved/read-only.
+                      # A name must not be more than 1500 bytes when UTF-8 encoded.
+                      # Cannot be `""`.
+                  "id": "A String", # The auto-allocated ID of the entity.
+                      # Never equal to zero. Values less than zero are discouraged and may not
+                      # be supported in the future.
+                },
+              ],
+              "partitionId": { # A partition ID identifies a grouping of entities. The grouping is always # Entities are partitioned into subsets, currently identified by a project
+                  # ID and namespace ID.
+                  # Queries are scoped to a single partition.
+                  # by project and namespace, however the namespace ID may be empty.
+                  #
+                  # A partition ID contains several dimensions:
+                  # project ID and namespace ID.
+                  #
+                  # Partition dimensions:
+                  #
+                  # - May be `""`.
+                  # - Must be valid UTF-8 bytes.
+                  # - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}`
+                  # If the value of any dimension matches regex `__.*__`, the partition is
+                  # reserved/read-only.
+                  # A reserved/read-only partition ID is forbidden in certain documented
+                  # contexts.
+                  #
+                  # Foreign partition IDs (in which the project ID does
+                  # not match the context project ID ) are discouraged.
+                  # Reads and writes of foreign partition IDs may fail if the project is not in an active state.
+                "projectId": "A String", # The ID of the project to which the entities belong.
+                "namespaceId": "A String", # If not empty, the ID of the namespace to which the entities belong.
+              },
+            },
+            "blobValue": "A String", # A blob value.
+                # May have at most 1,000,000 bytes.
+                # When `exclude_from_indexes` is false, may have at most 1500 bytes.
+                # In JSON requests, must be base64-encoded.
+            "stringValue": "A String", # A UTF-8 encoded string value.
+                # When `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes.
+                # Otherwise, may be set to at least 1,000,000 bytes.
+            "nullValue": "A String", # A null value.
+            "arrayValue": { # An array value. # An array value.
+                # Cannot contain another array value.
+                # A `Value` instance that sets field `array_value` must not set fields
+                # `meaning` or `exclude_from_indexes`.
+              "values": [ # Values in the array.
+                  # The order of this array may not be preserved if it contains a mix of
+                  # indexed and unindexed values.
+                # Object with schema name: Value
+              ],
+            },
+            "integerValue": "A String", # An integer value.
+            "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
+                # of doubles representing degrees latitude and degrees longitude. Unless
+                # specified otherwise, this must conform to the
+                # WGS84
+                # standard. Values must be within normalized ranges.
+                #
+                # Example of normalization code in Python:
+                #
+                #     def NormalizeLongitude(longitude):
+                #       """Wraps decimal degrees longitude to [-180.0, 180.0]."""
+                #       q, r = divmod(longitude, 360.0)
+                #       if r > 180.0 or (r == 180.0 and q <= -1.0):
+                #         return r - 360.0
+                #       return r
+                #
+                #     def NormalizeLatLng(latitude, longitude):
+                #       """Wraps decimal degrees latitude and longitude to
+                #       [-180.0, 180.0] and [-90.0, 90.0], respectively."""
+                #       r = latitude % 360.0
+                #       if r <= 90.0:
+                #         return r, NormalizeLongitude(longitude)
+                #       elif r >= 270.0:
+                #         return r - 360, NormalizeLongitude(longitude)
+                #       else:
+                #         return 180 - r, NormalizeLongitude(longitude + 180.0)
+                #
+                #     assert 180.0 == NormalizeLongitude(180.0)
+                #     assert -180.0 == NormalizeLongitude(-180.0)
+                #     assert -179.0 == NormalizeLongitude(181.0)
+                #     assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0)
+                #     assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0)
+                #     assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0)
+                #     assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0)
+                #     assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0)
+                #     assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0)
+                #     assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0)
+                #     assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0)
+                #     assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0)
+                #     assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0)
+              "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+              "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+            },
+          },
+          "op": "A String", # The operator to filter by.
+        },
+      },
+      "limit": 42, # The maximum number of results to return. Applies after all other
+          # constraints. Optional.
+          # Unspecified is interpreted as no limit.
+          # Must be >= 0 if specified.
+      "offset": 42, # The number of results to skip. Applies before limit, but after all other
+          # constraints. Optional. Must be >= 0 if specified.
+      "endCursor": "A String", # An ending point for the query results. Query cursors are
+          # returned in query result batches and
+          # [can only be used to limit the same query](https://cloud.google.com/datastore/docs/concepts/queries#cursors_limits_and_offsets).
+      "order": [ # The order to apply to the query results (if empty, order is unspecified).
+        { # The desired order for a specific property.
+          "direction": "A String", # The direction to order by. Defaults to `ASCENDING`.
+          "property": { # A reference to a property relative to the kind expressions. # The property to order by.
+            "name": "A String", # The name of the property.
+                # If name includes "."s, it may be interpreted as a property name path.
+          },
+        },
+      ],
+    },
+    "partitionId": { # A partition ID identifies a grouping of entities. The grouping is always # Entities are partitioned into subsets, identified by a partition ID.
+        # Queries are scoped to a single partition.
+        # This partition ID is normalized with the standard default context
+        # partition ID.
+        # by project and namespace, however the namespace ID may be empty.
+        #
+        # A partition ID contains several dimensions:
+        # project ID and namespace ID.
+        #
+        # Partition dimensions:
+        #
+        # - May be `""`.
+        # - Must be valid UTF-8 bytes.
+        # - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}`
+        # If the value of any dimension matches regex `__.*__`, the partition is
+        # reserved/read-only.
+        # A reserved/read-only partition ID is forbidden in certain documented
+        # contexts.
+        #
+        # Foreign partition IDs (in which the project ID does
+        # not match the context project ID ) are discouraged.
+        # Reads and writes of foreign partition IDs may fail if the project is not in an active state.
+      "projectId": "A String", # The ID of the project to which the entities belong.
+      "namespaceId": "A String", # If not empty, the ID of the namespace to which the entities belong.
+    },
+    "gqlQuery": { # A [GQL query](https://cloud.google.com/datastore/docs/apis/gql/gql_reference). # The GQL query to run.
+      "queryString": "A String", # A string of the format described
+          # [here](https://cloud.google.com/datastore/docs/apis/gql/gql_reference).
+      "positionalBindings": [ # Numbered binding site @1 references the first numbered parameter,
+          # effectively using 1-based indexing, rather than the usual 0.
+          # For each binding site numbered i in `query_string`,
+          # there must be an i-th numbered parameter.
+          # The inverse must also be true.
+        { # A binding parameter for a GQL query.
+          "cursor": "A String", # A query cursor. Query cursors are returned in query
+              # result batches.
+          "value": { # A message that can hold any of the supported value types and associated # A value parameter.
+              # metadata.
+            "booleanValue": True or False, # A boolean value.
+            "entityValue": # Object with schema name: Entity # An entity value.
+                #
+                # - May have no key.
+                # - May have a key with an incomplete key path.
+                # - May have a reserved/read-only key.
+            "timestampValue": "A String", # A timestamp value.
+                # When stored in the Datastore, precise only to microseconds;
+                # any additional precision is rounded down.
+            "excludeFromIndexes": True or False, # If the value should be excluded from all indexes including those defined
+                # explicitly.
+            "doubleValue": 3.14, # A double value.
+            "meaning": 42, # The `meaning` field should only be populated for backwards compatibility.
+            "keyValue": { # A unique identifier for an entity. # A key value.
+                # If a key's partition ID or any of its path kinds or names are
+                # reserved/read-only, the key is reserved/read-only.
+                # A reserved/read-only key is forbidden in certain documented contexts.
+              "path": [ # The entity path.
+                  # An entity path consists of one or more elements composed of a kind and a
+                  # string or numerical identifier, which identify entities. The first
+                  # element identifies a _root entity_, the second element identifies
+                  # a _child_ of the root entity, the third element identifies a child of the
+                  # second entity, and so forth. The entities identified by all prefixes of
+                  # the path are called the element's _ancestors_.
+                  #
+                  # An entity path is always fully complete: *all* of the entity's ancestors
+                  # are required to be in the path along with the entity identifier itself.
+                  # The only exception is that in some documented cases, the identifier in the
+                  # last path element (for the entity) itself may be omitted. For example,
+                  # the last path element of the key of `Mutation.insert` may have no
+                  # identifier.
+                  #
+                  # A path can never be empty, and a path can have at most 100 elements.
+                { # A (kind, ID/name) pair used to construct a key path.
+                    #
+                    # If either name or ID is set, the element is complete.
+                    # If neither is set, the element is incomplete.
+                  "kind": "A String", # The kind of the entity.
+                      # A kind matching regex `__.*__` is reserved/read-only.
+                      # A kind must not contain more than 1500 bytes when UTF-8 encoded.
+                      # Cannot be `""`.
+                  "name": "A String", # The name of the entity.
+                      # A name matching regex `__.*__` is reserved/read-only.
+                      # A name must not be more than 1500 bytes when UTF-8 encoded.
+                      # Cannot be `""`.
+                  "id": "A String", # The auto-allocated ID of the entity.
+                      # Never equal to zero. Values less than zero are discouraged and may not
+                      # be supported in the future.
+                },
+              ],
+              "partitionId": { # A partition ID identifies a grouping of entities. The grouping is always # Entities are partitioned into subsets, currently identified by a project
+                  # ID and namespace ID.
+                  # Queries are scoped to a single partition.
+                  # by project and namespace, however the namespace ID may be empty.
+                  #
+                  # A partition ID contains several dimensions:
+                  # project ID and namespace ID.
+                  #
+                  # Partition dimensions:
+                  #
+                  # - May be `""`.
+                  # - Must be valid UTF-8 bytes.
+                  # - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}`
+                  # If the value of any dimension matches regex `__.*__`, the partition is
+                  # reserved/read-only.
+                  # A reserved/read-only partition ID is forbidden in certain documented
+                  # contexts.
+                  #
+                  # Foreign partition IDs (in which the project ID does
+                  # not match the context project ID ) are discouraged.
+                  # Reads and writes of foreign partition IDs may fail if the project is not in an active state.
+                "projectId": "A String", # The ID of the project to which the entities belong.
+                "namespaceId": "A String", # If not empty, the ID of the namespace to which the entities belong.
+              },
+            },
+            "blobValue": "A String", # A blob value.
+                # May have at most 1,000,000 bytes.
+                # When `exclude_from_indexes` is false, may have at most 1500 bytes.
+                # In JSON requests, must be base64-encoded.
+            "stringValue": "A String", # A UTF-8 encoded string value.
+                # When `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes.
+                # Otherwise, may be set to at least 1,000,000 bytes.
+            "nullValue": "A String", # A null value.
+            "arrayValue": { # An array value. # An array value.
+                # Cannot contain another array value.
+                # A `Value` instance that sets field `array_value` must not set fields
+                # `meaning` or `exclude_from_indexes`.
+              "values": [ # Values in the array.
+                  # The order of this array may not be preserved if it contains a mix of
+                  # indexed and unindexed values.
+                # Object with schema name: Value
+              ],
+            },
+            "integerValue": "A String", # An integer value.
+            "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
+                # of doubles representing degrees latitude and degrees longitude. Unless
+                # specified otherwise, this must conform to the
+                # WGS84
+                # standard. Values must be within normalized ranges.
+                #
+                # Example of normalization code in Python:
+                #
+                #     def NormalizeLongitude(longitude):
+                #       """Wraps decimal degrees longitude to [-180.0, 180.0]."""
+                #       q, r = divmod(longitude, 360.0)
+                #       if r > 180.0 or (r == 180.0 and q <= -1.0):
+                #         return r - 360.0
+                #       return r
+                #
+                #     def NormalizeLatLng(latitude, longitude):
+                #       """Wraps decimal degrees latitude and longitude to
+                #       [-180.0, 180.0] and [-90.0, 90.0], respectively."""
+                #       r = latitude % 360.0
+                #       if r <= 90.0:
+                #         return r, NormalizeLongitude(longitude)
+                #       elif r >= 270.0:
+                #         return r - 360, NormalizeLongitude(longitude)
+                #       else:
+                #         return 180 - r, NormalizeLongitude(longitude + 180.0)
+                #
+                #     assert 180.0 == NormalizeLongitude(180.0)
+                #     assert -180.0 == NormalizeLongitude(-180.0)
+                #     assert -179.0 == NormalizeLongitude(181.0)
+                #     assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0)
+                #     assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0)
+                #     assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0)
+                #     assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0)
+                #     assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0)
+                #     assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0)
+                #     assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0)
+                #     assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0)
+                #     assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0)
+                #     assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0)
+              "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+              "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+            },
+          },
+        },
+      ],
+      "namedBindings": { # For each non-reserved named binding site in the query string,
+          # there must be a named parameter with that name,
+          # but not necessarily the inverse.
+          # Key must match regex `A-Za-z_$*`, must not match regex
+          # `__.*__`, and must not be `""`.
+        "a_key": { # A binding parameter for a GQL query.
+          "cursor": "A String", # A query cursor. Query cursors are returned in query
+              # result batches.
+          "value": { # A message that can hold any of the supported value types and associated # A value parameter.
+              # metadata.
+            "booleanValue": True or False, # A boolean value.
+            "entityValue": # Object with schema name: Entity # An entity value.
+                #
+                # - May have no key.
+                # - May have a key with an incomplete key path.
+                # - May have a reserved/read-only key.
+            "timestampValue": "A String", # A timestamp value.
+                # When stored in the Datastore, precise only to microseconds;
+                # any additional precision is rounded down.
+            "excludeFromIndexes": True or False, # If the value should be excluded from all indexes including those defined
+                # explicitly.
+            "doubleValue": 3.14, # A double value.
+            "meaning": 42, # The `meaning` field should only be populated for backwards compatibility.
+            "keyValue": { # A unique identifier for an entity. # A key value.
+                # If a key's partition ID or any of its path kinds or names are
+                # reserved/read-only, the key is reserved/read-only.
+                # A reserved/read-only key is forbidden in certain documented contexts.
+              "path": [ # The entity path.
+                  # An entity path consists of one or more elements composed of a kind and a
+                  # string or numerical identifier, which identify entities. The first
+                  # element identifies a _root entity_, the second element identifies
+                  # a _child_ of the root entity, the third element identifies a child of the
+                  # second entity, and so forth. The entities identified by all prefixes of
+                  # the path are called the element's _ancestors_.
+                  #
+                  # An entity path is always fully complete: *all* of the entity's ancestors
+                  # are required to be in the path along with the entity identifier itself.
+                  # The only exception is that in some documented cases, the identifier in the
+                  # last path element (for the entity) itself may be omitted. For example,
+                  # the last path element of the key of `Mutation.insert` may have no
+                  # identifier.
+                  #
+                  # A path can never be empty, and a path can have at most 100 elements.
+                { # A (kind, ID/name) pair used to construct a key path.
+                    #
+                    # If either name or ID is set, the element is complete.
+                    # If neither is set, the element is incomplete.
+                  "kind": "A String", # The kind of the entity.
+                      # A kind matching regex `__.*__` is reserved/read-only.
+                      # A kind must not contain more than 1500 bytes when UTF-8 encoded.
+                      # Cannot be `""`.
+                  "name": "A String", # The name of the entity.
+                      # A name matching regex `__.*__` is reserved/read-only.
+                      # A name must not be more than 1500 bytes when UTF-8 encoded.
+                      # Cannot be `""`.
+                  "id": "A String", # The auto-allocated ID of the entity.
+                      # Never equal to zero. Values less than zero are discouraged and may not
+                      # be supported in the future.
+                },
+              ],
+              "partitionId": { # A partition ID identifies a grouping of entities. The grouping is always # Entities are partitioned into subsets, currently identified by a project
+                  # ID and namespace ID.
+                  # Queries are scoped to a single partition.
+                  # by project and namespace, however the namespace ID may be empty.
+                  #
+                  # A partition ID contains several dimensions:
+                  # project ID and namespace ID.
+                  #
+                  # Partition dimensions:
+                  #
+                  # - May be `""`.
+                  # - Must be valid UTF-8 bytes.
+                  # - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}`
+                  # If the value of any dimension matches regex `__.*__`, the partition is
+                  # reserved/read-only.
+                  # A reserved/read-only partition ID is forbidden in certain documented
+                  # contexts.
+                  #
+                  # Foreign partition IDs (in which the project ID does
+                  # not match the context project ID ) are discouraged.
+                  # Reads and writes of foreign partition IDs may fail if the project is not in an active state.
+                "projectId": "A String", # The ID of the project to which the entities belong.
+                "namespaceId": "A String", # If not empty, the ID of the namespace to which the entities belong.
+              },
+            },
+            "blobValue": "A String", # A blob value.
+                # May have at most 1,000,000 bytes.
+                # When `exclude_from_indexes` is false, may have at most 1500 bytes.
+                # In JSON requests, must be base64-encoded.
+            "stringValue": "A String", # A UTF-8 encoded string value.
+                # When `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes.
+                # Otherwise, may be set to at least 1,000,000 bytes.
+            "nullValue": "A String", # A null value.
+            "arrayValue": { # An array value. # An array value.
+                # Cannot contain another array value.
+                # A `Value` instance that sets field `array_value` must not set fields
+                # `meaning` or `exclude_from_indexes`.
+              "values": [ # Values in the array.
+                  # The order of this array may not be preserved if it contains a mix of
+                  # indexed and unindexed values.
+                # Object with schema name: Value
+              ],
+            },
+            "integerValue": "A String", # An integer value.
+            "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
+                # of doubles representing degrees latitude and degrees longitude. Unless
+                # specified otherwise, this must conform to the
+                # WGS84
+                # standard. Values must be within normalized ranges.
+                #
+                # Example of normalization code in Python:
+                #
+                #     def NormalizeLongitude(longitude):
+                #       """Wraps decimal degrees longitude to [-180.0, 180.0]."""
+                #       q, r = divmod(longitude, 360.0)
+                #       if r > 180.0 or (r == 180.0 and q <= -1.0):
+                #         return r - 360.0
+                #       return r
+                #
+                #     def NormalizeLatLng(latitude, longitude):
+                #       """Wraps decimal degrees latitude and longitude to
+                #       [-180.0, 180.0] and [-90.0, 90.0], respectively."""
+                #       r = latitude % 360.0
+                #       if r <= 90.0:
+                #         return r, NormalizeLongitude(longitude)
+                #       elif r >= 270.0:
+                #         return r - 360, NormalizeLongitude(longitude)
+                #       else:
+                #         return 180 - r, NormalizeLongitude(longitude + 180.0)
+                #
+                #     assert 180.0 == NormalizeLongitude(180.0)
+                #     assert -180.0 == NormalizeLongitude(-180.0)
+                #     assert -179.0 == NormalizeLongitude(181.0)
+                #     assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0)
+                #     assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0)
+                #     assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0)
+                #     assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0)
+                #     assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0)
+                #     assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0)
+                #     assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0)
+                #     assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0)
+                #     assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0)
+                #     assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0)
+              "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+              "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+            },
+          },
+        },
+      },
+      "allowLiterals": True or False, # When false, the query string must not contain any literals and instead
+          # must bind all values. For example,
+          # `SELECT * FROM Kind WHERE a = 'string literal'` is not allowed, while
+          # `SELECT * FROM Kind WHERE a = @value` is.
+    },
+    "readOptions": { # The options shared by read requests. # The options for this query.
+      "transaction": "A String", # The identifier of the transaction in which to read. A
+          # transaction identifier is returned by a call to
+          # BeginTransaction.
+      "readConsistency": "A String", # The non-transactional read consistency to use.
+          # Cannot be set to `STRONG` for global queries.
+    },
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The response for google.datastore.v1beta3.Datastore.RunQuery.
+    "query": { # A query for entities. # The parsed form of the `GqlQuery` from the request, if it was set.
+      "startCursor": "A String", # A starting point for the query results. Query cursors are
+          # returned in query result batches and
+          # [can only be used to continue the same query](https://cloud.google.com/datastore/docs/concepts/queries#cursors_limits_and_offsets).
+      "kind": [ # The kinds to query (if empty, returns entities of all kinds).
+          # Currently at most 1 kind may be specified.
+        { # A representation of a kind.
+          "name": "A String", # The name of the kind.
+        },
+      ],
+      "projection": [ # The projection to return. Defaults to returning all properties.
+        { # A representation of a property in a projection.
+          "property": { # A reference to a property relative to the kind expressions. # The property to project.
+            "name": "A String", # The name of the property.
+                # If name includes "."s, it may be interpreted as a property name path.
+          },
+        },
+      ],
+      "distinctOn": [ # The properties to make distinct. The query results will contain the first
+          # result for each distinct combination of values for the given properties
+          # (if empty, all results are returned).
+        { # A reference to a property relative to the kind expressions.
+          "name": "A String", # The name of the property.
+              # If name includes "."s, it may be interpreted as a property name path.
+        },
+      ],
+      "filter": { # A holder for any type of filter. # The filter to apply.
+        "compositeFilter": { # A filter that merges multiple other filters using the given operator. # A composite filter.
+          "filters": [ # The list of filters to combine.
+              # Must contain at least one filter.
+            # Object with schema name: Filter
+          ],
+          "op": "A String", # The operator for combining multiple filters.
+        },
+        "propertyFilter": { # A filter on a specific property. # A filter on a property.
+          "property": { # A reference to a property relative to the kind expressions. # The property to filter by.
+            "name": "A String", # The name of the property.
+                # If name includes "."s, it may be interpreted as a property name path.
+          },
+          "value": { # A message that can hold any of the supported value types and associated # The value to compare the property to.
+              # metadata.
+            "booleanValue": True or False, # A boolean value.
+            "entityValue": # Object with schema name: Entity # An entity value.
+                #
+                # - May have no key.
+                # - May have a key with an incomplete key path.
+                # - May have a reserved/read-only key.
+            "timestampValue": "A String", # A timestamp value.
+                # When stored in the Datastore, precise only to microseconds;
+                # any additional precision is rounded down.
+            "excludeFromIndexes": True or False, # If the value should be excluded from all indexes including those defined
+                # explicitly.
+            "doubleValue": 3.14, # A double value.
+            "meaning": 42, # The `meaning` field should only be populated for backwards compatibility.
+            "keyValue": { # A unique identifier for an entity. # A key value.
+                # If a key's partition ID or any of its path kinds or names are
+                # reserved/read-only, the key is reserved/read-only.
+                # A reserved/read-only key is forbidden in certain documented contexts.
+              "path": [ # The entity path.
+                  # An entity path consists of one or more elements composed of a kind and a
+                  # string or numerical identifier, which identify entities. The first
+                  # element identifies a _root entity_, the second element identifies
+                  # a _child_ of the root entity, the third element identifies a child of the
+                  # second entity, and so forth. The entities identified by all prefixes of
+                  # the path are called the element's _ancestors_.
+                  #
+                  # An entity path is always fully complete: *all* of the entity's ancestors
+                  # are required to be in the path along with the entity identifier itself.
+                  # The only exception is that in some documented cases, the identifier in the
+                  # last path element (for the entity) itself may be omitted. For example,
+                  # the last path element of the key of `Mutation.insert` may have no
+                  # identifier.
+                  #
+                  # A path can never be empty, and a path can have at most 100 elements.
+                { # A (kind, ID/name) pair used to construct a key path.
+                    #
+                    # If either name or ID is set, the element is complete.
+                    # If neither is set, the element is incomplete.
+                  "kind": "A String", # The kind of the entity.
+                      # A kind matching regex `__.*__` is reserved/read-only.
+                      # A kind must not contain more than 1500 bytes when UTF-8 encoded.
+                      # Cannot be `""`.
+                  "name": "A String", # The name of the entity.
+                      # A name matching regex `__.*__` is reserved/read-only.
+                      # A name must not be more than 1500 bytes when UTF-8 encoded.
+                      # Cannot be `""`.
+                  "id": "A String", # The auto-allocated ID of the entity.
+                      # Never equal to zero. Values less than zero are discouraged and may not
+                      # be supported in the future.
+                },
+              ],
+              "partitionId": { # A partition ID identifies a grouping of entities. The grouping is always # Entities are partitioned into subsets, currently identified by a project
+                  # ID and namespace ID.
+                  # Queries are scoped to a single partition.
+                  # by project and namespace, however the namespace ID may be empty.
+                  #
+                  # A partition ID contains several dimensions:
+                  # project ID and namespace ID.
+                  #
+                  # Partition dimensions:
+                  #
+                  # - May be `""`.
+                  # - Must be valid UTF-8 bytes.
+                  # - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}`
+                  # If the value of any dimension matches regex `__.*__`, the partition is
+                  # reserved/read-only.
+                  # A reserved/read-only partition ID is forbidden in certain documented
+                  # contexts.
+                  #
+                  # Foreign partition IDs (in which the project ID does
+                  # not match the context project ID ) are discouraged.
+                  # Reads and writes of foreign partition IDs may fail if the project is not in an active state.
+                "projectId": "A String", # The ID of the project to which the entities belong.
+                "namespaceId": "A String", # If not empty, the ID of the namespace to which the entities belong.
+              },
+            },
+            "blobValue": "A String", # A blob value.
+                # May have at most 1,000,000 bytes.
+                # When `exclude_from_indexes` is false, may have at most 1500 bytes.
+                # In JSON requests, must be base64-encoded.
+            "stringValue": "A String", # A UTF-8 encoded string value.
+                # When `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes.
+                # Otherwise, may be set to at least 1,000,000 bytes.
+            "nullValue": "A String", # A null value.
+            "arrayValue": { # An array value. # An array value.
+                # Cannot contain another array value.
+                # A `Value` instance that sets field `array_value` must not set fields
+                # `meaning` or `exclude_from_indexes`.
+              "values": [ # Values in the array.
+                  # The order of this array may not be preserved if it contains a mix of
+                  # indexed and unindexed values.
+                # Object with schema name: Value
+              ],
+            },
+            "integerValue": "A String", # An integer value.
+            "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
+                # of doubles representing degrees latitude and degrees longitude. Unless
+                # specified otherwise, this must conform to the
+                # WGS84
+                # standard. Values must be within normalized ranges.
+                #
+                # Example of normalization code in Python:
+                #
+                #     def NormalizeLongitude(longitude):
+                #       """Wraps decimal degrees longitude to [-180.0, 180.0]."""
+                #       q, r = divmod(longitude, 360.0)
+                #       if r > 180.0 or (r == 180.0 and q <= -1.0):
+                #         return r - 360.0
+                #       return r
+                #
+                #     def NormalizeLatLng(latitude, longitude):
+                #       """Wraps decimal degrees latitude and longitude to
+                #       [-180.0, 180.0] and [-90.0, 90.0], respectively."""
+                #       r = latitude % 360.0
+                #       if r <= 90.0:
+                #         return r, NormalizeLongitude(longitude)
+                #       elif r >= 270.0:
+                #         return r - 360, NormalizeLongitude(longitude)
+                #       else:
+                #         return 180 - r, NormalizeLongitude(longitude + 180.0)
+                #
+                #     assert 180.0 == NormalizeLongitude(180.0)
+                #     assert -180.0 == NormalizeLongitude(-180.0)
+                #     assert -179.0 == NormalizeLongitude(181.0)
+                #     assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0)
+                #     assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0)
+                #     assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0)
+                #     assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0)
+                #     assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0)
+                #     assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0)
+                #     assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0)
+                #     assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0)
+                #     assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0)
+                #     assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0)
+              "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+              "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+            },
+          },
+          "op": "A String", # The operator to filter by.
+        },
+      },
+      "limit": 42, # The maximum number of results to return. Applies after all other
+          # constraints. Optional.
+          # Unspecified is interpreted as no limit.
+          # Must be >= 0 if specified.
+      "offset": 42, # The number of results to skip. Applies before limit, but after all other
+          # constraints. Optional. Must be >= 0 if specified.
+      "endCursor": "A String", # An ending point for the query results. Query cursors are
+          # returned in query result batches and
+          # [can only be used to limit the same query](https://cloud.google.com/datastore/docs/concepts/queries#cursors_limits_and_offsets).
+      "order": [ # The order to apply to the query results (if empty, order is unspecified).
+        { # The desired order for a specific property.
+          "direction": "A String", # The direction to order by. Defaults to `ASCENDING`.
+          "property": { # A reference to a property relative to the kind expressions. # The property to order by.
+            "name": "A String", # The name of the property.
+                # If name includes "."s, it may be interpreted as a property name path.
+          },
+        },
+      ],
+    },
+    "batch": { # A batch of results produced by a query. # A batch of query results (always present).
+      "entityResultType": "A String", # The result type for every entity in `entity_results`.
+      "skippedResults": 42, # The number of results skipped, typically because of an offset.
+      "entityResults": [ # The results for this batch.
+        { # The result of fetching an entity from Datastore.
+          "cursor": "A String", # A cursor that points to the position after the result entity.
+              # Set only when the `EntityResult` is part of a `QueryResultBatch` message.
+          "entity": { # A Datastore data object. # The resulting entity.
+              #
+              # An entity is limited to 1 megabyte when stored. That _roughly_
+              # corresponds to a limit of 1 megabyte for the serialized form of this
+              # message.
+            "properties": { # The entity's properties.
+                # The map's keys are property names.
+                # A property name matching regex `__.*__` is reserved.
+                # A reserved property name is forbidden in certain documented contexts.
+                # The name must not contain more than 500 characters.
+                # The name cannot be `""`.
+              "a_key": { # A message that can hold any of the supported value types and associated
+                  # metadata.
+                "booleanValue": True or False, # A boolean value.
+                "entityValue": # Object with schema name: Entity # An entity value.
+                    #
+                    # - May have no key.
+                    # - May have a key with an incomplete key path.
+                    # - May have a reserved/read-only key.
+                "timestampValue": "A String", # A timestamp value.
+                    # When stored in the Datastore, precise only to microseconds;
+                    # any additional precision is rounded down.
+                "excludeFromIndexes": True or False, # If the value should be excluded from all indexes including those defined
+                    # explicitly.
+                "doubleValue": 3.14, # A double value.
+                "meaning": 42, # The `meaning` field should only be populated for backwards compatibility.
+                "keyValue": { # A unique identifier for an entity. # A key value.
+                    # If a key's partition ID or any of its path kinds or names are
+                    # reserved/read-only, the key is reserved/read-only.
+                    # A reserved/read-only key is forbidden in certain documented contexts.
+                  "path": [ # The entity path.
+                      # An entity path consists of one or more elements composed of a kind and a
+                      # string or numerical identifier, which identify entities. The first
+                      # element identifies a _root entity_, the second element identifies
+                      # a _child_ of the root entity, the third element identifies a child of the
+                      # second entity, and so forth. The entities identified by all prefixes of
+                      # the path are called the element's _ancestors_.
+                      #
+                      # An entity path is always fully complete: *all* of the entity's ancestors
+                      # are required to be in the path along with the entity identifier itself.
+                      # The only exception is that in some documented cases, the identifier in the
+                      # last path element (for the entity) itself may be omitted. For example,
+                      # the last path element of the key of `Mutation.insert` may have no
+                      # identifier.
+                      #
+                      # A path can never be empty, and a path can have at most 100 elements.
+                    { # A (kind, ID/name) pair used to construct a key path.
+                        #
+                        # If either name or ID is set, the element is complete.
+                        # If neither is set, the element is incomplete.
+                      "kind": "A String", # The kind of the entity.
+                          # A kind matching regex `__.*__` is reserved/read-only.
+                          # A kind must not contain more than 1500 bytes when UTF-8 encoded.
+                          # Cannot be `""`.
+                      "name": "A String", # The name of the entity.
+                          # A name matching regex `__.*__` is reserved/read-only.
+                          # A name must not be more than 1500 bytes when UTF-8 encoded.
+                          # Cannot be `""`.
+                      "id": "A String", # The auto-allocated ID of the entity.
+                          # Never equal to zero. Values less than zero are discouraged and may not
+                          # be supported in the future.
+                    },
+                  ],
+                  "partitionId": { # A partition ID identifies a grouping of entities. The grouping is always # Entities are partitioned into subsets, currently identified by a project
+                      # ID and namespace ID.
+                      # Queries are scoped to a single partition.
+                      # by project and namespace, however the namespace ID may be empty.
+                      #
+                      # A partition ID contains several dimensions:
+                      # project ID and namespace ID.
+                      #
+                      # Partition dimensions:
+                      #
+                      # - May be `""`.
+                      # - Must be valid UTF-8 bytes.
+                      # - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}`
+                      # If the value of any dimension matches regex `__.*__`, the partition is
+                      # reserved/read-only.
+                      # A reserved/read-only partition ID is forbidden in certain documented
+                      # contexts.
+                      #
+                      # Foreign partition IDs (in which the project ID does
+                      # not match the context project ID ) are discouraged.
+                      # Reads and writes of foreign partition IDs may fail if the project is not in an active state.
+                    "projectId": "A String", # The ID of the project to which the entities belong.
+                    "namespaceId": "A String", # If not empty, the ID of the namespace to which the entities belong.
+                  },
+                },
+                "blobValue": "A String", # A blob value.
+                    # May have at most 1,000,000 bytes.
+                    # When `exclude_from_indexes` is false, may have at most 1500 bytes.
+                    # In JSON requests, must be base64-encoded.
+                "stringValue": "A String", # A UTF-8 encoded string value.
+                    # When `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes.
+                    # Otherwise, may be set to at least 1,000,000 bytes.
+                "nullValue": "A String", # A null value.
+                "arrayValue": { # An array value. # An array value.
+                    # Cannot contain another array value.
+                    # A `Value` instance that sets field `array_value` must not set fields
+                    # `meaning` or `exclude_from_indexes`.
+                  "values": [ # Values in the array.
+                      # The order of this array may not be preserved if it contains a mix of
+                      # indexed and unindexed values.
+                    # Object with schema name: Value
+                  ],
+                },
+                "integerValue": "A String", # An integer value.
+                "geoPointValue": { # An object representing a latitude/longitude pair. This is expressed as a pair # A geo point value representing a point on the surface of Earth.
+                    # of doubles representing degrees latitude and degrees longitude. Unless
+                    # specified otherwise, this must conform to the
+                    # WGS84
+                    # standard. Values must be within normalized ranges.
+                    #
+                    # Example of normalization code in Python:
+                    #
+                    #     def NormalizeLongitude(longitude):
+                    #       """Wraps decimal degrees longitude to [-180.0, 180.0]."""
+                    #       q, r = divmod(longitude, 360.0)
+                    #       if r > 180.0 or (r == 180.0 and q <= -1.0):
+                    #         return r - 360.0
+                    #       return r
+                    #
+                    #     def NormalizeLatLng(latitude, longitude):
+                    #       """Wraps decimal degrees latitude and longitude to
+                    #       [-180.0, 180.0] and [-90.0, 90.0], respectively."""
+                    #       r = latitude % 360.0
+                    #       if r <= 90.0:
+                    #         return r, NormalizeLongitude(longitude)
+                    #       elif r >= 270.0:
+                    #         return r - 360, NormalizeLongitude(longitude)
+                    #       else:
+                    #         return 180 - r, NormalizeLongitude(longitude + 180.0)
+                    #
+                    #     assert 180.0 == NormalizeLongitude(180.0)
+                    #     assert -180.0 == NormalizeLongitude(-180.0)
+                    #     assert -179.0 == NormalizeLongitude(181.0)
+                    #     assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0)
+                    #     assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0)
+                    #     assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0)
+                    #     assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0)
+                    #     assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0)
+                    #     assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0)
+                    #     assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0)
+                    #     assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0)
+                    #     assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0)
+                    #     assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0)
+                  "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                  "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                },
+              },
+            },
+            "key": { # A unique identifier for an entity. # The entity's key.
+                #
+                # An entity must have a key, unless otherwise documented (for example,
+                # an entity in `Value.entity_value` may have no key).
+                # An entity's kind is its key path's last element's kind,
+                # or null if it has no key.
+                # If a key's partition ID or any of its path kinds or names are
+                # reserved/read-only, the key is reserved/read-only.
+                # A reserved/read-only key is forbidden in certain documented contexts.
+              "path": [ # The entity path.
+                  # An entity path consists of one or more elements composed of a kind and a
+                  # string or numerical identifier, which identify entities. The first
+                  # element identifies a _root entity_, the second element identifies
+                  # a _child_ of the root entity, the third element identifies a child of the
+                  # second entity, and so forth. The entities identified by all prefixes of
+                  # the path are called the element's _ancestors_.
+                  #
+                  # An entity path is always fully complete: *all* of the entity's ancestors
+                  # are required to be in the path along with the entity identifier itself.
+                  # The only exception is that in some documented cases, the identifier in the
+                  # last path element (for the entity) itself may be omitted. For example,
+                  # the last path element of the key of `Mutation.insert` may have no
+                  # identifier.
+                  #
+                  # A path can never be empty, and a path can have at most 100 elements.
+                { # A (kind, ID/name) pair used to construct a key path.
+                    #
+                    # If either name or ID is set, the element is complete.
+                    # If neither is set, the element is incomplete.
+                  "kind": "A String", # The kind of the entity.
+                      # A kind matching regex `__.*__` is reserved/read-only.
+                      # A kind must not contain more than 1500 bytes when UTF-8 encoded.
+                      # Cannot be `""`.
+                  "name": "A String", # The name of the entity.
+                      # A name matching regex `__.*__` is reserved/read-only.
+                      # A name must not be more than 1500 bytes when UTF-8 encoded.
+                      # Cannot be `""`.
+                  "id": "A String", # The auto-allocated ID of the entity.
+                      # Never equal to zero. Values less than zero are discouraged and may not
+                      # be supported in the future.
+                },
+              ],
+              "partitionId": { # A partition ID identifies a grouping of entities. The grouping is always # Entities are partitioned into subsets, currently identified by a project
+                  # ID and namespace ID.
+                  # Queries are scoped to a single partition.
+                  # by project and namespace, however the namespace ID may be empty.
+                  #
+                  # A partition ID contains several dimensions:
+                  # project ID and namespace ID.
+                  #
+                  # Partition dimensions:
+                  #
+                  # - May be `""`.
+                  # - Must be valid UTF-8 bytes.
+                  # - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}`
+                  # If the value of any dimension matches regex `__.*__`, the partition is
+                  # reserved/read-only.
+                  # A reserved/read-only partition ID is forbidden in certain documented
+                  # contexts.
+                  #
+                  # Foreign partition IDs (in which the project ID does
+                  # not match the context project ID ) are discouraged.
+                  # Reads and writes of foreign partition IDs may fail if the project is not in an active state.
+                "projectId": "A String", # The ID of the project to which the entities belong.
+                "namespaceId": "A String", # If not empty, the ID of the namespace to which the entities belong.
+              },
+            },
+          },
+        },
+      ],
+      "skippedCursor": "A String", # A cursor that points to the position after the last skipped result.
+          # Will be set when `skipped_results` != 0.
+      "moreResults": "A String", # The state of the query after the current batch.
+      "endCursor": "A String", # A cursor that points to the position after the last result in the batch.
+    },
+  }
+
+ + \ No newline at end of file diff --git a/docs/dyn/deploymentmanager_v2.deployments.html b/docs/dyn/deploymentmanager_v2.deployments.html index 4f03ec88286..ae3133c38a7 100644 --- a/docs/dyn/deploymentmanager_v2.deployments.html +++ b/docs/dyn/deploymentmanager_v2.deployments.html @@ -144,7 +144,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -159,7 +159,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -202,7 +202,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -217,7 +217,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -282,7 +282,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -297,7 +297,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -317,6 +317,7 @@

Method Details

}, }, "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server. + "selfLink": "A String", # [Output Only] Self link for the deployment. "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. }
@@ -374,7 +375,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -389,7 +390,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -409,6 +410,7 @@

Method Details

}, }, "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server. + "selfLink": "A String", # [Output Only] Self link for the deployment. "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. } @@ -439,7 +441,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -454,7 +456,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -476,11 +478,11 @@

Method Details

The field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. -For example, to filter for instances whose name is not equal to example-instance, you would use filter=name ne example-instance. +For example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance. -Compute Engine Beta API Only: If you use filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. In particular, use filtering on nested fields to take advantage of instance labels to organize and filter results based on label values. +Compute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values. -The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions meaning that resources must match all expressions to pass the filters. +The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters. Returns: An object of the form: @@ -532,7 +534,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -547,7 +549,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -567,6 +569,7 @@

Method Details

}, }, "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server. + "selfLink": "A String", # [Output Only] Self link for the deployment. "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. }, ], @@ -641,7 +644,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -656,7 +659,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -676,6 +679,7 @@

Method Details

}, }, "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server. + "selfLink": "A String", # [Output Only] Self link for the deployment. "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. } @@ -714,7 +718,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -729,7 +733,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -781,7 +785,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -796,7 +800,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -860,7 +864,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -875,7 +879,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -895,6 +899,7 @@

Method Details

}, }, "id": "A String", # [Output Only] Unique identifier for the resource; defined by the server. + "selfLink": "A String", # [Output Only] Self link for the deployment. "name": "A String", # Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. } @@ -933,7 +938,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -948,7 +953,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, diff --git a/docs/dyn/deploymentmanager_v2.manifests.html b/docs/dyn/deploymentmanager_v2.manifests.html index aed215452eb..af960f091ce 100644 --- a/docs/dyn/deploymentmanager_v2.manifests.html +++ b/docs/dyn/deploymentmanager_v2.manifests.html @@ -128,11 +128,11 @@

Method Details

The field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. -For example, to filter for instances whose name is not equal to example-instance, you would use filter=name ne example-instance. +For example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance. -Compute Engine Beta API Only: If you use filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. In particular, use filtering on nested fields to take advantage of instance labels to organize and filter results based on label values. +Compute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values. -The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions meaning that resources must match all expressions to pass the filters. +The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters. Returns: An object of the form: diff --git a/docs/dyn/deploymentmanager_v2.operations.html b/docs/dyn/deploymentmanager_v2.operations.html index d446317b24e..5bf51f8841f 100644 --- a/docs/dyn/deploymentmanager_v2.operations.html +++ b/docs/dyn/deploymentmanager_v2.operations.html @@ -117,7 +117,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -132,7 +132,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -154,11 +154,11 @@

Method Details

The field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. -For example, to filter for instances whose name is not equal to example-instance, you would use filter=name ne example-instance. +For example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance. -Compute Engine Beta API Only: If you use filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. In particular, use filtering on nested fields to take advantage of instance labels to organize and filter results based on label values. +Compute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values. -The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions meaning that resources must match all expressions to pass the filters. +The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters. Returns: An object of the form: @@ -188,7 +188,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -203,7 +203,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, diff --git a/docs/dyn/deploymentmanager_v2.resources.html b/docs/dyn/deploymentmanager_v2.resources.html index 5c83b892070..4441fb41c9e 100644 --- a/docs/dyn/deploymentmanager_v2.resources.html +++ b/docs/dyn/deploymentmanager_v2.resources.html @@ -108,7 +108,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -124,7 +124,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -137,7 +137,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, @@ -164,11 +164,11 @@

Method Details

The field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. -For example, to filter for instances whose name is not equal to example-instance, you would use filter=name ne example-instance. +For example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance. -Compute Engine Beta API Only: If you use filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. In particular, use filtering on nested fields to take advantage of instance labels to organize and filter results based on label values. +Compute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values. -The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions meaning that resources must match all expressions to pass the filters. +The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters. Returns: An object of the form: @@ -188,7 +188,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -204,7 +204,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -217,7 +217,7 @@

Method Details

{ "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, diff --git a/docs/dyn/deploymentmanager_v2.types.html b/docs/dyn/deploymentmanager_v2.types.html index 4d4c8b4bf1c..eeb905d4cc2 100644 --- a/docs/dyn/deploymentmanager_v2.types.html +++ b/docs/dyn/deploymentmanager_v2.types.html @@ -93,11 +93,11 @@

Method Details

The field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. -For example, to filter for instances whose name is not equal to example-instance, you would use filter=name ne example-instance. +For example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance. -Compute Engine Beta API Only: If you use filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. In particular, use filtering on nested fields to take advantage of instance labels to organize and filter results based on label values. +Compute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values. -The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions meaning that resources must match all expressions to pass the filters. +The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters. Returns: An object of the form: diff --git a/docs/dyn/dfareporting_v2_5.accountActiveAdSummaries.html b/docs/dyn/dfareporting_v2_5.accountActiveAdSummaries.html new file mode 100644 index 00000000000..e9b54029bf5 --- /dev/null +++ b/docs/dyn/dfareporting_v2_5.accountActiveAdSummaries.html @@ -0,0 +1,101 @@ + + + +

DCM/DFA Reporting And Trafficking API . accountActiveAdSummaries

+

Instance Methods

+

+ get(profileId, summaryAccountId)

+

Gets the account's active ad summary by account ID.

+

Method Details

+
+ get(profileId, summaryAccountId) +
Gets the account's active ad summary by account ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  summaryAccountId: string, Account ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Gets a summary of active ads in an account.
+    "availableAds": "A String", # Ads that can be activated for the account.
+    "kind": "dfareporting#accountActiveAdSummary", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#accountActiveAdSummary".
+    "activeAdsLimitTier": "A String", # Maximum number of active ads allowed for the account.
+    "activeAds": "A String", # Ads that have been activated for the account
+    "accountId": "A String", # ID of the account.
+  }
+
+ + \ No newline at end of file diff --git a/docs/dyn/dfareporting_v2_5.accountPermissionGroups.html b/docs/dyn/dfareporting_v2_5.accountPermissionGroups.html new file mode 100644 index 00000000000..7f40fac41eb --- /dev/null +++ b/docs/dyn/dfareporting_v2_5.accountPermissionGroups.html @@ -0,0 +1,124 @@ + + + +

DCM/DFA Reporting And Trafficking API . accountPermissionGroups

+

Instance Methods

+

+ get(profileId, id)

+

Gets one account permission group by ID.

+

+ list(profileId)

+

Retrieves the list of account permission groups.

+

Method Details

+
+ get(profileId, id) +
Gets one account permission group by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Account permission group ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # AccountPermissionGroups contains a mapping of permission group IDs to names. A permission group is a grouping of account permissions.
+    "kind": "dfareporting#accountPermissionGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#accountPermissionGroup".
+    "id": "A String", # ID of this account permission group.
+    "name": "A String", # Name of this account permission group.
+  }
+
+ +
+ list(profileId) +
Retrieves the list of account permission groups.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+
+Returns:
+  An object of the form:
+
+    { # Account Permission Group List Response
+    "kind": "dfareporting#accountPermissionGroupsListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#accountPermissionGroupsListResponse".
+    "accountPermissionGroups": [ # Account permission group collection.
+      { # AccountPermissionGroups contains a mapping of permission group IDs to names. A permission group is a grouping of account permissions.
+        "kind": "dfareporting#accountPermissionGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#accountPermissionGroup".
+        "id": "A String", # ID of this account permission group.
+        "name": "A String", # Name of this account permission group.
+      },
+    ],
+  }
+
+ + \ No newline at end of file diff --git a/docs/dyn/dfareporting_v2_5.accountPermissions.html b/docs/dyn/dfareporting_v2_5.accountPermissions.html new file mode 100644 index 00000000000..2caa82ad56b --- /dev/null +++ b/docs/dyn/dfareporting_v2_5.accountPermissions.html @@ -0,0 +1,142 @@ + + + +

DCM/DFA Reporting And Trafficking API . accountPermissions

+

Instance Methods

+

+ get(profileId, id)

+

Gets one account permission by ID.

+

+ list(profileId)

+

Retrieves the list of account permissions.

+

Method Details

+
+ get(profileId, id) +
Gets one account permission by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Account permission ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # AccountPermissions contains information about a particular account permission. Some features of DCM require an account permission to be present in the account.
+    "kind": "dfareporting#accountPermission", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#accountPermission".
+    "name": "A String", # Name of this account permission.
+    "level": "A String", # Administrative level required to enable this account permission.
+    "permissionGroupId": "A String", # Permission group of this account permission.
+    "accountProfiles": [ # Account profiles associated with this account permission.
+        #
+        # Possible values are:
+        # - "ACCOUNT_PROFILE_BASIC"
+        # - "ACCOUNT_PROFILE_STANDARD"
+      "A String",
+    ],
+    "id": "A String", # ID of this account permission.
+  }
+
+ +
+ list(profileId) +
Retrieves the list of account permissions.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+
+Returns:
+  An object of the form:
+
+    { # Account Permission List Response
+    "accountPermissions": [ # Account permission collection.
+      { # AccountPermissions contains information about a particular account permission. Some features of DCM require an account permission to be present in the account.
+        "kind": "dfareporting#accountPermission", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#accountPermission".
+        "name": "A String", # Name of this account permission.
+        "level": "A String", # Administrative level required to enable this account permission.
+        "permissionGroupId": "A String", # Permission group of this account permission.
+        "accountProfiles": [ # Account profiles associated with this account permission.
+            #
+            # Possible values are:
+            # - "ACCOUNT_PROFILE_BASIC"
+            # - "ACCOUNT_PROFILE_STANDARD"
+          "A String",
+        ],
+        "id": "A String", # ID of this account permission.
+      },
+    ],
+    "kind": "dfareporting#accountPermissionsListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#accountPermissionsListResponse".
+  }
+
+ + \ No newline at end of file diff --git a/docs/dyn/dfareporting_v2_5.accountUserProfiles.html b/docs/dyn/dfareporting_v2_5.accountUserProfiles.html new file mode 100644 index 00000000000..4826ccc501c --- /dev/null +++ b/docs/dyn/dfareporting_v2_5.accountUserProfiles.html @@ -0,0 +1,677 @@ + + + +

DCM/DFA Reporting And Trafficking API . accountUserProfiles

+

Instance Methods

+

+ get(profileId, id)

+

Gets one account user profile by ID.

+

+ insert(profileId, body)

+

Inserts a new account user profile.

+

+ list(profileId, searchString=None, subaccountId=None, sortField=None, ids=None, maxResults=None, pageToken=None, sortOrder=None, userRoleId=None, active=None)

+

Retrieves a list of account user profiles, possibly filtered.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

+ patch(profileId, id, body)

+

Updates an existing account user profile. This method supports patch semantics.

+

+ update(profileId, body)

+

Updates an existing account user profile.

+

Method Details

+
+ get(profileId, id) +
Gets one account user profile by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, User profile ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # AccountUserProfiles contains properties of a DCM user profile. This resource is specifically for managing user profiles, whereas UserProfiles is for accessing the API.
+      "kind": "dfareporting#accountUserProfile", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#accountUserProfile".
+      "subaccountId": "A String", # Subaccount ID of the user profile. This is a read-only field that can be left blank.
+      "name": "A String", # Name of the user profile. This is a required field. Must be less than 64 characters long, must be globally unique, and cannot contain whitespace or any of the following characters: "&;"#%,".
+      "userRoleFilter": { # Object Filter. # Filter that describes which user roles are visible to the user profile.
+        "objectIds": [ # Applicable when status is ASSIGNED. The user has access to objects with these object IDs.
+          "A String",
+        ],
+        "status": "A String", # Status of the filter. NONE means the user has access to none of the objects. ALL means the user has access to all objects. ASSIGNED means the user has access to the objects with IDs in the objectIds list.
+        "kind": "dfareporting#objectFilter", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#objectFilter".
+      },
+      "locale": "A String", # Locale of the user profile. This is a required field.
+          # Acceptable values are:
+          # - "cs" (Czech)
+          # - "de" (German)
+          # - "en" (English)
+          # - "en-GB" (English United Kingdom)
+          # - "es" (Spanish)
+          # - "fr" (French)
+          # - "it" (Italian)
+          # - "ja" (Japanese)
+          # - "ko" (Korean)
+          # - "pl" (Polish)
+          # - "pt-BR" (Portuguese Brazil)
+          # - "ru" (Russian)
+          # - "sv" (Swedish)
+          # - "tr" (Turkish)
+          # - "zh-CN" (Chinese Simplified)
+          # - "zh-TW" (Chinese Traditional)
+      "siteFilter": { # Object Filter. # Filter that describes which sites are visible to the user profile.
+        "objectIds": [ # Applicable when status is ASSIGNED. The user has access to objects with these object IDs.
+          "A String",
+        ],
+        "status": "A String", # Status of the filter. NONE means the user has access to none of the objects. ALL means the user has access to all objects. ASSIGNED means the user has access to the objects with IDs in the objectIds list.
+        "kind": "dfareporting#objectFilter", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#objectFilter".
+      },
+      "comments": "A String", # Comments for this user profile.
+      "id": "A String", # ID of the user profile. This is a read-only, auto-generated field.
+      "advertiserFilter": { # Object Filter. # Filter that describes which advertisers are visible to the user profile.
+        "objectIds": [ # Applicable when status is ASSIGNED. The user has access to objects with these object IDs.
+          "A String",
+        ],
+        "status": "A String", # Status of the filter. NONE means the user has access to none of the objects. ALL means the user has access to all objects. ASSIGNED means the user has access to the objects with IDs in the objectIds list.
+        "kind": "dfareporting#objectFilter", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#objectFilter".
+      },
+      "campaignFilter": { # Object Filter. # Filter that describes which campaigns are visible to the user profile.
+        "objectIds": [ # Applicable when status is ASSIGNED. The user has access to objects with these object IDs.
+          "A String",
+        ],
+        "status": "A String", # Status of the filter. NONE means the user has access to none of the objects. ALL means the user has access to all objects. ASSIGNED means the user has access to the objects with IDs in the objectIds list.
+        "kind": "dfareporting#objectFilter", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#objectFilter".
+      },
+      "userRoleId": "A String", # User role ID of the user profile. This is a required field.
+      "userAccessType": "A String", # User type of the user profile. This is a read-only field that can be left blank.
+      "traffickerType": "A String", # Trafficker type of this user profile.
+      "active": True or False, # Whether this user profile is active. This defaults to false, and must be set true on insert for the user profile to be usable.
+      "email": "A String", # Email of the user profile. The email addresss must be linked to a Google Account. This field is required on insertion and is read-only after insertion.
+      "accountId": "A String", # Account ID of the user profile. This is a read-only field that can be left blank.
+    }
+
+ +
+ insert(profileId, body) +
Inserts a new account user profile.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # AccountUserProfiles contains properties of a DCM user profile. This resource is specifically for managing user profiles, whereas UserProfiles is for accessing the API.
+    "kind": "dfareporting#accountUserProfile", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#accountUserProfile".
+    "subaccountId": "A String", # Subaccount ID of the user profile. This is a read-only field that can be left blank.
+    "name": "A String", # Name of the user profile. This is a required field. Must be less than 64 characters long, must be globally unique, and cannot contain whitespace or any of the following characters: "&;"#%,".
+    "userRoleFilter": { # Object Filter. # Filter that describes which user roles are visible to the user profile.
+      "objectIds": [ # Applicable when status is ASSIGNED. The user has access to objects with these object IDs.
+        "A String",
+      ],
+      "status": "A String", # Status of the filter. NONE means the user has access to none of the objects. ALL means the user has access to all objects. ASSIGNED means the user has access to the objects with IDs in the objectIds list.
+      "kind": "dfareporting#objectFilter", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#objectFilter".
+    },
+    "locale": "A String", # Locale of the user profile. This is a required field.
+        # Acceptable values are:
+        # - "cs" (Czech)
+        # - "de" (German)
+        # - "en" (English)
+        # - "en-GB" (English United Kingdom)
+        # - "es" (Spanish)
+        # - "fr" (French)
+        # - "it" (Italian)
+        # - "ja" (Japanese)
+        # - "ko" (Korean)
+        # - "pl" (Polish)
+        # - "pt-BR" (Portuguese Brazil)
+        # - "ru" (Russian)
+        # - "sv" (Swedish)
+        # - "tr" (Turkish)
+        # - "zh-CN" (Chinese Simplified)
+        # - "zh-TW" (Chinese Traditional)
+    "siteFilter": { # Object Filter. # Filter that describes which sites are visible to the user profile.
+      "objectIds": [ # Applicable when status is ASSIGNED. The user has access to objects with these object IDs.
+        "A String",
+      ],
+      "status": "A String", # Status of the filter. NONE means the user has access to none of the objects. ALL means the user has access to all objects. ASSIGNED means the user has access to the objects with IDs in the objectIds list.
+      "kind": "dfareporting#objectFilter", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#objectFilter".
+    },
+    "comments": "A String", # Comments for this user profile.
+    "id": "A String", # ID of the user profile. This is a read-only, auto-generated field.
+    "advertiserFilter": { # Object Filter. # Filter that describes which advertisers are visible to the user profile.
+      "objectIds": [ # Applicable when status is ASSIGNED. The user has access to objects with these object IDs.
+        "A String",
+      ],
+      "status": "A String", # Status of the filter. NONE means the user has access to none of the objects. ALL means the user has access to all objects. ASSIGNED means the user has access to the objects with IDs in the objectIds list.
+      "kind": "dfareporting#objectFilter", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#objectFilter".
+    },
+    "campaignFilter": { # Object Filter. # Filter that describes which campaigns are visible to the user profile.
+      "objectIds": [ # Applicable when status is ASSIGNED. The user has access to objects with these object IDs.
+        "A String",
+      ],
+      "status": "A String", # Status of the filter. NONE means the user has access to none of the objects. ALL means the user has access to all objects. ASSIGNED means the user has access to the objects with IDs in the objectIds list.
+      "kind": "dfareporting#objectFilter", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#objectFilter".
+    },
+    "userRoleId": "A String", # User role ID of the user profile. This is a required field.
+    "userAccessType": "A String", # User type of the user profile. This is a read-only field that can be left blank.
+    "traffickerType": "A String", # Trafficker type of this user profile.
+    "active": True or False, # Whether this user profile is active. This defaults to false, and must be set true on insert for the user profile to be usable.
+    "email": "A String", # Email of the user profile. The email addresss must be linked to a Google Account. This field is required on insertion and is read-only after insertion.
+    "accountId": "A String", # Account ID of the user profile. This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # AccountUserProfiles contains properties of a DCM user profile. This resource is specifically for managing user profiles, whereas UserProfiles is for accessing the API.
+      "kind": "dfareporting#accountUserProfile", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#accountUserProfile".
+      "subaccountId": "A String", # Subaccount ID of the user profile. This is a read-only field that can be left blank.
+      "name": "A String", # Name of the user profile. This is a required field. Must be less than 64 characters long, must be globally unique, and cannot contain whitespace or any of the following characters: "&;"#%,".
+      "userRoleFilter": { # Object Filter. # Filter that describes which user roles are visible to the user profile.
+        "objectIds": [ # Applicable when status is ASSIGNED. The user has access to objects with these object IDs.
+          "A String",
+        ],
+        "status": "A String", # Status of the filter. NONE means the user has access to none of the objects. ALL means the user has access to all objects. ASSIGNED means the user has access to the objects with IDs in the objectIds list.
+        "kind": "dfareporting#objectFilter", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#objectFilter".
+      },
+      "locale": "A String", # Locale of the user profile. This is a required field.
+          # Acceptable values are:
+          # - "cs" (Czech)
+          # - "de" (German)
+          # - "en" (English)
+          # - "en-GB" (English United Kingdom)
+          # - "es" (Spanish)
+          # - "fr" (French)
+          # - "it" (Italian)
+          # - "ja" (Japanese)
+          # - "ko" (Korean)
+          # - "pl" (Polish)
+          # - "pt-BR" (Portuguese Brazil)
+          # - "ru" (Russian)
+          # - "sv" (Swedish)
+          # - "tr" (Turkish)
+          # - "zh-CN" (Chinese Simplified)
+          # - "zh-TW" (Chinese Traditional)
+      "siteFilter": { # Object Filter. # Filter that describes which sites are visible to the user profile.
+        "objectIds": [ # Applicable when status is ASSIGNED. The user has access to objects with these object IDs.
+          "A String",
+        ],
+        "status": "A String", # Status of the filter. NONE means the user has access to none of the objects. ALL means the user has access to all objects. ASSIGNED means the user has access to the objects with IDs in the objectIds list.
+        "kind": "dfareporting#objectFilter", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#objectFilter".
+      },
+      "comments": "A String", # Comments for this user profile.
+      "id": "A String", # ID of the user profile. This is a read-only, auto-generated field.
+      "advertiserFilter": { # Object Filter. # Filter that describes which advertisers are visible to the user profile.
+        "objectIds": [ # Applicable when status is ASSIGNED. The user has access to objects with these object IDs.
+          "A String",
+        ],
+        "status": "A String", # Status of the filter. NONE means the user has access to none of the objects. ALL means the user has access to all objects. ASSIGNED means the user has access to the objects with IDs in the objectIds list.
+        "kind": "dfareporting#objectFilter", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#objectFilter".
+      },
+      "campaignFilter": { # Object Filter. # Filter that describes which campaigns are visible to the user profile.
+        "objectIds": [ # Applicable when status is ASSIGNED. The user has access to objects with these object IDs.
+          "A String",
+        ],
+        "status": "A String", # Status of the filter. NONE means the user has access to none of the objects. ALL means the user has access to all objects. ASSIGNED means the user has access to the objects with IDs in the objectIds list.
+        "kind": "dfareporting#objectFilter", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#objectFilter".
+      },
+      "userRoleId": "A String", # User role ID of the user profile. This is a required field.
+      "userAccessType": "A String", # User type of the user profile. This is a read-only field that can be left blank.
+      "traffickerType": "A String", # Trafficker type of this user profile.
+      "active": True or False, # Whether this user profile is active. This defaults to false, and must be set true on insert for the user profile to be usable.
+      "email": "A String", # Email of the user profile. The email addresss must be linked to a Google Account. This field is required on insertion and is read-only after insertion.
+      "accountId": "A String", # Account ID of the user profile. This is a read-only field that can be left blank.
+    }
+
+ +
+ list(profileId, searchString=None, subaccountId=None, sortField=None, ids=None, maxResults=None, pageToken=None, sortOrder=None, userRoleId=None, active=None) +
Retrieves a list of account user profiles, possibly filtered.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  searchString: string, Allows searching for objects by name, ID or email. Wildcards (*) are allowed. For example, "user profile*2015" will return objects with names like "user profile June 2015", "user profile April 2015", or simply "user profile 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "user profile" will match objects with name "my user profile", "user profile 2015", or simply "user profile".
+  subaccountId: string, Select only user profiles with the specified subaccount ID.
+  sortField: string, Field by which to sort the list.
+    Allowed values
+      ID - 
+      NAME - 
+  ids: string, Select only user profiles with these IDs. (repeated)
+  maxResults: integer, Maximum number of results to return.
+  pageToken: string, Value of the nextPageToken from the previous result page.
+  sortOrder: string, Order of sorted results, default is ASCENDING.
+    Allowed values
+      ASCENDING - 
+      DESCENDING - 
+  userRoleId: string, Select only user profiles with the specified user role ID.
+  active: boolean, Select only active user profiles.
+
+Returns:
+  An object of the form:
+
+    { # Account User Profile List Response
+    "nextPageToken": "A String", # Pagination token to be used for the next list operation.
+    "accountUserProfiles": [ # Account user profile collection.
+      { # AccountUserProfiles contains properties of a DCM user profile. This resource is specifically for managing user profiles, whereas UserProfiles is for accessing the API.
+          "kind": "dfareporting#accountUserProfile", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#accountUserProfile".
+          "subaccountId": "A String", # Subaccount ID of the user profile. This is a read-only field that can be left blank.
+          "name": "A String", # Name of the user profile. This is a required field. Must be less than 64 characters long, must be globally unique, and cannot contain whitespace or any of the following characters: "&;"#%,".
+          "userRoleFilter": { # Object Filter. # Filter that describes which user roles are visible to the user profile.
+            "objectIds": [ # Applicable when status is ASSIGNED. The user has access to objects with these object IDs.
+              "A String",
+            ],
+            "status": "A String", # Status of the filter. NONE means the user has access to none of the objects. ALL means the user has access to all objects. ASSIGNED means the user has access to the objects with IDs in the objectIds list.
+            "kind": "dfareporting#objectFilter", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#objectFilter".
+          },
+          "locale": "A String", # Locale of the user profile. This is a required field.
+              # Acceptable values are:
+              # - "cs" (Czech)
+              # - "de" (German)
+              # - "en" (English)
+              # - "en-GB" (English United Kingdom)
+              # - "es" (Spanish)
+              # - "fr" (French)
+              # - "it" (Italian)
+              # - "ja" (Japanese)
+              # - "ko" (Korean)
+              # - "pl" (Polish)
+              # - "pt-BR" (Portuguese Brazil)
+              # - "ru" (Russian)
+              # - "sv" (Swedish)
+              # - "tr" (Turkish)
+              # - "zh-CN" (Chinese Simplified)
+              # - "zh-TW" (Chinese Traditional)
+          "siteFilter": { # Object Filter. # Filter that describes which sites are visible to the user profile.
+            "objectIds": [ # Applicable when status is ASSIGNED. The user has access to objects with these object IDs.
+              "A String",
+            ],
+            "status": "A String", # Status of the filter. NONE means the user has access to none of the objects. ALL means the user has access to all objects. ASSIGNED means the user has access to the objects with IDs in the objectIds list.
+            "kind": "dfareporting#objectFilter", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#objectFilter".
+          },
+          "comments": "A String", # Comments for this user profile.
+          "id": "A String", # ID of the user profile. This is a read-only, auto-generated field.
+          "advertiserFilter": { # Object Filter. # Filter that describes which advertisers are visible to the user profile.
+            "objectIds": [ # Applicable when status is ASSIGNED. The user has access to objects with these object IDs.
+              "A String",
+            ],
+            "status": "A String", # Status of the filter. NONE means the user has access to none of the objects. ALL means the user has access to all objects. ASSIGNED means the user has access to the objects with IDs in the objectIds list.
+            "kind": "dfareporting#objectFilter", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#objectFilter".
+          },
+          "campaignFilter": { # Object Filter. # Filter that describes which campaigns are visible to the user profile.
+            "objectIds": [ # Applicable when status is ASSIGNED. The user has access to objects with these object IDs.
+              "A String",
+            ],
+            "status": "A String", # Status of the filter. NONE means the user has access to none of the objects. ALL means the user has access to all objects. ASSIGNED means the user has access to the objects with IDs in the objectIds list.
+            "kind": "dfareporting#objectFilter", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#objectFilter".
+          },
+          "userRoleId": "A String", # User role ID of the user profile. This is a required field.
+          "userAccessType": "A String", # User type of the user profile. This is a read-only field that can be left blank.
+          "traffickerType": "A String", # Trafficker type of this user profile.
+          "active": True or False, # Whether this user profile is active. This defaults to false, and must be set true on insert for the user profile to be usable.
+          "email": "A String", # Email of the user profile. The email addresss must be linked to a Google Account. This field is required on insertion and is read-only after insertion.
+          "accountId": "A String", # Account ID of the user profile. This is a read-only field that can be left blank.
+        },
+    ],
+    "kind": "dfareporting#accountUserProfilesListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#accountUserProfilesListResponse".
+  }
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    
+
+ +
+ patch(profileId, id, body) +
Updates an existing account user profile. This method supports patch semantics.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, User profile ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # AccountUserProfiles contains properties of a DCM user profile. This resource is specifically for managing user profiles, whereas UserProfiles is for accessing the API.
+    "kind": "dfareporting#accountUserProfile", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#accountUserProfile".
+    "subaccountId": "A String", # Subaccount ID of the user profile. This is a read-only field that can be left blank.
+    "name": "A String", # Name of the user profile. This is a required field. Must be less than 64 characters long, must be globally unique, and cannot contain whitespace or any of the following characters: "&;"#%,".
+    "userRoleFilter": { # Object Filter. # Filter that describes which user roles are visible to the user profile.
+      "objectIds": [ # Applicable when status is ASSIGNED. The user has access to objects with these object IDs.
+        "A String",
+      ],
+      "status": "A String", # Status of the filter. NONE means the user has access to none of the objects. ALL means the user has access to all objects. ASSIGNED means the user has access to the objects with IDs in the objectIds list.
+      "kind": "dfareporting#objectFilter", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#objectFilter".
+    },
+    "locale": "A String", # Locale of the user profile. This is a required field.
+        # Acceptable values are:
+        # - "cs" (Czech)
+        # - "de" (German)
+        # - "en" (English)
+        # - "en-GB" (English United Kingdom)
+        # - "es" (Spanish)
+        # - "fr" (French)
+        # - "it" (Italian)
+        # - "ja" (Japanese)
+        # - "ko" (Korean)
+        # - "pl" (Polish)
+        # - "pt-BR" (Portuguese Brazil)
+        # - "ru" (Russian)
+        # - "sv" (Swedish)
+        # - "tr" (Turkish)
+        # - "zh-CN" (Chinese Simplified)
+        # - "zh-TW" (Chinese Traditional)
+    "siteFilter": { # Object Filter. # Filter that describes which sites are visible to the user profile.
+      "objectIds": [ # Applicable when status is ASSIGNED. The user has access to objects with these object IDs.
+        "A String",
+      ],
+      "status": "A String", # Status of the filter. NONE means the user has access to none of the objects. ALL means the user has access to all objects. ASSIGNED means the user has access to the objects with IDs in the objectIds list.
+      "kind": "dfareporting#objectFilter", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#objectFilter".
+    },
+    "comments": "A String", # Comments for this user profile.
+    "id": "A String", # ID of the user profile. This is a read-only, auto-generated field.
+    "advertiserFilter": { # Object Filter. # Filter that describes which advertisers are visible to the user profile.
+      "objectIds": [ # Applicable when status is ASSIGNED. The user has access to objects with these object IDs.
+        "A String",
+      ],
+      "status": "A String", # Status of the filter. NONE means the user has access to none of the objects. ALL means the user has access to all objects. ASSIGNED means the user has access to the objects with IDs in the objectIds list.
+      "kind": "dfareporting#objectFilter", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#objectFilter".
+    },
+    "campaignFilter": { # Object Filter. # Filter that describes which campaigns are visible to the user profile.
+      "objectIds": [ # Applicable when status is ASSIGNED. The user has access to objects with these object IDs.
+        "A String",
+      ],
+      "status": "A String", # Status of the filter. NONE means the user has access to none of the objects. ALL means the user has access to all objects. ASSIGNED means the user has access to the objects with IDs in the objectIds list.
+      "kind": "dfareporting#objectFilter", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#objectFilter".
+    },
+    "userRoleId": "A String", # User role ID of the user profile. This is a required field.
+    "userAccessType": "A String", # User type of the user profile. This is a read-only field that can be left blank.
+    "traffickerType": "A String", # Trafficker type of this user profile.
+    "active": True or False, # Whether this user profile is active. This defaults to false, and must be set true on insert for the user profile to be usable.
+    "email": "A String", # Email of the user profile. The email addresss must be linked to a Google Account. This field is required on insertion and is read-only after insertion.
+    "accountId": "A String", # Account ID of the user profile. This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # AccountUserProfiles contains properties of a DCM user profile. This resource is specifically for managing user profiles, whereas UserProfiles is for accessing the API.
+      "kind": "dfareporting#accountUserProfile", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#accountUserProfile".
+      "subaccountId": "A String", # Subaccount ID of the user profile. This is a read-only field that can be left blank.
+      "name": "A String", # Name of the user profile. This is a required field. Must be less than 64 characters long, must be globally unique, and cannot contain whitespace or any of the following characters: "&;"#%,".
+      "userRoleFilter": { # Object Filter. # Filter that describes which user roles are visible to the user profile.
+        "objectIds": [ # Applicable when status is ASSIGNED. The user has access to objects with these object IDs.
+          "A String",
+        ],
+        "status": "A String", # Status of the filter. NONE means the user has access to none of the objects. ALL means the user has access to all objects. ASSIGNED means the user has access to the objects with IDs in the objectIds list.
+        "kind": "dfareporting#objectFilter", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#objectFilter".
+      },
+      "locale": "A String", # Locale of the user profile. This is a required field.
+          # Acceptable values are:
+          # - "cs" (Czech)
+          # - "de" (German)
+          # - "en" (English)
+          # - "en-GB" (English United Kingdom)
+          # - "es" (Spanish)
+          # - "fr" (French)
+          # - "it" (Italian)
+          # - "ja" (Japanese)
+          # - "ko" (Korean)
+          # - "pl" (Polish)
+          # - "pt-BR" (Portuguese Brazil)
+          # - "ru" (Russian)
+          # - "sv" (Swedish)
+          # - "tr" (Turkish)
+          # - "zh-CN" (Chinese Simplified)
+          # - "zh-TW" (Chinese Traditional)
+      "siteFilter": { # Object Filter. # Filter that describes which sites are visible to the user profile.
+        "objectIds": [ # Applicable when status is ASSIGNED. The user has access to objects with these object IDs.
+          "A String",
+        ],
+        "status": "A String", # Status of the filter. NONE means the user has access to none of the objects. ALL means the user has access to all objects. ASSIGNED means the user has access to the objects with IDs in the objectIds list.
+        "kind": "dfareporting#objectFilter", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#objectFilter".
+      },
+      "comments": "A String", # Comments for this user profile.
+      "id": "A String", # ID of the user profile. This is a read-only, auto-generated field.
+      "advertiserFilter": { # Object Filter. # Filter that describes which advertisers are visible to the user profile.
+        "objectIds": [ # Applicable when status is ASSIGNED. The user has access to objects with these object IDs.
+          "A String",
+        ],
+        "status": "A String", # Status of the filter. NONE means the user has access to none of the objects. ALL means the user has access to all objects. ASSIGNED means the user has access to the objects with IDs in the objectIds list.
+        "kind": "dfareporting#objectFilter", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#objectFilter".
+      },
+      "campaignFilter": { # Object Filter. # Filter that describes which campaigns are visible to the user profile.
+        "objectIds": [ # Applicable when status is ASSIGNED. The user has access to objects with these object IDs.
+          "A String",
+        ],
+        "status": "A String", # Status of the filter. NONE means the user has access to none of the objects. ALL means the user has access to all objects. ASSIGNED means the user has access to the objects with IDs in the objectIds list.
+        "kind": "dfareporting#objectFilter", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#objectFilter".
+      },
+      "userRoleId": "A String", # User role ID of the user profile. This is a required field.
+      "userAccessType": "A String", # User type of the user profile. This is a read-only field that can be left blank.
+      "traffickerType": "A String", # Trafficker type of this user profile.
+      "active": True or False, # Whether this user profile is active. This defaults to false, and must be set true on insert for the user profile to be usable.
+      "email": "A String", # Email of the user profile. The email addresss must be linked to a Google Account. This field is required on insertion and is read-only after insertion.
+      "accountId": "A String", # Account ID of the user profile. This is a read-only field that can be left blank.
+    }
+
+ +
+ update(profileId, body) +
Updates an existing account user profile.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # AccountUserProfiles contains properties of a DCM user profile. This resource is specifically for managing user profiles, whereas UserProfiles is for accessing the API.
+    "kind": "dfareporting#accountUserProfile", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#accountUserProfile".
+    "subaccountId": "A String", # Subaccount ID of the user profile. This is a read-only field that can be left blank.
+    "name": "A String", # Name of the user profile. This is a required field. Must be less than 64 characters long, must be globally unique, and cannot contain whitespace or any of the following characters: "&;"#%,".
+    "userRoleFilter": { # Object Filter. # Filter that describes which user roles are visible to the user profile.
+      "objectIds": [ # Applicable when status is ASSIGNED. The user has access to objects with these object IDs.
+        "A String",
+      ],
+      "status": "A String", # Status of the filter. NONE means the user has access to none of the objects. ALL means the user has access to all objects. ASSIGNED means the user has access to the objects with IDs in the objectIds list.
+      "kind": "dfareporting#objectFilter", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#objectFilter".
+    },
+    "locale": "A String", # Locale of the user profile. This is a required field.
+        # Acceptable values are:
+        # - "cs" (Czech)
+        # - "de" (German)
+        # - "en" (English)
+        # - "en-GB" (English United Kingdom)
+        # - "es" (Spanish)
+        # - "fr" (French)
+        # - "it" (Italian)
+        # - "ja" (Japanese)
+        # - "ko" (Korean)
+        # - "pl" (Polish)
+        # - "pt-BR" (Portuguese Brazil)
+        # - "ru" (Russian)
+        # - "sv" (Swedish)
+        # - "tr" (Turkish)
+        # - "zh-CN" (Chinese Simplified)
+        # - "zh-TW" (Chinese Traditional)
+    "siteFilter": { # Object Filter. # Filter that describes which sites are visible to the user profile.
+      "objectIds": [ # Applicable when status is ASSIGNED. The user has access to objects with these object IDs.
+        "A String",
+      ],
+      "status": "A String", # Status of the filter. NONE means the user has access to none of the objects. ALL means the user has access to all objects. ASSIGNED means the user has access to the objects with IDs in the objectIds list.
+      "kind": "dfareporting#objectFilter", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#objectFilter".
+    },
+    "comments": "A String", # Comments for this user profile.
+    "id": "A String", # ID of the user profile. This is a read-only, auto-generated field.
+    "advertiserFilter": { # Object Filter. # Filter that describes which advertisers are visible to the user profile.
+      "objectIds": [ # Applicable when status is ASSIGNED. The user has access to objects with these object IDs.
+        "A String",
+      ],
+      "status": "A String", # Status of the filter. NONE means the user has access to none of the objects. ALL means the user has access to all objects. ASSIGNED means the user has access to the objects with IDs in the objectIds list.
+      "kind": "dfareporting#objectFilter", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#objectFilter".
+    },
+    "campaignFilter": { # Object Filter. # Filter that describes which campaigns are visible to the user profile.
+      "objectIds": [ # Applicable when status is ASSIGNED. The user has access to objects with these object IDs.
+        "A String",
+      ],
+      "status": "A String", # Status of the filter. NONE means the user has access to none of the objects. ALL means the user has access to all objects. ASSIGNED means the user has access to the objects with IDs in the objectIds list.
+      "kind": "dfareporting#objectFilter", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#objectFilter".
+    },
+    "userRoleId": "A String", # User role ID of the user profile. This is a required field.
+    "userAccessType": "A String", # User type of the user profile. This is a read-only field that can be left blank.
+    "traffickerType": "A String", # Trafficker type of this user profile.
+    "active": True or False, # Whether this user profile is active. This defaults to false, and must be set true on insert for the user profile to be usable.
+    "email": "A String", # Email of the user profile. The email addresss must be linked to a Google Account. This field is required on insertion and is read-only after insertion.
+    "accountId": "A String", # Account ID of the user profile. This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # AccountUserProfiles contains properties of a DCM user profile. This resource is specifically for managing user profiles, whereas UserProfiles is for accessing the API.
+      "kind": "dfareporting#accountUserProfile", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#accountUserProfile".
+      "subaccountId": "A String", # Subaccount ID of the user profile. This is a read-only field that can be left blank.
+      "name": "A String", # Name of the user profile. This is a required field. Must be less than 64 characters long, must be globally unique, and cannot contain whitespace or any of the following characters: "&;"#%,".
+      "userRoleFilter": { # Object Filter. # Filter that describes which user roles are visible to the user profile.
+        "objectIds": [ # Applicable when status is ASSIGNED. The user has access to objects with these object IDs.
+          "A String",
+        ],
+        "status": "A String", # Status of the filter. NONE means the user has access to none of the objects. ALL means the user has access to all objects. ASSIGNED means the user has access to the objects with IDs in the objectIds list.
+        "kind": "dfareporting#objectFilter", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#objectFilter".
+      },
+      "locale": "A String", # Locale of the user profile. This is a required field.
+          # Acceptable values are:
+          # - "cs" (Czech)
+          # - "de" (German)
+          # - "en" (English)
+          # - "en-GB" (English United Kingdom)
+          # - "es" (Spanish)
+          # - "fr" (French)
+          # - "it" (Italian)
+          # - "ja" (Japanese)
+          # - "ko" (Korean)
+          # - "pl" (Polish)
+          # - "pt-BR" (Portuguese Brazil)
+          # - "ru" (Russian)
+          # - "sv" (Swedish)
+          # - "tr" (Turkish)
+          # - "zh-CN" (Chinese Simplified)
+          # - "zh-TW" (Chinese Traditional)
+      "siteFilter": { # Object Filter. # Filter that describes which sites are visible to the user profile.
+        "objectIds": [ # Applicable when status is ASSIGNED. The user has access to objects with these object IDs.
+          "A String",
+        ],
+        "status": "A String", # Status of the filter. NONE means the user has access to none of the objects. ALL means the user has access to all objects. ASSIGNED means the user has access to the objects with IDs in the objectIds list.
+        "kind": "dfareporting#objectFilter", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#objectFilter".
+      },
+      "comments": "A String", # Comments for this user profile.
+      "id": "A String", # ID of the user profile. This is a read-only, auto-generated field.
+      "advertiserFilter": { # Object Filter. # Filter that describes which advertisers are visible to the user profile.
+        "objectIds": [ # Applicable when status is ASSIGNED. The user has access to objects with these object IDs.
+          "A String",
+        ],
+        "status": "A String", # Status of the filter. NONE means the user has access to none of the objects. ALL means the user has access to all objects. ASSIGNED means the user has access to the objects with IDs in the objectIds list.
+        "kind": "dfareporting#objectFilter", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#objectFilter".
+      },
+      "campaignFilter": { # Object Filter. # Filter that describes which campaigns are visible to the user profile.
+        "objectIds": [ # Applicable when status is ASSIGNED. The user has access to objects with these object IDs.
+          "A String",
+        ],
+        "status": "A String", # Status of the filter. NONE means the user has access to none of the objects. ALL means the user has access to all objects. ASSIGNED means the user has access to the objects with IDs in the objectIds list.
+        "kind": "dfareporting#objectFilter", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#objectFilter".
+      },
+      "userRoleId": "A String", # User role ID of the user profile. This is a required field.
+      "userAccessType": "A String", # User type of the user profile. This is a read-only field that can be left blank.
+      "traffickerType": "A String", # Trafficker type of this user profile.
+      "active": True or False, # Whether this user profile is active. This defaults to false, and must be set true on insert for the user profile to be usable.
+      "email": "A String", # Email of the user profile. The email addresss must be linked to a Google Account. This field is required on insertion and is read-only after insertion.
+      "accountId": "A String", # Account ID of the user profile. This is a read-only field that can be left blank.
+    }
+
+ + \ No newline at end of file diff --git a/docs/dyn/dfareporting_v2_5.accounts.html b/docs/dyn/dfareporting_v2_5.accounts.html new file mode 100644 index 00000000000..e0f0d927f8e --- /dev/null +++ b/docs/dyn/dfareporting_v2_5.accounts.html @@ -0,0 +1,856 @@ + + + +

DCM/DFA Reporting And Trafficking API . accounts

+

Instance Methods

+

+ get(profileId, id)

+

Gets one account by ID.

+

+ list(profileId, searchString=None, sortField=None, ids=None, maxResults=None, pageToken=None, sortOrder=None, active=None)

+

Retrieves the list of accounts, possibly filtered.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

+ patch(profileId, id, body)

+

Updates an existing account. This method supports patch semantics.

+

+ update(profileId, body)

+

Updates an existing account.

+

Method Details

+
+ get(profileId, id) +
Gets one account by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Account ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a DCM account.
+      "kind": "dfareporting#account", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#account".
+      "countryId": "A String", # ID of the country associated with this account.
+      "availablePermissionIds": [ # User role permissions available to the user roles of this account.
+        "A String",
+      ],
+      "description": "A String", # Description of this account.
+      "maximumImageSize": "A String", # Maximum image size allowed for this account.
+      "currencyId": "A String", # ID of currency associated with this account. This is a required field.
+          # Acceptable values are:
+          # - "1" for USD
+          # - "2" for GBP
+          # - "3" for ESP
+          # - "4" for SEK
+          # - "5" for CAD
+          # - "6" for JPY
+          # - "7" for DEM
+          # - "8" for AUD
+          # - "9" for FRF
+          # - "10" for ITL
+          # - "11" for DKK
+          # - "12" for NOK
+          # - "13" for FIM
+          # - "14" for ZAR
+          # - "15" for IEP
+          # - "16" for NLG
+          # - "17" for EUR
+          # - "18" for KRW
+          # - "19" for TWD
+          # - "20" for SGD
+          # - "21" for CNY
+          # - "22" for HKD
+          # - "23" for NZD
+          # - "24" for MYR
+          # - "25" for BRL
+          # - "26" for PTE
+          # - "27" for MXP
+          # - "28" for CLP
+          # - "29" for TRY
+          # - "30" for ARS
+          # - "31" for PEN
+          # - "32" for ILS
+          # - "33" for CHF
+          # - "34" for VEF
+          # - "35" for COP
+          # - "36" for GTQ
+          # - "37" for PLN
+          # - "39" for INR
+          # - "40" for THB
+          # - "41" for IDR
+          # - "42" for CZK
+          # - "43" for RON
+          # - "44" for HUF
+          # - "45" for RUB
+          # - "46" for AED
+          # - "47" for BGN
+          # - "48" for HRK
+      "defaultCreativeSizeId": "A String", # Default placement dimensions for this account.
+      "accountPermissionIds": [ # Account permissions assigned to this account.
+        "A String",
+      ],
+      "comscoreVceEnabled": True or False, # Whether campaigns created in this account will be enabled for comScore vCE by default.
+      "nielsenOcrEnabled": True or False, # Whether campaigns created in this account will be enabled for Nielsen OCR reach ratings by default.
+      "accountProfile": "A String", # Profile for this account. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this account. This is a required field, and must be less than 128 characters long and be globally unique.
+      "locale": "A String", # Locale of this account.
+          # Acceptable values are:
+          # - "cs" (Czech)
+          # - "de" (German)
+          # - "en" (English)
+          # - "en-GB" (English United Kingdom)
+          # - "es" (Spanish)
+          # - "fr" (French)
+          # - "it" (Italian)
+          # - "ja" (Japanese)
+          # - "ko" (Korean)
+          # - "pl" (Polish)
+          # - "pt-BR" (Portuguese Brazil)
+          # - "ru" (Russian)
+          # - "sv" (Swedish)
+          # - "tr" (Turkish)
+          # - "zh-CN" (Chinese Simplified)
+          # - "zh-TW" (Chinese Traditional)
+      "teaserSizeLimit": "A String", # File size limit in kilobytes of Rich Media teaser creatives. Must be between 1 and 10240.
+      "reportsConfiguration": { # Reporting Configuration # Reporting configuration of this account.
+        "reportGenerationTimeZoneId": "A String", # Report generation time zone ID of this account. This is a required field that can only be changed by a superuser.
+            # Acceptable values are:
+            #
+            # - "1" for "America/New_York"
+            # - "2" for "Europe/London"
+            # - "3" for "Europe/Paris"
+            # - "4" for "Africa/Johannesburg"
+            # - "5" for "Asia/Jerusalem"
+            # - "6" for "Asia/Shanghai"
+            # - "7" for "Asia/Hong_Kong"
+            # - "8" for "Asia/Tokyo"
+            # - "9" for "Australia/Sydney"
+            # - "10" for "Asia/Dubai"
+            # - "11" for "America/Los_Angeles"
+            # - "12" for "Pacific/Auckland"
+            # - "13" for "America/Sao_Paulo"
+        "exposureToConversionEnabled": True or False, # Whether the exposure to conversion report is enabled. This report shows detailed pathway information on up to 10 of the most recent ad exposures seen by a user before converting.
+        "lookbackConfiguration": { # Lookback configuration settings. # Default lookback windows for new advertisers in this account.
+          "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+          "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+        },
+      },
+      "active": True or False, # Whether this account is active.
+      "activeViewOptOut": True or False, # Whether to serve creatives with Active View tags. If disabled, viewability data will not be available for any impressions.
+      "id": "A String", # ID of this account. This is a read-only, auto-generated field.
+      "activeAdsLimitTier": "A String", # Maximum number of active ads allowed for this account.
+    }
+
+ +
+ list(profileId, searchString=None, sortField=None, ids=None, maxResults=None, pageToken=None, sortOrder=None, active=None) +
Retrieves the list of accounts, possibly filtered.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  searchString: string, Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "account*2015" will return objects with names like "account June 2015", "account April 2015", or simply "account 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "account" will match objects with name "my account", "account 2015", or simply "account".
+  sortField: string, Field by which to sort the list.
+    Allowed values
+      ID - 
+      NAME - 
+  ids: string, Select only accounts with these IDs. (repeated)
+  maxResults: integer, Maximum number of results to return.
+  pageToken: string, Value of the nextPageToken from the previous result page.
+  sortOrder: string, Order of sorted results, default is ASCENDING.
+    Allowed values
+      ASCENDING - 
+      DESCENDING - 
+  active: boolean, Select only active accounts. Don't set this field to select both active and non-active accounts.
+
+Returns:
+  An object of the form:
+
+    { # Account List Response
+    "nextPageToken": "A String", # Pagination token to be used for the next list operation.
+    "kind": "dfareporting#accountsListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#accountsListResponse".
+    "accounts": [ # Account collection.
+      { # Contains properties of a DCM account.
+          "kind": "dfareporting#account", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#account".
+          "countryId": "A String", # ID of the country associated with this account.
+          "availablePermissionIds": [ # User role permissions available to the user roles of this account.
+            "A String",
+          ],
+          "description": "A String", # Description of this account.
+          "maximumImageSize": "A String", # Maximum image size allowed for this account.
+          "currencyId": "A String", # ID of currency associated with this account. This is a required field.
+              # Acceptable values are:
+              # - "1" for USD
+              # - "2" for GBP
+              # - "3" for ESP
+              # - "4" for SEK
+              # - "5" for CAD
+              # - "6" for JPY
+              # - "7" for DEM
+              # - "8" for AUD
+              # - "9" for FRF
+              # - "10" for ITL
+              # - "11" for DKK
+              # - "12" for NOK
+              # - "13" for FIM
+              # - "14" for ZAR
+              # - "15" for IEP
+              # - "16" for NLG
+              # - "17" for EUR
+              # - "18" for KRW
+              # - "19" for TWD
+              # - "20" for SGD
+              # - "21" for CNY
+              # - "22" for HKD
+              # - "23" for NZD
+              # - "24" for MYR
+              # - "25" for BRL
+              # - "26" for PTE
+              # - "27" for MXP
+              # - "28" for CLP
+              # - "29" for TRY
+              # - "30" for ARS
+              # - "31" for PEN
+              # - "32" for ILS
+              # - "33" for CHF
+              # - "34" for VEF
+              # - "35" for COP
+              # - "36" for GTQ
+              # - "37" for PLN
+              # - "39" for INR
+              # - "40" for THB
+              # - "41" for IDR
+              # - "42" for CZK
+              # - "43" for RON
+              # - "44" for HUF
+              # - "45" for RUB
+              # - "46" for AED
+              # - "47" for BGN
+              # - "48" for HRK
+          "defaultCreativeSizeId": "A String", # Default placement dimensions for this account.
+          "accountPermissionIds": [ # Account permissions assigned to this account.
+            "A String",
+          ],
+          "comscoreVceEnabled": True or False, # Whether campaigns created in this account will be enabled for comScore vCE by default.
+          "nielsenOcrEnabled": True or False, # Whether campaigns created in this account will be enabled for Nielsen OCR reach ratings by default.
+          "accountProfile": "A String", # Profile for this account. This is a read-only field that can be left blank.
+          "name": "A String", # Name of this account. This is a required field, and must be less than 128 characters long and be globally unique.
+          "locale": "A String", # Locale of this account.
+              # Acceptable values are:
+              # - "cs" (Czech)
+              # - "de" (German)
+              # - "en" (English)
+              # - "en-GB" (English United Kingdom)
+              # - "es" (Spanish)
+              # - "fr" (French)
+              # - "it" (Italian)
+              # - "ja" (Japanese)
+              # - "ko" (Korean)
+              # - "pl" (Polish)
+              # - "pt-BR" (Portuguese Brazil)
+              # - "ru" (Russian)
+              # - "sv" (Swedish)
+              # - "tr" (Turkish)
+              # - "zh-CN" (Chinese Simplified)
+              # - "zh-TW" (Chinese Traditional)
+          "teaserSizeLimit": "A String", # File size limit in kilobytes of Rich Media teaser creatives. Must be between 1 and 10240.
+          "reportsConfiguration": { # Reporting Configuration # Reporting configuration of this account.
+            "reportGenerationTimeZoneId": "A String", # Report generation time zone ID of this account. This is a required field that can only be changed by a superuser.
+                # Acceptable values are:
+                #
+                # - "1" for "America/New_York"
+                # - "2" for "Europe/London"
+                # - "3" for "Europe/Paris"
+                # - "4" for "Africa/Johannesburg"
+                # - "5" for "Asia/Jerusalem"
+                # - "6" for "Asia/Shanghai"
+                # - "7" for "Asia/Hong_Kong"
+                # - "8" for "Asia/Tokyo"
+                # - "9" for "Australia/Sydney"
+                # - "10" for "Asia/Dubai"
+                # - "11" for "America/Los_Angeles"
+                # - "12" for "Pacific/Auckland"
+                # - "13" for "America/Sao_Paulo"
+            "exposureToConversionEnabled": True or False, # Whether the exposure to conversion report is enabled. This report shows detailed pathway information on up to 10 of the most recent ad exposures seen by a user before converting.
+            "lookbackConfiguration": { # Lookback configuration settings. # Default lookback windows for new advertisers in this account.
+              "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+              "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+            },
+          },
+          "active": True or False, # Whether this account is active.
+          "activeViewOptOut": True or False, # Whether to serve creatives with Active View tags. If disabled, viewability data will not be available for any impressions.
+          "id": "A String", # ID of this account. This is a read-only, auto-generated field.
+          "activeAdsLimitTier": "A String", # Maximum number of active ads allowed for this account.
+        },
+    ],
+  }
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    
+
+ +
+ patch(profileId, id, body) +
Updates an existing account. This method supports patch semantics.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Account ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a DCM account.
+    "kind": "dfareporting#account", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#account".
+    "countryId": "A String", # ID of the country associated with this account.
+    "availablePermissionIds": [ # User role permissions available to the user roles of this account.
+      "A String",
+    ],
+    "description": "A String", # Description of this account.
+    "maximumImageSize": "A String", # Maximum image size allowed for this account.
+    "currencyId": "A String", # ID of currency associated with this account. This is a required field.
+        # Acceptable values are:
+        # - "1" for USD
+        # - "2" for GBP
+        # - "3" for ESP
+        # - "4" for SEK
+        # - "5" for CAD
+        # - "6" for JPY
+        # - "7" for DEM
+        # - "8" for AUD
+        # - "9" for FRF
+        # - "10" for ITL
+        # - "11" for DKK
+        # - "12" for NOK
+        # - "13" for FIM
+        # - "14" for ZAR
+        # - "15" for IEP
+        # - "16" for NLG
+        # - "17" for EUR
+        # - "18" for KRW
+        # - "19" for TWD
+        # - "20" for SGD
+        # - "21" for CNY
+        # - "22" for HKD
+        # - "23" for NZD
+        # - "24" for MYR
+        # - "25" for BRL
+        # - "26" for PTE
+        # - "27" for MXP
+        # - "28" for CLP
+        # - "29" for TRY
+        # - "30" for ARS
+        # - "31" for PEN
+        # - "32" for ILS
+        # - "33" for CHF
+        # - "34" for VEF
+        # - "35" for COP
+        # - "36" for GTQ
+        # - "37" for PLN
+        # - "39" for INR
+        # - "40" for THB
+        # - "41" for IDR
+        # - "42" for CZK
+        # - "43" for RON
+        # - "44" for HUF
+        # - "45" for RUB
+        # - "46" for AED
+        # - "47" for BGN
+        # - "48" for HRK
+    "defaultCreativeSizeId": "A String", # Default placement dimensions for this account.
+    "accountPermissionIds": [ # Account permissions assigned to this account.
+      "A String",
+    ],
+    "comscoreVceEnabled": True or False, # Whether campaigns created in this account will be enabled for comScore vCE by default.
+    "nielsenOcrEnabled": True or False, # Whether campaigns created in this account will be enabled for Nielsen OCR reach ratings by default.
+    "accountProfile": "A String", # Profile for this account. This is a read-only field that can be left blank.
+    "name": "A String", # Name of this account. This is a required field, and must be less than 128 characters long and be globally unique.
+    "locale": "A String", # Locale of this account.
+        # Acceptable values are:
+        # - "cs" (Czech)
+        # - "de" (German)
+        # - "en" (English)
+        # - "en-GB" (English United Kingdom)
+        # - "es" (Spanish)
+        # - "fr" (French)
+        # - "it" (Italian)
+        # - "ja" (Japanese)
+        # - "ko" (Korean)
+        # - "pl" (Polish)
+        # - "pt-BR" (Portuguese Brazil)
+        # - "ru" (Russian)
+        # - "sv" (Swedish)
+        # - "tr" (Turkish)
+        # - "zh-CN" (Chinese Simplified)
+        # - "zh-TW" (Chinese Traditional)
+    "teaserSizeLimit": "A String", # File size limit in kilobytes of Rich Media teaser creatives. Must be between 1 and 10240.
+    "reportsConfiguration": { # Reporting Configuration # Reporting configuration of this account.
+      "reportGenerationTimeZoneId": "A String", # Report generation time zone ID of this account. This is a required field that can only be changed by a superuser.
+          # Acceptable values are:
+          #
+          # - "1" for "America/New_York"
+          # - "2" for "Europe/London"
+          # - "3" for "Europe/Paris"
+          # - "4" for "Africa/Johannesburg"
+          # - "5" for "Asia/Jerusalem"
+          # - "6" for "Asia/Shanghai"
+          # - "7" for "Asia/Hong_Kong"
+          # - "8" for "Asia/Tokyo"
+          # - "9" for "Australia/Sydney"
+          # - "10" for "Asia/Dubai"
+          # - "11" for "America/Los_Angeles"
+          # - "12" for "Pacific/Auckland"
+          # - "13" for "America/Sao_Paulo"
+      "exposureToConversionEnabled": True or False, # Whether the exposure to conversion report is enabled. This report shows detailed pathway information on up to 10 of the most recent ad exposures seen by a user before converting.
+      "lookbackConfiguration": { # Lookback configuration settings. # Default lookback windows for new advertisers in this account.
+        "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+        "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+      },
+    },
+    "active": True or False, # Whether this account is active.
+    "activeViewOptOut": True or False, # Whether to serve creatives with Active View tags. If disabled, viewability data will not be available for any impressions.
+    "id": "A String", # ID of this account. This is a read-only, auto-generated field.
+    "activeAdsLimitTier": "A String", # Maximum number of active ads allowed for this account.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a DCM account.
+      "kind": "dfareporting#account", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#account".
+      "countryId": "A String", # ID of the country associated with this account.
+      "availablePermissionIds": [ # User role permissions available to the user roles of this account.
+        "A String",
+      ],
+      "description": "A String", # Description of this account.
+      "maximumImageSize": "A String", # Maximum image size allowed for this account.
+      "currencyId": "A String", # ID of currency associated with this account. This is a required field.
+          # Acceptable values are:
+          # - "1" for USD
+          # - "2" for GBP
+          # - "3" for ESP
+          # - "4" for SEK
+          # - "5" for CAD
+          # - "6" for JPY
+          # - "7" for DEM
+          # - "8" for AUD
+          # - "9" for FRF
+          # - "10" for ITL
+          # - "11" for DKK
+          # - "12" for NOK
+          # - "13" for FIM
+          # - "14" for ZAR
+          # - "15" for IEP
+          # - "16" for NLG
+          # - "17" for EUR
+          # - "18" for KRW
+          # - "19" for TWD
+          # - "20" for SGD
+          # - "21" for CNY
+          # - "22" for HKD
+          # - "23" for NZD
+          # - "24" for MYR
+          # - "25" for BRL
+          # - "26" for PTE
+          # - "27" for MXP
+          # - "28" for CLP
+          # - "29" for TRY
+          # - "30" for ARS
+          # - "31" for PEN
+          # - "32" for ILS
+          # - "33" for CHF
+          # - "34" for VEF
+          # - "35" for COP
+          # - "36" for GTQ
+          # - "37" for PLN
+          # - "39" for INR
+          # - "40" for THB
+          # - "41" for IDR
+          # - "42" for CZK
+          # - "43" for RON
+          # - "44" for HUF
+          # - "45" for RUB
+          # - "46" for AED
+          # - "47" for BGN
+          # - "48" for HRK
+      "defaultCreativeSizeId": "A String", # Default placement dimensions for this account.
+      "accountPermissionIds": [ # Account permissions assigned to this account.
+        "A String",
+      ],
+      "comscoreVceEnabled": True or False, # Whether campaigns created in this account will be enabled for comScore vCE by default.
+      "nielsenOcrEnabled": True or False, # Whether campaigns created in this account will be enabled for Nielsen OCR reach ratings by default.
+      "accountProfile": "A String", # Profile for this account. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this account. This is a required field, and must be less than 128 characters long and be globally unique.
+      "locale": "A String", # Locale of this account.
+          # Acceptable values are:
+          # - "cs" (Czech)
+          # - "de" (German)
+          # - "en" (English)
+          # - "en-GB" (English United Kingdom)
+          # - "es" (Spanish)
+          # - "fr" (French)
+          # - "it" (Italian)
+          # - "ja" (Japanese)
+          # - "ko" (Korean)
+          # - "pl" (Polish)
+          # - "pt-BR" (Portuguese Brazil)
+          # - "ru" (Russian)
+          # - "sv" (Swedish)
+          # - "tr" (Turkish)
+          # - "zh-CN" (Chinese Simplified)
+          # - "zh-TW" (Chinese Traditional)
+      "teaserSizeLimit": "A String", # File size limit in kilobytes of Rich Media teaser creatives. Must be between 1 and 10240.
+      "reportsConfiguration": { # Reporting Configuration # Reporting configuration of this account.
+        "reportGenerationTimeZoneId": "A String", # Report generation time zone ID of this account. This is a required field that can only be changed by a superuser.
+            # Acceptable values are:
+            #
+            # - "1" for "America/New_York"
+            # - "2" for "Europe/London"
+            # - "3" for "Europe/Paris"
+            # - "4" for "Africa/Johannesburg"
+            # - "5" for "Asia/Jerusalem"
+            # - "6" for "Asia/Shanghai"
+            # - "7" for "Asia/Hong_Kong"
+            # - "8" for "Asia/Tokyo"
+            # - "9" for "Australia/Sydney"
+            # - "10" for "Asia/Dubai"
+            # - "11" for "America/Los_Angeles"
+            # - "12" for "Pacific/Auckland"
+            # - "13" for "America/Sao_Paulo"
+        "exposureToConversionEnabled": True or False, # Whether the exposure to conversion report is enabled. This report shows detailed pathway information on up to 10 of the most recent ad exposures seen by a user before converting.
+        "lookbackConfiguration": { # Lookback configuration settings. # Default lookback windows for new advertisers in this account.
+          "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+          "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+        },
+      },
+      "active": True or False, # Whether this account is active.
+      "activeViewOptOut": True or False, # Whether to serve creatives with Active View tags. If disabled, viewability data will not be available for any impressions.
+      "id": "A String", # ID of this account. This is a read-only, auto-generated field.
+      "activeAdsLimitTier": "A String", # Maximum number of active ads allowed for this account.
+    }
+
+ +
+ update(profileId, body) +
Updates an existing account.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a DCM account.
+    "kind": "dfareporting#account", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#account".
+    "countryId": "A String", # ID of the country associated with this account.
+    "availablePermissionIds": [ # User role permissions available to the user roles of this account.
+      "A String",
+    ],
+    "description": "A String", # Description of this account.
+    "maximumImageSize": "A String", # Maximum image size allowed for this account.
+    "currencyId": "A String", # ID of currency associated with this account. This is a required field.
+        # Acceptable values are:
+        # - "1" for USD
+        # - "2" for GBP
+        # - "3" for ESP
+        # - "4" for SEK
+        # - "5" for CAD
+        # - "6" for JPY
+        # - "7" for DEM
+        # - "8" for AUD
+        # - "9" for FRF
+        # - "10" for ITL
+        # - "11" for DKK
+        # - "12" for NOK
+        # - "13" for FIM
+        # - "14" for ZAR
+        # - "15" for IEP
+        # - "16" for NLG
+        # - "17" for EUR
+        # - "18" for KRW
+        # - "19" for TWD
+        # - "20" for SGD
+        # - "21" for CNY
+        # - "22" for HKD
+        # - "23" for NZD
+        # - "24" for MYR
+        # - "25" for BRL
+        # - "26" for PTE
+        # - "27" for MXP
+        # - "28" for CLP
+        # - "29" for TRY
+        # - "30" for ARS
+        # - "31" for PEN
+        # - "32" for ILS
+        # - "33" for CHF
+        # - "34" for VEF
+        # - "35" for COP
+        # - "36" for GTQ
+        # - "37" for PLN
+        # - "39" for INR
+        # - "40" for THB
+        # - "41" for IDR
+        # - "42" for CZK
+        # - "43" for RON
+        # - "44" for HUF
+        # - "45" for RUB
+        # - "46" for AED
+        # - "47" for BGN
+        # - "48" for HRK
+    "defaultCreativeSizeId": "A String", # Default placement dimensions for this account.
+    "accountPermissionIds": [ # Account permissions assigned to this account.
+      "A String",
+    ],
+    "comscoreVceEnabled": True or False, # Whether campaigns created in this account will be enabled for comScore vCE by default.
+    "nielsenOcrEnabled": True or False, # Whether campaigns created in this account will be enabled for Nielsen OCR reach ratings by default.
+    "accountProfile": "A String", # Profile for this account. This is a read-only field that can be left blank.
+    "name": "A String", # Name of this account. This is a required field, and must be less than 128 characters long and be globally unique.
+    "locale": "A String", # Locale of this account.
+        # Acceptable values are:
+        # - "cs" (Czech)
+        # - "de" (German)
+        # - "en" (English)
+        # - "en-GB" (English United Kingdom)
+        # - "es" (Spanish)
+        # - "fr" (French)
+        # - "it" (Italian)
+        # - "ja" (Japanese)
+        # - "ko" (Korean)
+        # - "pl" (Polish)
+        # - "pt-BR" (Portuguese Brazil)
+        # - "ru" (Russian)
+        # - "sv" (Swedish)
+        # - "tr" (Turkish)
+        # - "zh-CN" (Chinese Simplified)
+        # - "zh-TW" (Chinese Traditional)
+    "teaserSizeLimit": "A String", # File size limit in kilobytes of Rich Media teaser creatives. Must be between 1 and 10240.
+    "reportsConfiguration": { # Reporting Configuration # Reporting configuration of this account.
+      "reportGenerationTimeZoneId": "A String", # Report generation time zone ID of this account. This is a required field that can only be changed by a superuser.
+          # Acceptable values are:
+          #
+          # - "1" for "America/New_York"
+          # - "2" for "Europe/London"
+          # - "3" for "Europe/Paris"
+          # - "4" for "Africa/Johannesburg"
+          # - "5" for "Asia/Jerusalem"
+          # - "6" for "Asia/Shanghai"
+          # - "7" for "Asia/Hong_Kong"
+          # - "8" for "Asia/Tokyo"
+          # - "9" for "Australia/Sydney"
+          # - "10" for "Asia/Dubai"
+          # - "11" for "America/Los_Angeles"
+          # - "12" for "Pacific/Auckland"
+          # - "13" for "America/Sao_Paulo"
+      "exposureToConversionEnabled": True or False, # Whether the exposure to conversion report is enabled. This report shows detailed pathway information on up to 10 of the most recent ad exposures seen by a user before converting.
+      "lookbackConfiguration": { # Lookback configuration settings. # Default lookback windows for new advertisers in this account.
+        "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+        "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+      },
+    },
+    "active": True or False, # Whether this account is active.
+    "activeViewOptOut": True or False, # Whether to serve creatives with Active View tags. If disabled, viewability data will not be available for any impressions.
+    "id": "A String", # ID of this account. This is a read-only, auto-generated field.
+    "activeAdsLimitTier": "A String", # Maximum number of active ads allowed for this account.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a DCM account.
+      "kind": "dfareporting#account", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#account".
+      "countryId": "A String", # ID of the country associated with this account.
+      "availablePermissionIds": [ # User role permissions available to the user roles of this account.
+        "A String",
+      ],
+      "description": "A String", # Description of this account.
+      "maximumImageSize": "A String", # Maximum image size allowed for this account.
+      "currencyId": "A String", # ID of currency associated with this account. This is a required field.
+          # Acceptable values are:
+          # - "1" for USD
+          # - "2" for GBP
+          # - "3" for ESP
+          # - "4" for SEK
+          # - "5" for CAD
+          # - "6" for JPY
+          # - "7" for DEM
+          # - "8" for AUD
+          # - "9" for FRF
+          # - "10" for ITL
+          # - "11" for DKK
+          # - "12" for NOK
+          # - "13" for FIM
+          # - "14" for ZAR
+          # - "15" for IEP
+          # - "16" for NLG
+          # - "17" for EUR
+          # - "18" for KRW
+          # - "19" for TWD
+          # - "20" for SGD
+          # - "21" for CNY
+          # - "22" for HKD
+          # - "23" for NZD
+          # - "24" for MYR
+          # - "25" for BRL
+          # - "26" for PTE
+          # - "27" for MXP
+          # - "28" for CLP
+          # - "29" for TRY
+          # - "30" for ARS
+          # - "31" for PEN
+          # - "32" for ILS
+          # - "33" for CHF
+          # - "34" for VEF
+          # - "35" for COP
+          # - "36" for GTQ
+          # - "37" for PLN
+          # - "39" for INR
+          # - "40" for THB
+          # - "41" for IDR
+          # - "42" for CZK
+          # - "43" for RON
+          # - "44" for HUF
+          # - "45" for RUB
+          # - "46" for AED
+          # - "47" for BGN
+          # - "48" for HRK
+      "defaultCreativeSizeId": "A String", # Default placement dimensions for this account.
+      "accountPermissionIds": [ # Account permissions assigned to this account.
+        "A String",
+      ],
+      "comscoreVceEnabled": True or False, # Whether campaigns created in this account will be enabled for comScore vCE by default.
+      "nielsenOcrEnabled": True or False, # Whether campaigns created in this account will be enabled for Nielsen OCR reach ratings by default.
+      "accountProfile": "A String", # Profile for this account. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this account. This is a required field, and must be less than 128 characters long and be globally unique.
+      "locale": "A String", # Locale of this account.
+          # Acceptable values are:
+          # - "cs" (Czech)
+          # - "de" (German)
+          # - "en" (English)
+          # - "en-GB" (English United Kingdom)
+          # - "es" (Spanish)
+          # - "fr" (French)
+          # - "it" (Italian)
+          # - "ja" (Japanese)
+          # - "ko" (Korean)
+          # - "pl" (Polish)
+          # - "pt-BR" (Portuguese Brazil)
+          # - "ru" (Russian)
+          # - "sv" (Swedish)
+          # - "tr" (Turkish)
+          # - "zh-CN" (Chinese Simplified)
+          # - "zh-TW" (Chinese Traditional)
+      "teaserSizeLimit": "A String", # File size limit in kilobytes of Rich Media teaser creatives. Must be between 1 and 10240.
+      "reportsConfiguration": { # Reporting Configuration # Reporting configuration of this account.
+        "reportGenerationTimeZoneId": "A String", # Report generation time zone ID of this account. This is a required field that can only be changed by a superuser.
+            # Acceptable values are:
+            #
+            # - "1" for "America/New_York"
+            # - "2" for "Europe/London"
+            # - "3" for "Europe/Paris"
+            # - "4" for "Africa/Johannesburg"
+            # - "5" for "Asia/Jerusalem"
+            # - "6" for "Asia/Shanghai"
+            # - "7" for "Asia/Hong_Kong"
+            # - "8" for "Asia/Tokyo"
+            # - "9" for "Australia/Sydney"
+            # - "10" for "Asia/Dubai"
+            # - "11" for "America/Los_Angeles"
+            # - "12" for "Pacific/Auckland"
+            # - "13" for "America/Sao_Paulo"
+        "exposureToConversionEnabled": True or False, # Whether the exposure to conversion report is enabled. This report shows detailed pathway information on up to 10 of the most recent ad exposures seen by a user before converting.
+        "lookbackConfiguration": { # Lookback configuration settings. # Default lookback windows for new advertisers in this account.
+          "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+          "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+        },
+      },
+      "active": True or False, # Whether this account is active.
+      "activeViewOptOut": True or False, # Whether to serve creatives with Active View tags. If disabled, viewability data will not be available for any impressions.
+      "id": "A String", # ID of this account. This is a read-only, auto-generated field.
+      "activeAdsLimitTier": "A String", # Maximum number of active ads allowed for this account.
+    }
+
+ + \ No newline at end of file diff --git a/docs/dyn/dfareporting_v2_5.ads.html b/docs/dyn/dfareporting_v2_5.ads.html new file mode 100644 index 00000000000..9040be852c8 --- /dev/null +++ b/docs/dyn/dfareporting_v2_5.ads.html @@ -0,0 +1,2832 @@ + + + +

DCM/DFA Reporting And Trafficking API . ads

+

Instance Methods

+

+ get(profileId, id)

+

Gets one ad by ID.

+

+ insert(profileId, body)

+

Inserts a new ad.

+

+ list(profileId, landingPageIds=None, overriddenEventTagId=None, campaignIds=None, sizeIds=None, archived=None, creativeOptimizationConfigurationIds=None, sslCompliant=None, pageToken=None, sortOrder=None, type=None, sslRequired=None, creativeIds=None, remarketingListIds=None, maxResults=None, creativeType=None, placementIds=None, active=None, compatibility=None, advertiserId=None, searchString=None, audienceSegmentIds=None, ids=None, sortField=None, dynamicClickTracker=None)

+

Retrieves a list of ads, possibly filtered.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

+ patch(profileId, id, body)

+

Updates an existing ad. This method supports patch semantics.

+

+ update(profileId, body)

+

Updates an existing ad.

+

Method Details

+
+ get(profileId, id) +
Gets one ad by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Ad ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a DCM ad.
+      "clickThroughUrlSuffixProperties": { # Click Through URL Suffix settings. # Click-through URL suffix properties for this ad. Applies to the URL in the ad or (if overriding ad properties) the URL in the creative.
+        "clickThroughUrlSuffix": "A String", # Click-through URL suffix to apply to all ads in this entity's scope. Must be less than 128 characters long.
+        "overrideInheritedSuffix": True or False, # Whether this entity should override the inherited click-through URL suffix with its own defined value.
+      },
+      "campaignId": "A String", # Campaign ID of this ad. This is a required field on insertion.
+      "advertiserId": "A String", # Advertiser ID of this ad. This is a required field on insertion.
+      "geoTargeting": { # Geographical Targeting. # Geographical targeting information for this ad.Applicable when type is AD_SERVING_STANDARD_AD.
+        "countries": [ # Countries to be targeted or excluded from targeting, depending on the setting of the excludeCountries field. For each country only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting or excluding a country, do not target regions, cities, metros, or postal codes in the same country.
+          { # Contains information about a country that can be targeted by ads.
+            "dartId": "A String", # DART ID of this country. This is the ID used for targeting and generating reports.
+            "sslEnabled": True or False, # Whether ad serving supports secure servers in this country.
+            "kind": "dfareporting#country", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#country".
+            "countryCode": "A String", # Country code.
+            "name": "A String", # Name of this country.
+          },
+        ],
+        "excludeCountries": True or False, # Whether or not to exclude the countries in the countries field from targeting. If false, the countries field refers to countries which will be targeted by the ad.
+        "postalCodes": [ # Postal codes to be targeted. For each postal code only id is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a postal code, do not target or exclude the country of the postal code.
+          { # Contains information about a postal code that can be targeted by ads.
+            "countryDartId": "A String", # DART ID of the country to which this postal code belongs.
+            "kind": "dfareporting#postalCode", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#postalCode".
+            "code": "A String", # Postal code. This is equivalent to the id field.
+            "id": "A String", # ID of this postal code.
+            "countryCode": "A String", # Country code of the country to which this postal code belongs.
+          },
+        ],
+        "regions": [ # Regions to be targeted. For each region only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a region, do not target or exclude the country of the region.
+          { # Contains information about a region that can be targeted by ads.
+            "kind": "dfareporting#region", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#region".
+            "countryDartId": "A String", # DART ID of the country to which this region belongs.
+            "name": "A String", # Name of this region.
+            "countryCode": "A String", # Country code of the country to which this region belongs.
+            "regionCode": "A String", # Region code.
+            "dartId": "A String", # DART ID of this region.
+          },
+        ],
+        "cities": [ # Cities to be targeted. For each city only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a city, do not target or exclude the country of the city, and do not target the metro or region of the city.
+          { # Contains information about a city that can be targeted by ads.
+            "kind": "dfareporting#city", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#city".
+            "countryDartId": "A String", # DART ID of the country to which this city belongs.
+            "name": "A String", # Name of this city.
+            "countryCode": "A String", # Country code of the country to which this city belongs.
+            "metroCode": "A String", # Metro region code of the metro region (DMA) to which this city belongs.
+            "regionCode": "A String", # Region code of the region to which this city belongs.
+            "metroDmaId": "A String", # ID of the metro region (DMA) to which this city belongs.
+            "dartId": "A String", # DART ID of this city. This is the ID used for targeting and generating reports.
+            "regionDartId": "A String", # DART ID of the region to which this city belongs.
+          },
+        ],
+        "metros": [ # Metros to be targeted. For each metro only dmaId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a metro, do not target or exclude the country of the metro.
+          { # Contains information about a metro region that can be targeted by ads.
+            "kind": "dfareporting#metro", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#metro".
+            "countryDartId": "A String", # DART ID of the country to which this metro region belongs.
+            "name": "A String", # Name of this metro region.
+            "countryCode": "A String", # Country code of the country to which this metro region belongs.
+            "metroCode": "A String", # Metro code of this metro region. This is equivalent to dma_id.
+            "dmaId": "A String", # DMA ID of this metro region. This is the ID used for targeting and generating reports, and is equivalent to metro_code.
+            "dartId": "A String", # DART ID of this metro region.
+          },
+        ],
+      },
+      "creativeGroupAssignments": [ # Creative group assignments for this ad. Applicable when type is AD_SERVING_CLICK_TRACKER. Only one assignment per creative group number is allowed for a maximum of two assignments.
+        { # Creative Group Assignment.
+          "creativeGroupNumber": "A String", # Creative group number of the creative group assignment.
+          "creativeGroupId": "A String", # ID of the creative group to be assigned.
+        },
+      ],
+      "deliverySchedule": { # Delivery Schedule. # Delivery schedule information for this ad. Applicable when type is AD_SERVING_STANDARD_AD or AD_SERVING_TRACKING. This field along with subfields priority and impressionRatio are required on insertion when type is AD_SERVING_STANDARD_AD.
+        "priority": "A String", # Serving priority of an ad, with respect to other ads. The lower the priority number, the greater the priority with which it is served.
+        "hardCutoff": True or False, # Whether or not hard cutoff is enabled. If true, the ad will not serve after the end date and time. Otherwise the ad will continue to be served until it has reached its delivery goals.
+        "frequencyCap": { # Frequency Cap. # Limit on the number of times an individual user can be served the ad within a specified period of time.
+          "duration": "A String", # Duration of time, in seconds, for this frequency cap. The maximum duration is 90 days in seconds, or 7,776,000.
+          "impressions": "A String", # Number of times an individual user can be served the ad within the specified duration. The maximum allowed is 15.
+        },
+        "impressionRatio": "A String", # Impression ratio for this ad. This ratio determines how often each ad is served relative to the others. For example, if ad A has an impression ratio of 1 and ad B has an impression ratio of 3, then DCM will serve ad B three times as often as ad A. Must be between 1 and 10.
+      },
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "eventTagOverrides": [ # Event tag overrides for this ad.
+        { # Event tag override information.
+          "enabled": True or False, # Whether this override is enabled.
+          "id": "A String", # ID of this event tag override. This is a read-only, auto-generated field.
+        },
+      ],
+      "id": "A String", # ID of this ad. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this ad. This is a read-only field that can be left blank.
+      "archived": True or False, # Whether this ad is archived.
+      "technologyTargeting": { # Technology Targeting. # Technology platform targeting information for this ad. Applicable when type is AD_SERVING_STANDARD_AD.
+        "platformTypes": [ # Platform types that this ad targets. For example, desktop, mobile, or tablet. For each platform type, only id is required, and the other fields are populated automatically when the ad is inserted or updated.
+          { # Contains information about a platform type that can be targeted by ads.
+            "kind": "dfareporting#platformType", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#platformType".
+            "id": "A String", # ID of this platform type.
+            "name": "A String", # Name of this platform type.
+          },
+        ],
+        "operatingSystemVersions": [ # Operating system versions that this ad targets. To target all versions, use operatingSystems. For each operating system version, only id is required. The other fields are populated automatically when the ad is inserted or updated. If targeting an operating system version, do not set targeting for the corresponding operating system in operatingSystems.
+          { # Contains information about a particular version of an operating system that can be targeted by ads.
+            "majorVersion": "A String", # Major version (leftmost number) of this operating system version.
+            "kind": "dfareporting#operatingSystemVersion", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#operatingSystemVersion".
+            "name": "A String", # Name of this operating system version.
+            "id": "A String", # ID of this operating system version.
+            "operatingSystem": { # Contains information about an operating system that can be targeted by ads. # Operating system of this operating system version.
+              "mobile": True or False, # Whether this operating system is for mobile.
+              "dartId": "A String", # DART ID of this operating system. This is the ID used for targeting.
+              "kind": "dfareporting#operatingSystem", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#operatingSystem".
+              "name": "A String", # Name of this operating system.
+              "desktop": True or False, # Whether this operating system is for desktop.
+            },
+            "minorVersion": "A String", # Minor version (number after the first dot) of this operating system version.
+          },
+        ],
+        "browsers": [ # Browsers that this ad targets. For each browser either set browserVersionId or dartId along with the version numbers. If both are specified, only browserVersionId will be used.The other fields are populated automatically when the ad is inserted or updated.
+          { # Contains information about a browser that can be targeted by ads.
+            "majorVersion": "A String", # Major version number (leftmost number) of this browser. For example, for Chrome 5.0.376.86 beta, this field should be set to 5. An asterisk (*) may be used to target any version number, and a question mark (?) may be used to target cases where the version number cannot be identified. For example, Chrome *.* targets any version of Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets cases where the ad server knows the browser is Firefox but can't tell which version it is.
+            "kind": "dfareporting#browser", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#browser".
+            "name": "A String", # Name of this browser.
+            "browserVersionId": "A String", # ID referring to this grouping of browser and version numbers. This is the ID used for targeting.
+            "dartId": "A String", # DART ID of this browser. This is the ID used when generating reports.
+            "minorVersion": "A String", # Minor version number (number after first dot on left) of this browser. For example, for Chrome 5.0.375.86 beta, this field should be set to 0. An asterisk (*) may be used to target any version number, and a question mark (?) may be used to target cases where the version number cannot be identified. For example, Chrome *.* targets any version of Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets cases where the ad server knows the browser is Firefox but can't tell which version it is.
+          },
+        ],
+        "operatingSystems": [ # Operating systems that this ad targets. To target specific versions, use operatingSystemVersions. For each operating system only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting an operating system, do not set targeting for operating system versions for the same operating system.
+          { # Contains information about an operating system that can be targeted by ads.
+            "mobile": True or False, # Whether this operating system is for mobile.
+            "dartId": "A String", # DART ID of this operating system. This is the ID used for targeting.
+            "kind": "dfareporting#operatingSystem", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#operatingSystem".
+            "name": "A String", # Name of this operating system.
+            "desktop": True or False, # Whether this operating system is for desktop.
+          },
+        ],
+        "mobileCarriers": [ # Mobile carriers that this ad targets. For each mobile carrier only id is required, and the other fields are populated automatically when the ad is inserted or updated. If targeting a mobile carrier, do not set targeting for any zip codes.
+          { # Contains information about a mobile carrier that can be targeted by ads.
+            "kind": "dfareporting#mobileCarrier", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#mobileCarrier".
+            "countryDartId": "A String", # DART ID of the country to which this mobile carrier belongs.
+            "id": "A String", # ID of this mobile carrier.
+            "countryCode": "A String", # Country code of the country to which this mobile carrier belongs.
+            "name": "A String", # Name of this mobile carrier.
+          },
+        ],
+        "connectionTypes": [ # Connection types that this ad targets. For each connection type only id is required.The other fields are populated automatically when the ad is inserted or updated.
+          { # Contains information about an internet connection type that can be targeted by ads. Clients can use the connection type to target mobile vs. broadband users.
+            "kind": "dfareporting#connectionType", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#connectionType".
+            "id": "A String", # ID of this connection type.
+            "name": "A String", # Name of this connection type.
+          },
+        ],
+      },
+      "creativeRotation": { # Creative Rotation. # Creative rotation for this ad. Applicable when type is AD_SERVING_DEFAULT_AD, AD_SERVING_STANDARD_AD, or AD_SERVING_TRACKING. When type is AD_SERVING_DEFAULT_AD, this field should have exactly one creativeAssignment.
+        "creativeAssignments": [ # Creative assignments in this creative rotation.
+          { # Creative Assignment.
+            "weight": 42, # Weight of the creative assignment, applicable when the rotation type is CREATIVE_ROTATION_TYPE_RANDOM.
+            "sequence": 42, # Sequence number of the creative assignment, applicable when the rotation type is CREATIVE_ROTATION_TYPE_SEQUENTIAL.
+            "applyEventTags": True or False, # Whether applicable event tags should fire when this creative assignment is rendered. If this value is unset when the ad is inserted or updated, it will default to true for all creative types EXCEPT for INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and INSTREAM_VIDEO.
+            "richMediaExitOverrides": [ # Rich media exit overrides for this creative assignment.
+                # Applicable when the creative type is any of the following:
+                # - RICH_MEDIA_INPAGE
+                # - RICH_MEDIA_INPAGE_FLOATING
+                # - RICH_MEDIA_IM_EXPAND
+                # - RICH_MEDIA_EXPANDING
+                # - RICH_MEDIA_INTERSTITIAL_FLOAT
+                # - RICH_MEDIA_MOBILE_IN_APP
+                # - RICH_MEDIA_MULTI_FLOATING
+                # - RICH_MEDIA_PEEL_DOWN
+                # - ADVANCED_BANNER
+                # - VPAID_LINEAR
+                # - VPAID_NON_LINEAR
+              { # Rich Media Exit Override.
+                "customExitUrl": "A String", # Click-through URL to override the default exit URL. Applicable if the useCustomExitUrl field is set to true.
+                "useCustomExitUrl": True or False, # Whether to use the custom exit URL.
+                "exitId": "A String", # ID for the override to refer to a specific exit in the creative.
+              },
+            ],
+            "sslCompliant": True or False, # Whether the creative to be assigned is SSL-compliant. This is a read-only field that is auto-generated when the ad is inserted or updated.
+            "creativeGroupAssignments": [ # Creative group assignments for this creative assignment. Only one assignment per creative group number is allowed for a maximum of two assignments.
+              { # Creative Group Assignment.
+                "creativeGroupNumber": "A String", # Creative group number of the creative group assignment.
+                "creativeGroupId": "A String", # ID of the creative group to be assigned.
+              },
+            ],
+            "companionCreativeOverrides": [ # Companion creative overrides for this creative assignment. Applicable to video ads.
+              { # Companion Click-through override.
+                "clickThroughUrl": { # Click-through URL # Click-through URL of this companion click-through override.
+                  "computedClickThroughUrl": "A String", # Read-only convenience field representing the actual URL that will be used for this click-through. The URL is computed as follows:
+                      # - If defaultLandingPage is enabled then the campaign's default landing page URL is assigned to this field.
+                      # - If defaultLandingPage is not enabled and a landingPageId is specified then that landing page's URL is assigned to this field.
+                      # - If neither of the above cases apply, then the customClickThroughUrl is assigned to this field.
+                  "customClickThroughUrl": "A String", # Custom click-through URL. Applicable if the defaultLandingPage field is set to false and the landingPageId field is left unset.
+                  "landingPageId": "A String", # ID of the landing page for the click-through URL. Applicable if the defaultLandingPage field is set to false.
+                  "defaultLandingPage": True or False, # Whether the campaign default landing page is used.
+                },
+                "creativeId": "A String", # ID of the creative for this companion click-through override.
+              },
+            ],
+            "startTime": "A String", # Date and time that the assigned creative should start serving.
+            "clickThroughUrl": { # Click-through URL # Click-through URL of the creative assignment.
+              "computedClickThroughUrl": "A String", # Read-only convenience field representing the actual URL that will be used for this click-through. The URL is computed as follows:
+                  # - If defaultLandingPage is enabled then the campaign's default landing page URL is assigned to this field.
+                  # - If defaultLandingPage is not enabled and a landingPageId is specified then that landing page's URL is assigned to this field.
+                  # - If neither of the above cases apply, then the customClickThroughUrl is assigned to this field.
+              "customClickThroughUrl": "A String", # Custom click-through URL. Applicable if the defaultLandingPage field is set to false and the landingPageId field is left unset.
+              "landingPageId": "A String", # ID of the landing page for the click-through URL. Applicable if the defaultLandingPage field is set to false.
+              "defaultLandingPage": True or False, # Whether the campaign default landing page is used.
+            },
+            "active": True or False, # Whether this creative assignment is active. When true, the creative will be included in the ad's rotation.
+            "creativeId": "A String", # ID of the creative to be assigned. This is a required field.
+            "endTime": "A String", # Date and time that the assigned creative should stop serving. Must be later than the start time.
+            "creativeIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the creative. This is a read-only, auto-generated field.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+          },
+        ],
+        "weightCalculationStrategy": "A String", # Strategy for calculating weights. Used with CREATIVE_ROTATION_TYPE_RANDOM.
+        "creativeOptimizationConfigurationId": "A String", # Creative optimization configuration that is used by this ad. It should refer to one of the existing optimization configurations in the ad's campaign. If it is unset or set to 0, then the campaign's default optimization configuration will be used for this ad.
+        "type": "A String", # Type of creative rotation. Can be used to specify whether to use sequential or random rotation.
+      },
+      "clickThroughUrl": { # Click-through URL # Click-through URL for this ad. This is a required field on insertion. Applicable when type is AD_SERVING_CLICK_TRACKER.
+        "computedClickThroughUrl": "A String", # Read-only convenience field representing the actual URL that will be used for this click-through. The URL is computed as follows:
+            # - If defaultLandingPage is enabled then the campaign's default landing page URL is assigned to this field.
+            # - If defaultLandingPage is not enabled and a landingPageId is specified then that landing page's URL is assigned to this field.
+            # - If neither of the above cases apply, then the customClickThroughUrl is assigned to this field.
+        "customClickThroughUrl": "A String", # Custom click-through URL. Applicable if the defaultLandingPage field is set to false and the landingPageId field is left unset.
+        "landingPageId": "A String", # ID of the landing page for the click-through URL. Applicable if the defaultLandingPage field is set to false.
+        "defaultLandingPage": True or False, # Whether the campaign default landing page is used.
+      },
+      "comments": "A String", # Comments for this ad.
+      "remarketingListExpression": { # Remarketing List Targeting Expression. # Applicable when type is AD_SERVING_STANDARD_AD. Remarketing list targeting expression for this ad.
+        "expression": "A String", # Expression describing which lists are being targeted by the ad.
+      },
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this ad. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "size": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size of this ad. Applicable when type is AD_SERVING_DEFAULT_AD.
+        "width": 42, # Width of this size.
+        "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+        "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+        "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+        "height": 42, # Height of this size.
+      },
+      "type": "A String", # Type of ad. This is a required field on insertion. Note that default ads (AD_SERVING_DEFAULT_AD) cannot be created directly (see Creative resource).
+      "sslRequired": True or False, # Whether this ad requires ssl. This is a read-only field that is auto-generated when the ad is inserted or updated.
+      "audienceSegmentId": "A String", # Audience segment ID that is being targeted for this ad. Applicable when type is AD_SERVING_STANDARD_AD.
+      "keyValueTargetingExpression": { # Key Value Targeting Expression. # Key-value targeting information for this ad. Applicable when type is AD_SERVING_STANDARD_AD.
+        "expression": "A String", # Keyword expression being targeted by the ad.
+      },
+      "campaignIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the campaign. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "defaultClickThroughEventTagProperties": { # Properties of inheriting and overriding the default click-through event tag. A campaign may override the event tag defined at the advertiser level, and an ad may also override the campaign's setting further. # Default click-through event tag properties for this ad.
+        "overrideInheritedEventTag": True or False, # Whether this entity should override the inherited default click-through event tag with its own defined value.
+        "defaultClickThroughEventTagId": "A String", # ID of the click-through event tag to apply to all ads in this entity's scope.
+      },
+      "createInfo": { # Modification timestamp. # Information about the creation of this ad.This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "startTime": "A String", # Date and time that this ad should start serving. If creating an ad, this field must be a time in the future. This is a required field on insertion.
+      "active": True or False, # Whether this ad is active.
+      "compatibility": "A String", # Compatibility of this ad. Applicable when type is AD_SERVING_DEFAULT_AD. DISPLAY and DISPLAY_INTERSTITIAL refer to either rendering on desktop or on mobile devices or in mobile apps for regular or interstitial ads, respectively. APP and APP_INTERSTITIAL are only used for existing default ads. New mobile placements must be assigned DISPLAY or DISPLAY_INTERSTITIAL and default ads created for those placements will be limited to those compatibility types. IN_STREAM_VIDEO refers to rendering in-stream video ads developed with the VAST standard.
+      "kind": "dfareporting#ad", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#ad".
+      "subaccountId": "A String", # Subaccount ID of this ad. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this ad. This is a required field and must be less than 256 characters long.
+      "dayPartTargeting": { # Day Part Targeting. # Time and day targeting information for this ad. Applicable when type is AD_SERVING_STANDARD_AD.
+        "userLocalTime": True or False, # Whether or not to use the user's local time. If false, the America/New York time zone applies.
+        "hoursOfDay": [ # Hours of the day when the ad will serve. Must be an integer between 0 and 23 (inclusive), where 0 is midnight to 1 AM, and 23 is 11 PM to midnight. Can be specified with days of week, in which case the ad would serve during these hours on the specified days. For example, if Monday, Wednesday, Friday are the days of week specified and 9-10am, 3-5pm (hours 9, 15, and 16) is specified, the ad would serve Monday, Wednesdays, and Fridays at 9-10am and 3-5pm.
+          42,
+        ],
+        "daysOfWeek": [ # Days of the week when the ad will serve.
+            #
+            # Acceptable values are:
+            # - "SUNDAY"
+            # - "MONDAY"
+            # - "TUESDAY"
+            # - "WEDNESDAY"
+            # - "THURSDAY"
+            # - "FRIDAY"
+            # - "SATURDAY"
+          "A String",
+        ],
+      },
+      "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this ad. This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "sslCompliant": True or False, # Whether this ad is ssl compliant. This is a read-only field that is auto-generated when the ad is inserted or updated.
+      "placementAssignments": [ # Placement assignments for this ad.
+        { # Placement Assignment.
+          "active": True or False, # Whether this placement assignment is active. When true, the placement will be included in the ad's rotation.
+          "placementIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the placement. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "placementId": "A String", # ID of the placement to be assigned. This is a required field.
+          "sslRequired": True or False, # Whether the placement to be assigned requires SSL. This is a read-only field that is auto-generated when the ad is inserted or updated.
+        },
+      ],
+      "endTime": "A String", # Date and time that this ad should stop serving. Must be later than the start time. This is a required field on insertion.
+      "dynamicClickTracker": True or False, # Whether this ad is a dynamic click tracker. Applicable when type is AD_SERVING_CLICK_TRACKER. This is a required field on insert, and is read-only after insert.
+    }
+
+ +
+ insert(profileId, body) +
Inserts a new ad.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a DCM ad.
+    "clickThroughUrlSuffixProperties": { # Click Through URL Suffix settings. # Click-through URL suffix properties for this ad. Applies to the URL in the ad or (if overriding ad properties) the URL in the creative.
+      "clickThroughUrlSuffix": "A String", # Click-through URL suffix to apply to all ads in this entity's scope. Must be less than 128 characters long.
+      "overrideInheritedSuffix": True or False, # Whether this entity should override the inherited click-through URL suffix with its own defined value.
+    },
+    "campaignId": "A String", # Campaign ID of this ad. This is a required field on insertion.
+    "advertiserId": "A String", # Advertiser ID of this ad. This is a required field on insertion.
+    "geoTargeting": { # Geographical Targeting. # Geographical targeting information for this ad.Applicable when type is AD_SERVING_STANDARD_AD.
+      "countries": [ # Countries to be targeted or excluded from targeting, depending on the setting of the excludeCountries field. For each country only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting or excluding a country, do not target regions, cities, metros, or postal codes in the same country.
+        { # Contains information about a country that can be targeted by ads.
+          "dartId": "A String", # DART ID of this country. This is the ID used for targeting and generating reports.
+          "sslEnabled": True or False, # Whether ad serving supports secure servers in this country.
+          "kind": "dfareporting#country", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#country".
+          "countryCode": "A String", # Country code.
+          "name": "A String", # Name of this country.
+        },
+      ],
+      "excludeCountries": True or False, # Whether or not to exclude the countries in the countries field from targeting. If false, the countries field refers to countries which will be targeted by the ad.
+      "postalCodes": [ # Postal codes to be targeted. For each postal code only id is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a postal code, do not target or exclude the country of the postal code.
+        { # Contains information about a postal code that can be targeted by ads.
+          "countryDartId": "A String", # DART ID of the country to which this postal code belongs.
+          "kind": "dfareporting#postalCode", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#postalCode".
+          "code": "A String", # Postal code. This is equivalent to the id field.
+          "id": "A String", # ID of this postal code.
+          "countryCode": "A String", # Country code of the country to which this postal code belongs.
+        },
+      ],
+      "regions": [ # Regions to be targeted. For each region only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a region, do not target or exclude the country of the region.
+        { # Contains information about a region that can be targeted by ads.
+          "kind": "dfareporting#region", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#region".
+          "countryDartId": "A String", # DART ID of the country to which this region belongs.
+          "name": "A String", # Name of this region.
+          "countryCode": "A String", # Country code of the country to which this region belongs.
+          "regionCode": "A String", # Region code.
+          "dartId": "A String", # DART ID of this region.
+        },
+      ],
+      "cities": [ # Cities to be targeted. For each city only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a city, do not target or exclude the country of the city, and do not target the metro or region of the city.
+        { # Contains information about a city that can be targeted by ads.
+          "kind": "dfareporting#city", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#city".
+          "countryDartId": "A String", # DART ID of the country to which this city belongs.
+          "name": "A String", # Name of this city.
+          "countryCode": "A String", # Country code of the country to which this city belongs.
+          "metroCode": "A String", # Metro region code of the metro region (DMA) to which this city belongs.
+          "regionCode": "A String", # Region code of the region to which this city belongs.
+          "metroDmaId": "A String", # ID of the metro region (DMA) to which this city belongs.
+          "dartId": "A String", # DART ID of this city. This is the ID used for targeting and generating reports.
+          "regionDartId": "A String", # DART ID of the region to which this city belongs.
+        },
+      ],
+      "metros": [ # Metros to be targeted. For each metro only dmaId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a metro, do not target or exclude the country of the metro.
+        { # Contains information about a metro region that can be targeted by ads.
+          "kind": "dfareporting#metro", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#metro".
+          "countryDartId": "A String", # DART ID of the country to which this metro region belongs.
+          "name": "A String", # Name of this metro region.
+          "countryCode": "A String", # Country code of the country to which this metro region belongs.
+          "metroCode": "A String", # Metro code of this metro region. This is equivalent to dma_id.
+          "dmaId": "A String", # DMA ID of this metro region. This is the ID used for targeting and generating reports, and is equivalent to metro_code.
+          "dartId": "A String", # DART ID of this metro region.
+        },
+      ],
+    },
+    "creativeGroupAssignments": [ # Creative group assignments for this ad. Applicable when type is AD_SERVING_CLICK_TRACKER. Only one assignment per creative group number is allowed for a maximum of two assignments.
+      { # Creative Group Assignment.
+        "creativeGroupNumber": "A String", # Creative group number of the creative group assignment.
+        "creativeGroupId": "A String", # ID of the creative group to be assigned.
+      },
+    ],
+    "deliverySchedule": { # Delivery Schedule. # Delivery schedule information for this ad. Applicable when type is AD_SERVING_STANDARD_AD or AD_SERVING_TRACKING. This field along with subfields priority and impressionRatio are required on insertion when type is AD_SERVING_STANDARD_AD.
+      "priority": "A String", # Serving priority of an ad, with respect to other ads. The lower the priority number, the greater the priority with which it is served.
+      "hardCutoff": True or False, # Whether or not hard cutoff is enabled. If true, the ad will not serve after the end date and time. Otherwise the ad will continue to be served until it has reached its delivery goals.
+      "frequencyCap": { # Frequency Cap. # Limit on the number of times an individual user can be served the ad within a specified period of time.
+        "duration": "A String", # Duration of time, in seconds, for this frequency cap. The maximum duration is 90 days in seconds, or 7,776,000.
+        "impressions": "A String", # Number of times an individual user can be served the ad within the specified duration. The maximum allowed is 15.
+      },
+      "impressionRatio": "A String", # Impression ratio for this ad. This ratio determines how often each ad is served relative to the others. For example, if ad A has an impression ratio of 1 and ad B has an impression ratio of 3, then DCM will serve ad B three times as often as ad A. Must be between 1 and 10.
+    },
+    "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "eventTagOverrides": [ # Event tag overrides for this ad.
+      { # Event tag override information.
+        "enabled": True or False, # Whether this override is enabled.
+        "id": "A String", # ID of this event tag override. This is a read-only, auto-generated field.
+      },
+    ],
+    "id": "A String", # ID of this ad. This is a read-only, auto-generated field.
+    "accountId": "A String", # Account ID of this ad. This is a read-only field that can be left blank.
+    "archived": True or False, # Whether this ad is archived.
+    "technologyTargeting": { # Technology Targeting. # Technology platform targeting information for this ad. Applicable when type is AD_SERVING_STANDARD_AD.
+      "platformTypes": [ # Platform types that this ad targets. For example, desktop, mobile, or tablet. For each platform type, only id is required, and the other fields are populated automatically when the ad is inserted or updated.
+        { # Contains information about a platform type that can be targeted by ads.
+          "kind": "dfareporting#platformType", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#platformType".
+          "id": "A String", # ID of this platform type.
+          "name": "A String", # Name of this platform type.
+        },
+      ],
+      "operatingSystemVersions": [ # Operating system versions that this ad targets. To target all versions, use operatingSystems. For each operating system version, only id is required. The other fields are populated automatically when the ad is inserted or updated. If targeting an operating system version, do not set targeting for the corresponding operating system in operatingSystems.
+        { # Contains information about a particular version of an operating system that can be targeted by ads.
+          "majorVersion": "A String", # Major version (leftmost number) of this operating system version.
+          "kind": "dfareporting#operatingSystemVersion", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#operatingSystemVersion".
+          "name": "A String", # Name of this operating system version.
+          "id": "A String", # ID of this operating system version.
+          "operatingSystem": { # Contains information about an operating system that can be targeted by ads. # Operating system of this operating system version.
+            "mobile": True or False, # Whether this operating system is for mobile.
+            "dartId": "A String", # DART ID of this operating system. This is the ID used for targeting.
+            "kind": "dfareporting#operatingSystem", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#operatingSystem".
+            "name": "A String", # Name of this operating system.
+            "desktop": True or False, # Whether this operating system is for desktop.
+          },
+          "minorVersion": "A String", # Minor version (number after the first dot) of this operating system version.
+        },
+      ],
+      "browsers": [ # Browsers that this ad targets. For each browser either set browserVersionId or dartId along with the version numbers. If both are specified, only browserVersionId will be used.The other fields are populated automatically when the ad is inserted or updated.
+        { # Contains information about a browser that can be targeted by ads.
+          "majorVersion": "A String", # Major version number (leftmost number) of this browser. For example, for Chrome 5.0.376.86 beta, this field should be set to 5. An asterisk (*) may be used to target any version number, and a question mark (?) may be used to target cases where the version number cannot be identified. For example, Chrome *.* targets any version of Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets cases where the ad server knows the browser is Firefox but can't tell which version it is.
+          "kind": "dfareporting#browser", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#browser".
+          "name": "A String", # Name of this browser.
+          "browserVersionId": "A String", # ID referring to this grouping of browser and version numbers. This is the ID used for targeting.
+          "dartId": "A String", # DART ID of this browser. This is the ID used when generating reports.
+          "minorVersion": "A String", # Minor version number (number after first dot on left) of this browser. For example, for Chrome 5.0.375.86 beta, this field should be set to 0. An asterisk (*) may be used to target any version number, and a question mark (?) may be used to target cases where the version number cannot be identified. For example, Chrome *.* targets any version of Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets cases where the ad server knows the browser is Firefox but can't tell which version it is.
+        },
+      ],
+      "operatingSystems": [ # Operating systems that this ad targets. To target specific versions, use operatingSystemVersions. For each operating system only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting an operating system, do not set targeting for operating system versions for the same operating system.
+        { # Contains information about an operating system that can be targeted by ads.
+          "mobile": True or False, # Whether this operating system is for mobile.
+          "dartId": "A String", # DART ID of this operating system. This is the ID used for targeting.
+          "kind": "dfareporting#operatingSystem", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#operatingSystem".
+          "name": "A String", # Name of this operating system.
+          "desktop": True or False, # Whether this operating system is for desktop.
+        },
+      ],
+      "mobileCarriers": [ # Mobile carriers that this ad targets. For each mobile carrier only id is required, and the other fields are populated automatically when the ad is inserted or updated. If targeting a mobile carrier, do not set targeting for any zip codes.
+        { # Contains information about a mobile carrier that can be targeted by ads.
+          "kind": "dfareporting#mobileCarrier", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#mobileCarrier".
+          "countryDartId": "A String", # DART ID of the country to which this mobile carrier belongs.
+          "id": "A String", # ID of this mobile carrier.
+          "countryCode": "A String", # Country code of the country to which this mobile carrier belongs.
+          "name": "A String", # Name of this mobile carrier.
+        },
+      ],
+      "connectionTypes": [ # Connection types that this ad targets. For each connection type only id is required.The other fields are populated automatically when the ad is inserted or updated.
+        { # Contains information about an internet connection type that can be targeted by ads. Clients can use the connection type to target mobile vs. broadband users.
+          "kind": "dfareporting#connectionType", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#connectionType".
+          "id": "A String", # ID of this connection type.
+          "name": "A String", # Name of this connection type.
+        },
+      ],
+    },
+    "creativeRotation": { # Creative Rotation. # Creative rotation for this ad. Applicable when type is AD_SERVING_DEFAULT_AD, AD_SERVING_STANDARD_AD, or AD_SERVING_TRACKING. When type is AD_SERVING_DEFAULT_AD, this field should have exactly one creativeAssignment.
+      "creativeAssignments": [ # Creative assignments in this creative rotation.
+        { # Creative Assignment.
+          "weight": 42, # Weight of the creative assignment, applicable when the rotation type is CREATIVE_ROTATION_TYPE_RANDOM.
+          "sequence": 42, # Sequence number of the creative assignment, applicable when the rotation type is CREATIVE_ROTATION_TYPE_SEQUENTIAL.
+          "applyEventTags": True or False, # Whether applicable event tags should fire when this creative assignment is rendered. If this value is unset when the ad is inserted or updated, it will default to true for all creative types EXCEPT for INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and INSTREAM_VIDEO.
+          "richMediaExitOverrides": [ # Rich media exit overrides for this creative assignment.
+              # Applicable when the creative type is any of the following:
+              # - RICH_MEDIA_INPAGE
+              # - RICH_MEDIA_INPAGE_FLOATING
+              # - RICH_MEDIA_IM_EXPAND
+              # - RICH_MEDIA_EXPANDING
+              # - RICH_MEDIA_INTERSTITIAL_FLOAT
+              # - RICH_MEDIA_MOBILE_IN_APP
+              # - RICH_MEDIA_MULTI_FLOATING
+              # - RICH_MEDIA_PEEL_DOWN
+              # - ADVANCED_BANNER
+              # - VPAID_LINEAR
+              # - VPAID_NON_LINEAR
+            { # Rich Media Exit Override.
+              "customExitUrl": "A String", # Click-through URL to override the default exit URL. Applicable if the useCustomExitUrl field is set to true.
+              "useCustomExitUrl": True or False, # Whether to use the custom exit URL.
+              "exitId": "A String", # ID for the override to refer to a specific exit in the creative.
+            },
+          ],
+          "sslCompliant": True or False, # Whether the creative to be assigned is SSL-compliant. This is a read-only field that is auto-generated when the ad is inserted or updated.
+          "creativeGroupAssignments": [ # Creative group assignments for this creative assignment. Only one assignment per creative group number is allowed for a maximum of two assignments.
+            { # Creative Group Assignment.
+              "creativeGroupNumber": "A String", # Creative group number of the creative group assignment.
+              "creativeGroupId": "A String", # ID of the creative group to be assigned.
+            },
+          ],
+          "companionCreativeOverrides": [ # Companion creative overrides for this creative assignment. Applicable to video ads.
+            { # Companion Click-through override.
+              "clickThroughUrl": { # Click-through URL # Click-through URL of this companion click-through override.
+                "computedClickThroughUrl": "A String", # Read-only convenience field representing the actual URL that will be used for this click-through. The URL is computed as follows:
+                    # - If defaultLandingPage is enabled then the campaign's default landing page URL is assigned to this field.
+                    # - If defaultLandingPage is not enabled and a landingPageId is specified then that landing page's URL is assigned to this field.
+                    # - If neither of the above cases apply, then the customClickThroughUrl is assigned to this field.
+                "customClickThroughUrl": "A String", # Custom click-through URL. Applicable if the defaultLandingPage field is set to false and the landingPageId field is left unset.
+                "landingPageId": "A String", # ID of the landing page for the click-through URL. Applicable if the defaultLandingPage field is set to false.
+                "defaultLandingPage": True or False, # Whether the campaign default landing page is used.
+              },
+              "creativeId": "A String", # ID of the creative for this companion click-through override.
+            },
+          ],
+          "startTime": "A String", # Date and time that the assigned creative should start serving.
+          "clickThroughUrl": { # Click-through URL # Click-through URL of the creative assignment.
+            "computedClickThroughUrl": "A String", # Read-only convenience field representing the actual URL that will be used for this click-through. The URL is computed as follows:
+                # - If defaultLandingPage is enabled then the campaign's default landing page URL is assigned to this field.
+                # - If defaultLandingPage is not enabled and a landingPageId is specified then that landing page's URL is assigned to this field.
+                # - If neither of the above cases apply, then the customClickThroughUrl is assigned to this field.
+            "customClickThroughUrl": "A String", # Custom click-through URL. Applicable if the defaultLandingPage field is set to false and the landingPageId field is left unset.
+            "landingPageId": "A String", # ID of the landing page for the click-through URL. Applicable if the defaultLandingPage field is set to false.
+            "defaultLandingPage": True or False, # Whether the campaign default landing page is used.
+          },
+          "active": True or False, # Whether this creative assignment is active. When true, the creative will be included in the ad's rotation.
+          "creativeId": "A String", # ID of the creative to be assigned. This is a required field.
+          "endTime": "A String", # Date and time that the assigned creative should stop serving. Must be later than the start time.
+          "creativeIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the creative. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        },
+      ],
+      "weightCalculationStrategy": "A String", # Strategy for calculating weights. Used with CREATIVE_ROTATION_TYPE_RANDOM.
+      "creativeOptimizationConfigurationId": "A String", # Creative optimization configuration that is used by this ad. It should refer to one of the existing optimization configurations in the ad's campaign. If it is unset or set to 0, then the campaign's default optimization configuration will be used for this ad.
+      "type": "A String", # Type of creative rotation. Can be used to specify whether to use sequential or random rotation.
+    },
+    "clickThroughUrl": { # Click-through URL # Click-through URL for this ad. This is a required field on insertion. Applicable when type is AD_SERVING_CLICK_TRACKER.
+      "computedClickThroughUrl": "A String", # Read-only convenience field representing the actual URL that will be used for this click-through. The URL is computed as follows:
+          # - If defaultLandingPage is enabled then the campaign's default landing page URL is assigned to this field.
+          # - If defaultLandingPage is not enabled and a landingPageId is specified then that landing page's URL is assigned to this field.
+          # - If neither of the above cases apply, then the customClickThroughUrl is assigned to this field.
+      "customClickThroughUrl": "A String", # Custom click-through URL. Applicable if the defaultLandingPage field is set to false and the landingPageId field is left unset.
+      "landingPageId": "A String", # ID of the landing page for the click-through URL. Applicable if the defaultLandingPage field is set to false.
+      "defaultLandingPage": True or False, # Whether the campaign default landing page is used.
+    },
+    "comments": "A String", # Comments for this ad.
+    "remarketingListExpression": { # Remarketing List Targeting Expression. # Applicable when type is AD_SERVING_STANDARD_AD. Remarketing list targeting expression for this ad.
+      "expression": "A String", # Expression describing which lists are being targeted by the ad.
+    },
+    "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this ad. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "size": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size of this ad. Applicable when type is AD_SERVING_DEFAULT_AD.
+      "width": 42, # Width of this size.
+      "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+      "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+      "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+      "height": 42, # Height of this size.
+    },
+    "type": "A String", # Type of ad. This is a required field on insertion. Note that default ads (AD_SERVING_DEFAULT_AD) cannot be created directly (see Creative resource).
+    "sslRequired": True or False, # Whether this ad requires ssl. This is a read-only field that is auto-generated when the ad is inserted or updated.
+    "audienceSegmentId": "A String", # Audience segment ID that is being targeted for this ad. Applicable when type is AD_SERVING_STANDARD_AD.
+    "keyValueTargetingExpression": { # Key Value Targeting Expression. # Key-value targeting information for this ad. Applicable when type is AD_SERVING_STANDARD_AD.
+      "expression": "A String", # Keyword expression being targeted by the ad.
+    },
+    "campaignIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the campaign. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "defaultClickThroughEventTagProperties": { # Properties of inheriting and overriding the default click-through event tag. A campaign may override the event tag defined at the advertiser level, and an ad may also override the campaign's setting further. # Default click-through event tag properties for this ad.
+      "overrideInheritedEventTag": True or False, # Whether this entity should override the inherited default click-through event tag with its own defined value.
+      "defaultClickThroughEventTagId": "A String", # ID of the click-through event tag to apply to all ads in this entity's scope.
+    },
+    "createInfo": { # Modification timestamp. # Information about the creation of this ad.This is a read-only field.
+      "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+    },
+    "startTime": "A String", # Date and time that this ad should start serving. If creating an ad, this field must be a time in the future. This is a required field on insertion.
+    "active": True or False, # Whether this ad is active.
+    "compatibility": "A String", # Compatibility of this ad. Applicable when type is AD_SERVING_DEFAULT_AD. DISPLAY and DISPLAY_INTERSTITIAL refer to either rendering on desktop or on mobile devices or in mobile apps for regular or interstitial ads, respectively. APP and APP_INTERSTITIAL are only used for existing default ads. New mobile placements must be assigned DISPLAY or DISPLAY_INTERSTITIAL and default ads created for those placements will be limited to those compatibility types. IN_STREAM_VIDEO refers to rendering in-stream video ads developed with the VAST standard.
+    "kind": "dfareporting#ad", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#ad".
+    "subaccountId": "A String", # Subaccount ID of this ad. This is a read-only field that can be left blank.
+    "name": "A String", # Name of this ad. This is a required field and must be less than 256 characters long.
+    "dayPartTargeting": { # Day Part Targeting. # Time and day targeting information for this ad. Applicable when type is AD_SERVING_STANDARD_AD.
+      "userLocalTime": True or False, # Whether or not to use the user's local time. If false, the America/New York time zone applies.
+      "hoursOfDay": [ # Hours of the day when the ad will serve. Must be an integer between 0 and 23 (inclusive), where 0 is midnight to 1 AM, and 23 is 11 PM to midnight. Can be specified with days of week, in which case the ad would serve during these hours on the specified days. For example, if Monday, Wednesday, Friday are the days of week specified and 9-10am, 3-5pm (hours 9, 15, and 16) is specified, the ad would serve Monday, Wednesdays, and Fridays at 9-10am and 3-5pm.
+        42,
+      ],
+      "daysOfWeek": [ # Days of the week when the ad will serve.
+          #
+          # Acceptable values are:
+          # - "SUNDAY"
+          # - "MONDAY"
+          # - "TUESDAY"
+          # - "WEDNESDAY"
+          # - "THURSDAY"
+          # - "FRIDAY"
+          # - "SATURDAY"
+        "A String",
+      ],
+    },
+    "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this ad. This is a read-only field.
+      "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+    },
+    "sslCompliant": True or False, # Whether this ad is ssl compliant. This is a read-only field that is auto-generated when the ad is inserted or updated.
+    "placementAssignments": [ # Placement assignments for this ad.
+      { # Placement Assignment.
+        "active": True or False, # Whether this placement assignment is active. When true, the placement will be included in the ad's rotation.
+        "placementIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the placement. This is a read-only, auto-generated field.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+        "placementId": "A String", # ID of the placement to be assigned. This is a required field.
+        "sslRequired": True or False, # Whether the placement to be assigned requires SSL. This is a read-only field that is auto-generated when the ad is inserted or updated.
+      },
+    ],
+    "endTime": "A String", # Date and time that this ad should stop serving. Must be later than the start time. This is a required field on insertion.
+    "dynamicClickTracker": True or False, # Whether this ad is a dynamic click tracker. Applicable when type is AD_SERVING_CLICK_TRACKER. This is a required field on insert, and is read-only after insert.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a DCM ad.
+      "clickThroughUrlSuffixProperties": { # Click Through URL Suffix settings. # Click-through URL suffix properties for this ad. Applies to the URL in the ad or (if overriding ad properties) the URL in the creative.
+        "clickThroughUrlSuffix": "A String", # Click-through URL suffix to apply to all ads in this entity's scope. Must be less than 128 characters long.
+        "overrideInheritedSuffix": True or False, # Whether this entity should override the inherited click-through URL suffix with its own defined value.
+      },
+      "campaignId": "A String", # Campaign ID of this ad. This is a required field on insertion.
+      "advertiserId": "A String", # Advertiser ID of this ad. This is a required field on insertion.
+      "geoTargeting": { # Geographical Targeting. # Geographical targeting information for this ad.Applicable when type is AD_SERVING_STANDARD_AD.
+        "countries": [ # Countries to be targeted or excluded from targeting, depending on the setting of the excludeCountries field. For each country only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting or excluding a country, do not target regions, cities, metros, or postal codes in the same country.
+          { # Contains information about a country that can be targeted by ads.
+            "dartId": "A String", # DART ID of this country. This is the ID used for targeting and generating reports.
+            "sslEnabled": True or False, # Whether ad serving supports secure servers in this country.
+            "kind": "dfareporting#country", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#country".
+            "countryCode": "A String", # Country code.
+            "name": "A String", # Name of this country.
+          },
+        ],
+        "excludeCountries": True or False, # Whether or not to exclude the countries in the countries field from targeting. If false, the countries field refers to countries which will be targeted by the ad.
+        "postalCodes": [ # Postal codes to be targeted. For each postal code only id is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a postal code, do not target or exclude the country of the postal code.
+          { # Contains information about a postal code that can be targeted by ads.
+            "countryDartId": "A String", # DART ID of the country to which this postal code belongs.
+            "kind": "dfareporting#postalCode", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#postalCode".
+            "code": "A String", # Postal code. This is equivalent to the id field.
+            "id": "A String", # ID of this postal code.
+            "countryCode": "A String", # Country code of the country to which this postal code belongs.
+          },
+        ],
+        "regions": [ # Regions to be targeted. For each region only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a region, do not target or exclude the country of the region.
+          { # Contains information about a region that can be targeted by ads.
+            "kind": "dfareporting#region", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#region".
+            "countryDartId": "A String", # DART ID of the country to which this region belongs.
+            "name": "A String", # Name of this region.
+            "countryCode": "A String", # Country code of the country to which this region belongs.
+            "regionCode": "A String", # Region code.
+            "dartId": "A String", # DART ID of this region.
+          },
+        ],
+        "cities": [ # Cities to be targeted. For each city only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a city, do not target or exclude the country of the city, and do not target the metro or region of the city.
+          { # Contains information about a city that can be targeted by ads.
+            "kind": "dfareporting#city", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#city".
+            "countryDartId": "A String", # DART ID of the country to which this city belongs.
+            "name": "A String", # Name of this city.
+            "countryCode": "A String", # Country code of the country to which this city belongs.
+            "metroCode": "A String", # Metro region code of the metro region (DMA) to which this city belongs.
+            "regionCode": "A String", # Region code of the region to which this city belongs.
+            "metroDmaId": "A String", # ID of the metro region (DMA) to which this city belongs.
+            "dartId": "A String", # DART ID of this city. This is the ID used for targeting and generating reports.
+            "regionDartId": "A String", # DART ID of the region to which this city belongs.
+          },
+        ],
+        "metros": [ # Metros to be targeted. For each metro only dmaId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a metro, do not target or exclude the country of the metro.
+          { # Contains information about a metro region that can be targeted by ads.
+            "kind": "dfareporting#metro", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#metro".
+            "countryDartId": "A String", # DART ID of the country to which this metro region belongs.
+            "name": "A String", # Name of this metro region.
+            "countryCode": "A String", # Country code of the country to which this metro region belongs.
+            "metroCode": "A String", # Metro code of this metro region. This is equivalent to dma_id.
+            "dmaId": "A String", # DMA ID of this metro region. This is the ID used for targeting and generating reports, and is equivalent to metro_code.
+            "dartId": "A String", # DART ID of this metro region.
+          },
+        ],
+      },
+      "creativeGroupAssignments": [ # Creative group assignments for this ad. Applicable when type is AD_SERVING_CLICK_TRACKER. Only one assignment per creative group number is allowed for a maximum of two assignments.
+        { # Creative Group Assignment.
+          "creativeGroupNumber": "A String", # Creative group number of the creative group assignment.
+          "creativeGroupId": "A String", # ID of the creative group to be assigned.
+        },
+      ],
+      "deliverySchedule": { # Delivery Schedule. # Delivery schedule information for this ad. Applicable when type is AD_SERVING_STANDARD_AD or AD_SERVING_TRACKING. This field along with subfields priority and impressionRatio are required on insertion when type is AD_SERVING_STANDARD_AD.
+        "priority": "A String", # Serving priority of an ad, with respect to other ads. The lower the priority number, the greater the priority with which it is served.
+        "hardCutoff": True or False, # Whether or not hard cutoff is enabled. If true, the ad will not serve after the end date and time. Otherwise the ad will continue to be served until it has reached its delivery goals.
+        "frequencyCap": { # Frequency Cap. # Limit on the number of times an individual user can be served the ad within a specified period of time.
+          "duration": "A String", # Duration of time, in seconds, for this frequency cap. The maximum duration is 90 days in seconds, or 7,776,000.
+          "impressions": "A String", # Number of times an individual user can be served the ad within the specified duration. The maximum allowed is 15.
+        },
+        "impressionRatio": "A String", # Impression ratio for this ad. This ratio determines how often each ad is served relative to the others. For example, if ad A has an impression ratio of 1 and ad B has an impression ratio of 3, then DCM will serve ad B three times as often as ad A. Must be between 1 and 10.
+      },
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "eventTagOverrides": [ # Event tag overrides for this ad.
+        { # Event tag override information.
+          "enabled": True or False, # Whether this override is enabled.
+          "id": "A String", # ID of this event tag override. This is a read-only, auto-generated field.
+        },
+      ],
+      "id": "A String", # ID of this ad. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this ad. This is a read-only field that can be left blank.
+      "archived": True or False, # Whether this ad is archived.
+      "technologyTargeting": { # Technology Targeting. # Technology platform targeting information for this ad. Applicable when type is AD_SERVING_STANDARD_AD.
+        "platformTypes": [ # Platform types that this ad targets. For example, desktop, mobile, or tablet. For each platform type, only id is required, and the other fields are populated automatically when the ad is inserted or updated.
+          { # Contains information about a platform type that can be targeted by ads.
+            "kind": "dfareporting#platformType", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#platformType".
+            "id": "A String", # ID of this platform type.
+            "name": "A String", # Name of this platform type.
+          },
+        ],
+        "operatingSystemVersions": [ # Operating system versions that this ad targets. To target all versions, use operatingSystems. For each operating system version, only id is required. The other fields are populated automatically when the ad is inserted or updated. If targeting an operating system version, do not set targeting for the corresponding operating system in operatingSystems.
+          { # Contains information about a particular version of an operating system that can be targeted by ads.
+            "majorVersion": "A String", # Major version (leftmost number) of this operating system version.
+            "kind": "dfareporting#operatingSystemVersion", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#operatingSystemVersion".
+            "name": "A String", # Name of this operating system version.
+            "id": "A String", # ID of this operating system version.
+            "operatingSystem": { # Contains information about an operating system that can be targeted by ads. # Operating system of this operating system version.
+              "mobile": True or False, # Whether this operating system is for mobile.
+              "dartId": "A String", # DART ID of this operating system. This is the ID used for targeting.
+              "kind": "dfareporting#operatingSystem", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#operatingSystem".
+              "name": "A String", # Name of this operating system.
+              "desktop": True or False, # Whether this operating system is for desktop.
+            },
+            "minorVersion": "A String", # Minor version (number after the first dot) of this operating system version.
+          },
+        ],
+        "browsers": [ # Browsers that this ad targets. For each browser either set browserVersionId or dartId along with the version numbers. If both are specified, only browserVersionId will be used.The other fields are populated automatically when the ad is inserted or updated.
+          { # Contains information about a browser that can be targeted by ads.
+            "majorVersion": "A String", # Major version number (leftmost number) of this browser. For example, for Chrome 5.0.376.86 beta, this field should be set to 5. An asterisk (*) may be used to target any version number, and a question mark (?) may be used to target cases where the version number cannot be identified. For example, Chrome *.* targets any version of Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets cases where the ad server knows the browser is Firefox but can't tell which version it is.
+            "kind": "dfareporting#browser", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#browser".
+            "name": "A String", # Name of this browser.
+            "browserVersionId": "A String", # ID referring to this grouping of browser and version numbers. This is the ID used for targeting.
+            "dartId": "A String", # DART ID of this browser. This is the ID used when generating reports.
+            "minorVersion": "A String", # Minor version number (number after first dot on left) of this browser. For example, for Chrome 5.0.375.86 beta, this field should be set to 0. An asterisk (*) may be used to target any version number, and a question mark (?) may be used to target cases where the version number cannot be identified. For example, Chrome *.* targets any version of Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets cases where the ad server knows the browser is Firefox but can't tell which version it is.
+          },
+        ],
+        "operatingSystems": [ # Operating systems that this ad targets. To target specific versions, use operatingSystemVersions. For each operating system only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting an operating system, do not set targeting for operating system versions for the same operating system.
+          { # Contains information about an operating system that can be targeted by ads.
+            "mobile": True or False, # Whether this operating system is for mobile.
+            "dartId": "A String", # DART ID of this operating system. This is the ID used for targeting.
+            "kind": "dfareporting#operatingSystem", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#operatingSystem".
+            "name": "A String", # Name of this operating system.
+            "desktop": True or False, # Whether this operating system is for desktop.
+          },
+        ],
+        "mobileCarriers": [ # Mobile carriers that this ad targets. For each mobile carrier only id is required, and the other fields are populated automatically when the ad is inserted or updated. If targeting a mobile carrier, do not set targeting for any zip codes.
+          { # Contains information about a mobile carrier that can be targeted by ads.
+            "kind": "dfareporting#mobileCarrier", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#mobileCarrier".
+            "countryDartId": "A String", # DART ID of the country to which this mobile carrier belongs.
+            "id": "A String", # ID of this mobile carrier.
+            "countryCode": "A String", # Country code of the country to which this mobile carrier belongs.
+            "name": "A String", # Name of this mobile carrier.
+          },
+        ],
+        "connectionTypes": [ # Connection types that this ad targets. For each connection type only id is required.The other fields are populated automatically when the ad is inserted or updated.
+          { # Contains information about an internet connection type that can be targeted by ads. Clients can use the connection type to target mobile vs. broadband users.
+            "kind": "dfareporting#connectionType", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#connectionType".
+            "id": "A String", # ID of this connection type.
+            "name": "A String", # Name of this connection type.
+          },
+        ],
+      },
+      "creativeRotation": { # Creative Rotation. # Creative rotation for this ad. Applicable when type is AD_SERVING_DEFAULT_AD, AD_SERVING_STANDARD_AD, or AD_SERVING_TRACKING. When type is AD_SERVING_DEFAULT_AD, this field should have exactly one creativeAssignment.
+        "creativeAssignments": [ # Creative assignments in this creative rotation.
+          { # Creative Assignment.
+            "weight": 42, # Weight of the creative assignment, applicable when the rotation type is CREATIVE_ROTATION_TYPE_RANDOM.
+            "sequence": 42, # Sequence number of the creative assignment, applicable when the rotation type is CREATIVE_ROTATION_TYPE_SEQUENTIAL.
+            "applyEventTags": True or False, # Whether applicable event tags should fire when this creative assignment is rendered. If this value is unset when the ad is inserted or updated, it will default to true for all creative types EXCEPT for INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and INSTREAM_VIDEO.
+            "richMediaExitOverrides": [ # Rich media exit overrides for this creative assignment.
+                # Applicable when the creative type is any of the following:
+                # - RICH_MEDIA_INPAGE
+                # - RICH_MEDIA_INPAGE_FLOATING
+                # - RICH_MEDIA_IM_EXPAND
+                # - RICH_MEDIA_EXPANDING
+                # - RICH_MEDIA_INTERSTITIAL_FLOAT
+                # - RICH_MEDIA_MOBILE_IN_APP
+                # - RICH_MEDIA_MULTI_FLOATING
+                # - RICH_MEDIA_PEEL_DOWN
+                # - ADVANCED_BANNER
+                # - VPAID_LINEAR
+                # - VPAID_NON_LINEAR
+              { # Rich Media Exit Override.
+                "customExitUrl": "A String", # Click-through URL to override the default exit URL. Applicable if the useCustomExitUrl field is set to true.
+                "useCustomExitUrl": True or False, # Whether to use the custom exit URL.
+                "exitId": "A String", # ID for the override to refer to a specific exit in the creative.
+              },
+            ],
+            "sslCompliant": True or False, # Whether the creative to be assigned is SSL-compliant. This is a read-only field that is auto-generated when the ad is inserted or updated.
+            "creativeGroupAssignments": [ # Creative group assignments for this creative assignment. Only one assignment per creative group number is allowed for a maximum of two assignments.
+              { # Creative Group Assignment.
+                "creativeGroupNumber": "A String", # Creative group number of the creative group assignment.
+                "creativeGroupId": "A String", # ID of the creative group to be assigned.
+              },
+            ],
+            "companionCreativeOverrides": [ # Companion creative overrides for this creative assignment. Applicable to video ads.
+              { # Companion Click-through override.
+                "clickThroughUrl": { # Click-through URL # Click-through URL of this companion click-through override.
+                  "computedClickThroughUrl": "A String", # Read-only convenience field representing the actual URL that will be used for this click-through. The URL is computed as follows:
+                      # - If defaultLandingPage is enabled then the campaign's default landing page URL is assigned to this field.
+                      # - If defaultLandingPage is not enabled and a landingPageId is specified then that landing page's URL is assigned to this field.
+                      # - If neither of the above cases apply, then the customClickThroughUrl is assigned to this field.
+                  "customClickThroughUrl": "A String", # Custom click-through URL. Applicable if the defaultLandingPage field is set to false and the landingPageId field is left unset.
+                  "landingPageId": "A String", # ID of the landing page for the click-through URL. Applicable if the defaultLandingPage field is set to false.
+                  "defaultLandingPage": True or False, # Whether the campaign default landing page is used.
+                },
+                "creativeId": "A String", # ID of the creative for this companion click-through override.
+              },
+            ],
+            "startTime": "A String", # Date and time that the assigned creative should start serving.
+            "clickThroughUrl": { # Click-through URL # Click-through URL of the creative assignment.
+              "computedClickThroughUrl": "A String", # Read-only convenience field representing the actual URL that will be used for this click-through. The URL is computed as follows:
+                  # - If defaultLandingPage is enabled then the campaign's default landing page URL is assigned to this field.
+                  # - If defaultLandingPage is not enabled and a landingPageId is specified then that landing page's URL is assigned to this field.
+                  # - If neither of the above cases apply, then the customClickThroughUrl is assigned to this field.
+              "customClickThroughUrl": "A String", # Custom click-through URL. Applicable if the defaultLandingPage field is set to false and the landingPageId field is left unset.
+              "landingPageId": "A String", # ID of the landing page for the click-through URL. Applicable if the defaultLandingPage field is set to false.
+              "defaultLandingPage": True or False, # Whether the campaign default landing page is used.
+            },
+            "active": True or False, # Whether this creative assignment is active. When true, the creative will be included in the ad's rotation.
+            "creativeId": "A String", # ID of the creative to be assigned. This is a required field.
+            "endTime": "A String", # Date and time that the assigned creative should stop serving. Must be later than the start time.
+            "creativeIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the creative. This is a read-only, auto-generated field.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+          },
+        ],
+        "weightCalculationStrategy": "A String", # Strategy for calculating weights. Used with CREATIVE_ROTATION_TYPE_RANDOM.
+        "creativeOptimizationConfigurationId": "A String", # Creative optimization configuration that is used by this ad. It should refer to one of the existing optimization configurations in the ad's campaign. If it is unset or set to 0, then the campaign's default optimization configuration will be used for this ad.
+        "type": "A String", # Type of creative rotation. Can be used to specify whether to use sequential or random rotation.
+      },
+      "clickThroughUrl": { # Click-through URL # Click-through URL for this ad. This is a required field on insertion. Applicable when type is AD_SERVING_CLICK_TRACKER.
+        "computedClickThroughUrl": "A String", # Read-only convenience field representing the actual URL that will be used for this click-through. The URL is computed as follows:
+            # - If defaultLandingPage is enabled then the campaign's default landing page URL is assigned to this field.
+            # - If defaultLandingPage is not enabled and a landingPageId is specified then that landing page's URL is assigned to this field.
+            # - If neither of the above cases apply, then the customClickThroughUrl is assigned to this field.
+        "customClickThroughUrl": "A String", # Custom click-through URL. Applicable if the defaultLandingPage field is set to false and the landingPageId field is left unset.
+        "landingPageId": "A String", # ID of the landing page for the click-through URL. Applicable if the defaultLandingPage field is set to false.
+        "defaultLandingPage": True or False, # Whether the campaign default landing page is used.
+      },
+      "comments": "A String", # Comments for this ad.
+      "remarketingListExpression": { # Remarketing List Targeting Expression. # Applicable when type is AD_SERVING_STANDARD_AD. Remarketing list targeting expression for this ad.
+        "expression": "A String", # Expression describing which lists are being targeted by the ad.
+      },
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this ad. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "size": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size of this ad. Applicable when type is AD_SERVING_DEFAULT_AD.
+        "width": 42, # Width of this size.
+        "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+        "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+        "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+        "height": 42, # Height of this size.
+      },
+      "type": "A String", # Type of ad. This is a required field on insertion. Note that default ads (AD_SERVING_DEFAULT_AD) cannot be created directly (see Creative resource).
+      "sslRequired": True or False, # Whether this ad requires ssl. This is a read-only field that is auto-generated when the ad is inserted or updated.
+      "audienceSegmentId": "A String", # Audience segment ID that is being targeted for this ad. Applicable when type is AD_SERVING_STANDARD_AD.
+      "keyValueTargetingExpression": { # Key Value Targeting Expression. # Key-value targeting information for this ad. Applicable when type is AD_SERVING_STANDARD_AD.
+        "expression": "A String", # Keyword expression being targeted by the ad.
+      },
+      "campaignIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the campaign. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "defaultClickThroughEventTagProperties": { # Properties of inheriting and overriding the default click-through event tag. A campaign may override the event tag defined at the advertiser level, and an ad may also override the campaign's setting further. # Default click-through event tag properties for this ad.
+        "overrideInheritedEventTag": True or False, # Whether this entity should override the inherited default click-through event tag with its own defined value.
+        "defaultClickThroughEventTagId": "A String", # ID of the click-through event tag to apply to all ads in this entity's scope.
+      },
+      "createInfo": { # Modification timestamp. # Information about the creation of this ad.This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "startTime": "A String", # Date and time that this ad should start serving. If creating an ad, this field must be a time in the future. This is a required field on insertion.
+      "active": True or False, # Whether this ad is active.
+      "compatibility": "A String", # Compatibility of this ad. Applicable when type is AD_SERVING_DEFAULT_AD. DISPLAY and DISPLAY_INTERSTITIAL refer to either rendering on desktop or on mobile devices or in mobile apps for regular or interstitial ads, respectively. APP and APP_INTERSTITIAL are only used for existing default ads. New mobile placements must be assigned DISPLAY or DISPLAY_INTERSTITIAL and default ads created for those placements will be limited to those compatibility types. IN_STREAM_VIDEO refers to rendering in-stream video ads developed with the VAST standard.
+      "kind": "dfareporting#ad", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#ad".
+      "subaccountId": "A String", # Subaccount ID of this ad. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this ad. This is a required field and must be less than 256 characters long.
+      "dayPartTargeting": { # Day Part Targeting. # Time and day targeting information for this ad. Applicable when type is AD_SERVING_STANDARD_AD.
+        "userLocalTime": True or False, # Whether or not to use the user's local time. If false, the America/New York time zone applies.
+        "hoursOfDay": [ # Hours of the day when the ad will serve. Must be an integer between 0 and 23 (inclusive), where 0 is midnight to 1 AM, and 23 is 11 PM to midnight. Can be specified with days of week, in which case the ad would serve during these hours on the specified days. For example, if Monday, Wednesday, Friday are the days of week specified and 9-10am, 3-5pm (hours 9, 15, and 16) is specified, the ad would serve Monday, Wednesdays, and Fridays at 9-10am and 3-5pm.
+          42,
+        ],
+        "daysOfWeek": [ # Days of the week when the ad will serve.
+            #
+            # Acceptable values are:
+            # - "SUNDAY"
+            # - "MONDAY"
+            # - "TUESDAY"
+            # - "WEDNESDAY"
+            # - "THURSDAY"
+            # - "FRIDAY"
+            # - "SATURDAY"
+          "A String",
+        ],
+      },
+      "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this ad. This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "sslCompliant": True or False, # Whether this ad is ssl compliant. This is a read-only field that is auto-generated when the ad is inserted or updated.
+      "placementAssignments": [ # Placement assignments for this ad.
+        { # Placement Assignment.
+          "active": True or False, # Whether this placement assignment is active. When true, the placement will be included in the ad's rotation.
+          "placementIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the placement. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "placementId": "A String", # ID of the placement to be assigned. This is a required field.
+          "sslRequired": True or False, # Whether the placement to be assigned requires SSL. This is a read-only field that is auto-generated when the ad is inserted or updated.
+        },
+      ],
+      "endTime": "A String", # Date and time that this ad should stop serving. Must be later than the start time. This is a required field on insertion.
+      "dynamicClickTracker": True or False, # Whether this ad is a dynamic click tracker. Applicable when type is AD_SERVING_CLICK_TRACKER. This is a required field on insert, and is read-only after insert.
+    }
+
+ +
+ list(profileId, landingPageIds=None, overriddenEventTagId=None, campaignIds=None, sizeIds=None, archived=None, creativeOptimizationConfigurationIds=None, sslCompliant=None, pageToken=None, sortOrder=None, type=None, sslRequired=None, creativeIds=None, remarketingListIds=None, maxResults=None, creativeType=None, placementIds=None, active=None, compatibility=None, advertiserId=None, searchString=None, audienceSegmentIds=None, ids=None, sortField=None, dynamicClickTracker=None) +
Retrieves a list of ads, possibly filtered.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  landingPageIds: string, Select only ads with these landing page IDs. (repeated)
+  overriddenEventTagId: string, Select only ads with this event tag override ID.
+  campaignIds: string, Select only ads with these campaign IDs. (repeated)
+  sizeIds: string, Select only ads with these size IDs. (repeated)
+  archived: boolean, Select only archived ads.
+  creativeOptimizationConfigurationIds: string, Select only ads with these creative optimization configuration IDs. (repeated)
+  sslCompliant: boolean, Select only ads that are SSL-compliant.
+  pageToken: string, Value of the nextPageToken from the previous result page.
+  sortOrder: string, Order of sorted results, default is ASCENDING.
+    Allowed values
+      ASCENDING - 
+      DESCENDING - 
+  type: string, Select only ads with these types. (repeated)
+    Allowed values
+      AD_SERVING_CLICK_TRACKER - 
+      AD_SERVING_DEFAULT_AD - 
+      AD_SERVING_STANDARD_AD - 
+      AD_SERVING_TRACKING - 
+  sslRequired: boolean, Select only ads that require SSL.
+  creativeIds: string, Select only ads with these creative IDs assigned. (repeated)
+  remarketingListIds: string, Select only ads whose list targeting expression use these remarketing list IDs. (repeated)
+  maxResults: integer, Maximum number of results to return.
+  creativeType: string, Select only ads with the specified creativeType.
+    Allowed values
+      BRAND_SAFE_DEFAULT_INSTREAM_VIDEO - 
+      CUSTOM_DISPLAY - 
+      CUSTOM_DISPLAY_INTERSTITIAL - 
+      DISPLAY - 
+      DISPLAY_IMAGE_GALLERY - 
+      DISPLAY_REDIRECT - 
+      FLASH_INPAGE - 
+      HTML5_BANNER - 
+      IMAGE - 
+      INSTREAM_VIDEO - 
+      INSTREAM_VIDEO_REDIRECT - 
+      INTERNAL_REDIRECT - 
+      INTERSTITIAL_INTERNAL_REDIRECT - 
+      RICH_MEDIA_DISPLAY_BANNER - 
+      RICH_MEDIA_DISPLAY_EXPANDING - 
+      RICH_MEDIA_DISPLAY_INTERSTITIAL - 
+      RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL - 
+      RICH_MEDIA_IM_EXPAND - 
+      RICH_MEDIA_INPAGE_FLOATING - 
+      RICH_MEDIA_MOBILE_IN_APP - 
+      RICH_MEDIA_PEEL_DOWN - 
+      TRACKING_TEXT - 
+      VPAID_LINEAR_VIDEO - 
+      VPAID_NON_LINEAR_VIDEO - 
+  placementIds: string, Select only ads with these placement IDs assigned. (repeated)
+  active: boolean, Select only active ads.
+  compatibility: string, Select default ads with the specified compatibility. Applicable when type is AD_SERVING_DEFAULT_AD. DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on desktop or on mobile devices for regular or interstitial ads, respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps. IN_STREAM_VIDEO refers to rendering an in-stream video ads developed with the VAST standard.
+    Allowed values
+      APP - 
+      APP_INTERSTITIAL - 
+      DISPLAY - 
+      DISPLAY_INTERSTITIAL - 
+      IN_STREAM_VIDEO - 
+  advertiserId: string, Select only ads with this advertiser ID.
+  searchString: string, Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "ad*2015" will return objects with names like "ad June 2015", "ad April 2015", or simply "ad 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "ad" will match objects with name "my ad", "ad 2015", or simply "ad".
+  audienceSegmentIds: string, Select only ads with these audience segment IDs. (repeated)
+  ids: string, Select only ads with these IDs. (repeated)
+  sortField: string, Field by which to sort the list.
+    Allowed values
+      ID - 
+      NAME - 
+  dynamicClickTracker: boolean, Select only dynamic click trackers. Applicable when type is AD_SERVING_CLICK_TRACKER. If true, select dynamic click trackers. If false, select static click trackers. Leave unset to select both.
+
+Returns:
+  An object of the form:
+
+    { # Ad List Response
+    "nextPageToken": "A String", # Pagination token to be used for the next list operation.
+    "kind": "dfareporting#adsListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#adsListResponse".
+    "ads": [ # Ad collection.
+      { # Contains properties of a DCM ad.
+          "clickThroughUrlSuffixProperties": { # Click Through URL Suffix settings. # Click-through URL suffix properties for this ad. Applies to the URL in the ad or (if overriding ad properties) the URL in the creative.
+            "clickThroughUrlSuffix": "A String", # Click-through URL suffix to apply to all ads in this entity's scope. Must be less than 128 characters long.
+            "overrideInheritedSuffix": True or False, # Whether this entity should override the inherited click-through URL suffix with its own defined value.
+          },
+          "campaignId": "A String", # Campaign ID of this ad. This is a required field on insertion.
+          "advertiserId": "A String", # Advertiser ID of this ad. This is a required field on insertion.
+          "geoTargeting": { # Geographical Targeting. # Geographical targeting information for this ad.Applicable when type is AD_SERVING_STANDARD_AD.
+            "countries": [ # Countries to be targeted or excluded from targeting, depending on the setting of the excludeCountries field. For each country only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting or excluding a country, do not target regions, cities, metros, or postal codes in the same country.
+              { # Contains information about a country that can be targeted by ads.
+                "dartId": "A String", # DART ID of this country. This is the ID used for targeting and generating reports.
+                "sslEnabled": True or False, # Whether ad serving supports secure servers in this country.
+                "kind": "dfareporting#country", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#country".
+                "countryCode": "A String", # Country code.
+                "name": "A String", # Name of this country.
+              },
+            ],
+            "excludeCountries": True or False, # Whether or not to exclude the countries in the countries field from targeting. If false, the countries field refers to countries which will be targeted by the ad.
+            "postalCodes": [ # Postal codes to be targeted. For each postal code only id is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a postal code, do not target or exclude the country of the postal code.
+              { # Contains information about a postal code that can be targeted by ads.
+                "countryDartId": "A String", # DART ID of the country to which this postal code belongs.
+                "kind": "dfareporting#postalCode", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#postalCode".
+                "code": "A String", # Postal code. This is equivalent to the id field.
+                "id": "A String", # ID of this postal code.
+                "countryCode": "A String", # Country code of the country to which this postal code belongs.
+              },
+            ],
+            "regions": [ # Regions to be targeted. For each region only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a region, do not target or exclude the country of the region.
+              { # Contains information about a region that can be targeted by ads.
+                "kind": "dfareporting#region", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#region".
+                "countryDartId": "A String", # DART ID of the country to which this region belongs.
+                "name": "A String", # Name of this region.
+                "countryCode": "A String", # Country code of the country to which this region belongs.
+                "regionCode": "A String", # Region code.
+                "dartId": "A String", # DART ID of this region.
+              },
+            ],
+            "cities": [ # Cities to be targeted. For each city only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a city, do not target or exclude the country of the city, and do not target the metro or region of the city.
+              { # Contains information about a city that can be targeted by ads.
+                "kind": "dfareporting#city", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#city".
+                "countryDartId": "A String", # DART ID of the country to which this city belongs.
+                "name": "A String", # Name of this city.
+                "countryCode": "A String", # Country code of the country to which this city belongs.
+                "metroCode": "A String", # Metro region code of the metro region (DMA) to which this city belongs.
+                "regionCode": "A String", # Region code of the region to which this city belongs.
+                "metroDmaId": "A String", # ID of the metro region (DMA) to which this city belongs.
+                "dartId": "A String", # DART ID of this city. This is the ID used for targeting and generating reports.
+                "regionDartId": "A String", # DART ID of the region to which this city belongs.
+              },
+            ],
+            "metros": [ # Metros to be targeted. For each metro only dmaId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a metro, do not target or exclude the country of the metro.
+              { # Contains information about a metro region that can be targeted by ads.
+                "kind": "dfareporting#metro", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#metro".
+                "countryDartId": "A String", # DART ID of the country to which this metro region belongs.
+                "name": "A String", # Name of this metro region.
+                "countryCode": "A String", # Country code of the country to which this metro region belongs.
+                "metroCode": "A String", # Metro code of this metro region. This is equivalent to dma_id.
+                "dmaId": "A String", # DMA ID of this metro region. This is the ID used for targeting and generating reports, and is equivalent to metro_code.
+                "dartId": "A String", # DART ID of this metro region.
+              },
+            ],
+          },
+          "creativeGroupAssignments": [ # Creative group assignments for this ad. Applicable when type is AD_SERVING_CLICK_TRACKER. Only one assignment per creative group number is allowed for a maximum of two assignments.
+            { # Creative Group Assignment.
+              "creativeGroupNumber": "A String", # Creative group number of the creative group assignment.
+              "creativeGroupId": "A String", # ID of the creative group to be assigned.
+            },
+          ],
+          "deliverySchedule": { # Delivery Schedule. # Delivery schedule information for this ad. Applicable when type is AD_SERVING_STANDARD_AD or AD_SERVING_TRACKING. This field along with subfields priority and impressionRatio are required on insertion when type is AD_SERVING_STANDARD_AD.
+            "priority": "A String", # Serving priority of an ad, with respect to other ads. The lower the priority number, the greater the priority with which it is served.
+            "hardCutoff": True or False, # Whether or not hard cutoff is enabled. If true, the ad will not serve after the end date and time. Otherwise the ad will continue to be served until it has reached its delivery goals.
+            "frequencyCap": { # Frequency Cap. # Limit on the number of times an individual user can be served the ad within a specified period of time.
+              "duration": "A String", # Duration of time, in seconds, for this frequency cap. The maximum duration is 90 days in seconds, or 7,776,000.
+              "impressions": "A String", # Number of times an individual user can be served the ad within the specified duration. The maximum allowed is 15.
+            },
+            "impressionRatio": "A String", # Impression ratio for this ad. This ratio determines how often each ad is served relative to the others. For example, if ad A has an impression ratio of 1 and ad B has an impression ratio of 3, then DCM will serve ad B three times as often as ad A. Must be between 1 and 10.
+          },
+          "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "eventTagOverrides": [ # Event tag overrides for this ad.
+            { # Event tag override information.
+              "enabled": True or False, # Whether this override is enabled.
+              "id": "A String", # ID of this event tag override. This is a read-only, auto-generated field.
+            },
+          ],
+          "id": "A String", # ID of this ad. This is a read-only, auto-generated field.
+          "accountId": "A String", # Account ID of this ad. This is a read-only field that can be left blank.
+          "archived": True or False, # Whether this ad is archived.
+          "technologyTargeting": { # Technology Targeting. # Technology platform targeting information for this ad. Applicable when type is AD_SERVING_STANDARD_AD.
+            "platformTypes": [ # Platform types that this ad targets. For example, desktop, mobile, or tablet. For each platform type, only id is required, and the other fields are populated automatically when the ad is inserted or updated.
+              { # Contains information about a platform type that can be targeted by ads.
+                "kind": "dfareporting#platformType", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#platformType".
+                "id": "A String", # ID of this platform type.
+                "name": "A String", # Name of this platform type.
+              },
+            ],
+            "operatingSystemVersions": [ # Operating system versions that this ad targets. To target all versions, use operatingSystems. For each operating system version, only id is required. The other fields are populated automatically when the ad is inserted or updated. If targeting an operating system version, do not set targeting for the corresponding operating system in operatingSystems.
+              { # Contains information about a particular version of an operating system that can be targeted by ads.
+                "majorVersion": "A String", # Major version (leftmost number) of this operating system version.
+                "kind": "dfareporting#operatingSystemVersion", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#operatingSystemVersion".
+                "name": "A String", # Name of this operating system version.
+                "id": "A String", # ID of this operating system version.
+                "operatingSystem": { # Contains information about an operating system that can be targeted by ads. # Operating system of this operating system version.
+                  "mobile": True or False, # Whether this operating system is for mobile.
+                  "dartId": "A String", # DART ID of this operating system. This is the ID used for targeting.
+                  "kind": "dfareporting#operatingSystem", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#operatingSystem".
+                  "name": "A String", # Name of this operating system.
+                  "desktop": True or False, # Whether this operating system is for desktop.
+                },
+                "minorVersion": "A String", # Minor version (number after the first dot) of this operating system version.
+              },
+            ],
+            "browsers": [ # Browsers that this ad targets. For each browser either set browserVersionId or dartId along with the version numbers. If both are specified, only browserVersionId will be used.The other fields are populated automatically when the ad is inserted or updated.
+              { # Contains information about a browser that can be targeted by ads.
+                "majorVersion": "A String", # Major version number (leftmost number) of this browser. For example, for Chrome 5.0.376.86 beta, this field should be set to 5. An asterisk (*) may be used to target any version number, and a question mark (?) may be used to target cases where the version number cannot be identified. For example, Chrome *.* targets any version of Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets cases where the ad server knows the browser is Firefox but can't tell which version it is.
+                "kind": "dfareporting#browser", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#browser".
+                "name": "A String", # Name of this browser.
+                "browserVersionId": "A String", # ID referring to this grouping of browser and version numbers. This is the ID used for targeting.
+                "dartId": "A String", # DART ID of this browser. This is the ID used when generating reports.
+                "minorVersion": "A String", # Minor version number (number after first dot on left) of this browser. For example, for Chrome 5.0.375.86 beta, this field should be set to 0. An asterisk (*) may be used to target any version number, and a question mark (?) may be used to target cases where the version number cannot be identified. For example, Chrome *.* targets any version of Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets cases where the ad server knows the browser is Firefox but can't tell which version it is.
+              },
+            ],
+            "operatingSystems": [ # Operating systems that this ad targets. To target specific versions, use operatingSystemVersions. For each operating system only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting an operating system, do not set targeting for operating system versions for the same operating system.
+              { # Contains information about an operating system that can be targeted by ads.
+                "mobile": True or False, # Whether this operating system is for mobile.
+                "dartId": "A String", # DART ID of this operating system. This is the ID used for targeting.
+                "kind": "dfareporting#operatingSystem", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#operatingSystem".
+                "name": "A String", # Name of this operating system.
+                "desktop": True or False, # Whether this operating system is for desktop.
+              },
+            ],
+            "mobileCarriers": [ # Mobile carriers that this ad targets. For each mobile carrier only id is required, and the other fields are populated automatically when the ad is inserted or updated. If targeting a mobile carrier, do not set targeting for any zip codes.
+              { # Contains information about a mobile carrier that can be targeted by ads.
+                "kind": "dfareporting#mobileCarrier", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#mobileCarrier".
+                "countryDartId": "A String", # DART ID of the country to which this mobile carrier belongs.
+                "id": "A String", # ID of this mobile carrier.
+                "countryCode": "A String", # Country code of the country to which this mobile carrier belongs.
+                "name": "A String", # Name of this mobile carrier.
+              },
+            ],
+            "connectionTypes": [ # Connection types that this ad targets. For each connection type only id is required.The other fields are populated automatically when the ad is inserted or updated.
+              { # Contains information about an internet connection type that can be targeted by ads. Clients can use the connection type to target mobile vs. broadband users.
+                "kind": "dfareporting#connectionType", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#connectionType".
+                "id": "A String", # ID of this connection type.
+                "name": "A String", # Name of this connection type.
+              },
+            ],
+          },
+          "creativeRotation": { # Creative Rotation. # Creative rotation for this ad. Applicable when type is AD_SERVING_DEFAULT_AD, AD_SERVING_STANDARD_AD, or AD_SERVING_TRACKING. When type is AD_SERVING_DEFAULT_AD, this field should have exactly one creativeAssignment.
+            "creativeAssignments": [ # Creative assignments in this creative rotation.
+              { # Creative Assignment.
+                "weight": 42, # Weight of the creative assignment, applicable when the rotation type is CREATIVE_ROTATION_TYPE_RANDOM.
+                "sequence": 42, # Sequence number of the creative assignment, applicable when the rotation type is CREATIVE_ROTATION_TYPE_SEQUENTIAL.
+                "applyEventTags": True or False, # Whether applicable event tags should fire when this creative assignment is rendered. If this value is unset when the ad is inserted or updated, it will default to true for all creative types EXCEPT for INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and INSTREAM_VIDEO.
+                "richMediaExitOverrides": [ # Rich media exit overrides for this creative assignment.
+                    # Applicable when the creative type is any of the following:
+                    # - RICH_MEDIA_INPAGE
+                    # - RICH_MEDIA_INPAGE_FLOATING
+                    # - RICH_MEDIA_IM_EXPAND
+                    # - RICH_MEDIA_EXPANDING
+                    # - RICH_MEDIA_INTERSTITIAL_FLOAT
+                    # - RICH_MEDIA_MOBILE_IN_APP
+                    # - RICH_MEDIA_MULTI_FLOATING
+                    # - RICH_MEDIA_PEEL_DOWN
+                    # - ADVANCED_BANNER
+                    # - VPAID_LINEAR
+                    # - VPAID_NON_LINEAR
+                  { # Rich Media Exit Override.
+                    "customExitUrl": "A String", # Click-through URL to override the default exit URL. Applicable if the useCustomExitUrl field is set to true.
+                    "useCustomExitUrl": True or False, # Whether to use the custom exit URL.
+                    "exitId": "A String", # ID for the override to refer to a specific exit in the creative.
+                  },
+                ],
+                "sslCompliant": True or False, # Whether the creative to be assigned is SSL-compliant. This is a read-only field that is auto-generated when the ad is inserted or updated.
+                "creativeGroupAssignments": [ # Creative group assignments for this creative assignment. Only one assignment per creative group number is allowed for a maximum of two assignments.
+                  { # Creative Group Assignment.
+                    "creativeGroupNumber": "A String", # Creative group number of the creative group assignment.
+                    "creativeGroupId": "A String", # ID of the creative group to be assigned.
+                  },
+                ],
+                "companionCreativeOverrides": [ # Companion creative overrides for this creative assignment. Applicable to video ads.
+                  { # Companion Click-through override.
+                    "clickThroughUrl": { # Click-through URL # Click-through URL of this companion click-through override.
+                      "computedClickThroughUrl": "A String", # Read-only convenience field representing the actual URL that will be used for this click-through. The URL is computed as follows:
+                          # - If defaultLandingPage is enabled then the campaign's default landing page URL is assigned to this field.
+                          # - If defaultLandingPage is not enabled and a landingPageId is specified then that landing page's URL is assigned to this field.
+                          # - If neither of the above cases apply, then the customClickThroughUrl is assigned to this field.
+                      "customClickThroughUrl": "A String", # Custom click-through URL. Applicable if the defaultLandingPage field is set to false and the landingPageId field is left unset.
+                      "landingPageId": "A String", # ID of the landing page for the click-through URL. Applicable if the defaultLandingPage field is set to false.
+                      "defaultLandingPage": True or False, # Whether the campaign default landing page is used.
+                    },
+                    "creativeId": "A String", # ID of the creative for this companion click-through override.
+                  },
+                ],
+                "startTime": "A String", # Date and time that the assigned creative should start serving.
+                "clickThroughUrl": { # Click-through URL # Click-through URL of the creative assignment.
+                  "computedClickThroughUrl": "A String", # Read-only convenience field representing the actual URL that will be used for this click-through. The URL is computed as follows:
+                      # - If defaultLandingPage is enabled then the campaign's default landing page URL is assigned to this field.
+                      # - If defaultLandingPage is not enabled and a landingPageId is specified then that landing page's URL is assigned to this field.
+                      # - If neither of the above cases apply, then the customClickThroughUrl is assigned to this field.
+                  "customClickThroughUrl": "A String", # Custom click-through URL. Applicable if the defaultLandingPage field is set to false and the landingPageId field is left unset.
+                  "landingPageId": "A String", # ID of the landing page for the click-through URL. Applicable if the defaultLandingPage field is set to false.
+                  "defaultLandingPage": True or False, # Whether the campaign default landing page is used.
+                },
+                "active": True or False, # Whether this creative assignment is active. When true, the creative will be included in the ad's rotation.
+                "creativeId": "A String", # ID of the creative to be assigned. This is a required field.
+                "endTime": "A String", # Date and time that the assigned creative should stop serving. Must be later than the start time.
+                "creativeIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the creative. This is a read-only, auto-generated field.
+                  "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+                  "value": "A String", # The value of the dimension.
+                  "dimensionName": "A String", # The name of the dimension.
+                  "etag": "A String", # The eTag of this response for caching purposes.
+                  "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+                  "id": "A String", # The ID associated with the value if available.
+                },
+              },
+            ],
+            "weightCalculationStrategy": "A String", # Strategy for calculating weights. Used with CREATIVE_ROTATION_TYPE_RANDOM.
+            "creativeOptimizationConfigurationId": "A String", # Creative optimization configuration that is used by this ad. It should refer to one of the existing optimization configurations in the ad's campaign. If it is unset or set to 0, then the campaign's default optimization configuration will be used for this ad.
+            "type": "A String", # Type of creative rotation. Can be used to specify whether to use sequential or random rotation.
+          },
+          "clickThroughUrl": { # Click-through URL # Click-through URL for this ad. This is a required field on insertion. Applicable when type is AD_SERVING_CLICK_TRACKER.
+            "computedClickThroughUrl": "A String", # Read-only convenience field representing the actual URL that will be used for this click-through. The URL is computed as follows:
+                # - If defaultLandingPage is enabled then the campaign's default landing page URL is assigned to this field.
+                # - If defaultLandingPage is not enabled and a landingPageId is specified then that landing page's URL is assigned to this field.
+                # - If neither of the above cases apply, then the customClickThroughUrl is assigned to this field.
+            "customClickThroughUrl": "A String", # Custom click-through URL. Applicable if the defaultLandingPage field is set to false and the landingPageId field is left unset.
+            "landingPageId": "A String", # ID of the landing page for the click-through URL. Applicable if the defaultLandingPage field is set to false.
+            "defaultLandingPage": True or False, # Whether the campaign default landing page is used.
+          },
+          "comments": "A String", # Comments for this ad.
+          "remarketingListExpression": { # Remarketing List Targeting Expression. # Applicable when type is AD_SERVING_STANDARD_AD. Remarketing list targeting expression for this ad.
+            "expression": "A String", # Expression describing which lists are being targeted by the ad.
+          },
+          "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this ad. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "size": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size of this ad. Applicable when type is AD_SERVING_DEFAULT_AD.
+            "width": 42, # Width of this size.
+            "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+            "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+            "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+            "height": 42, # Height of this size.
+          },
+          "type": "A String", # Type of ad. This is a required field on insertion. Note that default ads (AD_SERVING_DEFAULT_AD) cannot be created directly (see Creative resource).
+          "sslRequired": True or False, # Whether this ad requires ssl. This is a read-only field that is auto-generated when the ad is inserted or updated.
+          "audienceSegmentId": "A String", # Audience segment ID that is being targeted for this ad. Applicable when type is AD_SERVING_STANDARD_AD.
+          "keyValueTargetingExpression": { # Key Value Targeting Expression. # Key-value targeting information for this ad. Applicable when type is AD_SERVING_STANDARD_AD.
+            "expression": "A String", # Keyword expression being targeted by the ad.
+          },
+          "campaignIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the campaign. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "defaultClickThroughEventTagProperties": { # Properties of inheriting and overriding the default click-through event tag. A campaign may override the event tag defined at the advertiser level, and an ad may also override the campaign's setting further. # Default click-through event tag properties for this ad.
+            "overrideInheritedEventTag": True or False, # Whether this entity should override the inherited default click-through event tag with its own defined value.
+            "defaultClickThroughEventTagId": "A String", # ID of the click-through event tag to apply to all ads in this entity's scope.
+          },
+          "createInfo": { # Modification timestamp. # Information about the creation of this ad.This is a read-only field.
+            "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+          },
+          "startTime": "A String", # Date and time that this ad should start serving. If creating an ad, this field must be a time in the future. This is a required field on insertion.
+          "active": True or False, # Whether this ad is active.
+          "compatibility": "A String", # Compatibility of this ad. Applicable when type is AD_SERVING_DEFAULT_AD. DISPLAY and DISPLAY_INTERSTITIAL refer to either rendering on desktop or on mobile devices or in mobile apps for regular or interstitial ads, respectively. APP and APP_INTERSTITIAL are only used for existing default ads. New mobile placements must be assigned DISPLAY or DISPLAY_INTERSTITIAL and default ads created for those placements will be limited to those compatibility types. IN_STREAM_VIDEO refers to rendering in-stream video ads developed with the VAST standard.
+          "kind": "dfareporting#ad", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#ad".
+          "subaccountId": "A String", # Subaccount ID of this ad. This is a read-only field that can be left blank.
+          "name": "A String", # Name of this ad. This is a required field and must be less than 256 characters long.
+          "dayPartTargeting": { # Day Part Targeting. # Time and day targeting information for this ad. Applicable when type is AD_SERVING_STANDARD_AD.
+            "userLocalTime": True or False, # Whether or not to use the user's local time. If false, the America/New York time zone applies.
+            "hoursOfDay": [ # Hours of the day when the ad will serve. Must be an integer between 0 and 23 (inclusive), where 0 is midnight to 1 AM, and 23 is 11 PM to midnight. Can be specified with days of week, in which case the ad would serve during these hours on the specified days. For example, if Monday, Wednesday, Friday are the days of week specified and 9-10am, 3-5pm (hours 9, 15, and 16) is specified, the ad would serve Monday, Wednesdays, and Fridays at 9-10am and 3-5pm.
+              42,
+            ],
+            "daysOfWeek": [ # Days of the week when the ad will serve.
+                #
+                # Acceptable values are:
+                # - "SUNDAY"
+                # - "MONDAY"
+                # - "TUESDAY"
+                # - "WEDNESDAY"
+                # - "THURSDAY"
+                # - "FRIDAY"
+                # - "SATURDAY"
+              "A String",
+            ],
+          },
+          "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this ad. This is a read-only field.
+            "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+          },
+          "sslCompliant": True or False, # Whether this ad is ssl compliant. This is a read-only field that is auto-generated when the ad is inserted or updated.
+          "placementAssignments": [ # Placement assignments for this ad.
+            { # Placement Assignment.
+              "active": True or False, # Whether this placement assignment is active. When true, the placement will be included in the ad's rotation.
+              "placementIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the placement. This is a read-only, auto-generated field.
+                "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+                "value": "A String", # The value of the dimension.
+                "dimensionName": "A String", # The name of the dimension.
+                "etag": "A String", # The eTag of this response for caching purposes.
+                "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+                "id": "A String", # The ID associated with the value if available.
+              },
+              "placementId": "A String", # ID of the placement to be assigned. This is a required field.
+              "sslRequired": True or False, # Whether the placement to be assigned requires SSL. This is a read-only field that is auto-generated when the ad is inserted or updated.
+            },
+          ],
+          "endTime": "A String", # Date and time that this ad should stop serving. Must be later than the start time. This is a required field on insertion.
+          "dynamicClickTracker": True or False, # Whether this ad is a dynamic click tracker. Applicable when type is AD_SERVING_CLICK_TRACKER. This is a required field on insert, and is read-only after insert.
+        },
+    ],
+  }
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    
+
+ +
+ patch(profileId, id, body) +
Updates an existing ad. This method supports patch semantics.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Ad ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a DCM ad.
+    "clickThroughUrlSuffixProperties": { # Click Through URL Suffix settings. # Click-through URL suffix properties for this ad. Applies to the URL in the ad or (if overriding ad properties) the URL in the creative.
+      "clickThroughUrlSuffix": "A String", # Click-through URL suffix to apply to all ads in this entity's scope. Must be less than 128 characters long.
+      "overrideInheritedSuffix": True or False, # Whether this entity should override the inherited click-through URL suffix with its own defined value.
+    },
+    "campaignId": "A String", # Campaign ID of this ad. This is a required field on insertion.
+    "advertiserId": "A String", # Advertiser ID of this ad. This is a required field on insertion.
+    "geoTargeting": { # Geographical Targeting. # Geographical targeting information for this ad.Applicable when type is AD_SERVING_STANDARD_AD.
+      "countries": [ # Countries to be targeted or excluded from targeting, depending on the setting of the excludeCountries field. For each country only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting or excluding a country, do not target regions, cities, metros, or postal codes in the same country.
+        { # Contains information about a country that can be targeted by ads.
+          "dartId": "A String", # DART ID of this country. This is the ID used for targeting and generating reports.
+          "sslEnabled": True or False, # Whether ad serving supports secure servers in this country.
+          "kind": "dfareporting#country", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#country".
+          "countryCode": "A String", # Country code.
+          "name": "A String", # Name of this country.
+        },
+      ],
+      "excludeCountries": True or False, # Whether or not to exclude the countries in the countries field from targeting. If false, the countries field refers to countries which will be targeted by the ad.
+      "postalCodes": [ # Postal codes to be targeted. For each postal code only id is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a postal code, do not target or exclude the country of the postal code.
+        { # Contains information about a postal code that can be targeted by ads.
+          "countryDartId": "A String", # DART ID of the country to which this postal code belongs.
+          "kind": "dfareporting#postalCode", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#postalCode".
+          "code": "A String", # Postal code. This is equivalent to the id field.
+          "id": "A String", # ID of this postal code.
+          "countryCode": "A String", # Country code of the country to which this postal code belongs.
+        },
+      ],
+      "regions": [ # Regions to be targeted. For each region only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a region, do not target or exclude the country of the region.
+        { # Contains information about a region that can be targeted by ads.
+          "kind": "dfareporting#region", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#region".
+          "countryDartId": "A String", # DART ID of the country to which this region belongs.
+          "name": "A String", # Name of this region.
+          "countryCode": "A String", # Country code of the country to which this region belongs.
+          "regionCode": "A String", # Region code.
+          "dartId": "A String", # DART ID of this region.
+        },
+      ],
+      "cities": [ # Cities to be targeted. For each city only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a city, do not target or exclude the country of the city, and do not target the metro or region of the city.
+        { # Contains information about a city that can be targeted by ads.
+          "kind": "dfareporting#city", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#city".
+          "countryDartId": "A String", # DART ID of the country to which this city belongs.
+          "name": "A String", # Name of this city.
+          "countryCode": "A String", # Country code of the country to which this city belongs.
+          "metroCode": "A String", # Metro region code of the metro region (DMA) to which this city belongs.
+          "regionCode": "A String", # Region code of the region to which this city belongs.
+          "metroDmaId": "A String", # ID of the metro region (DMA) to which this city belongs.
+          "dartId": "A String", # DART ID of this city. This is the ID used for targeting and generating reports.
+          "regionDartId": "A String", # DART ID of the region to which this city belongs.
+        },
+      ],
+      "metros": [ # Metros to be targeted. For each metro only dmaId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a metro, do not target or exclude the country of the metro.
+        { # Contains information about a metro region that can be targeted by ads.
+          "kind": "dfareporting#metro", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#metro".
+          "countryDartId": "A String", # DART ID of the country to which this metro region belongs.
+          "name": "A String", # Name of this metro region.
+          "countryCode": "A String", # Country code of the country to which this metro region belongs.
+          "metroCode": "A String", # Metro code of this metro region. This is equivalent to dma_id.
+          "dmaId": "A String", # DMA ID of this metro region. This is the ID used for targeting and generating reports, and is equivalent to metro_code.
+          "dartId": "A String", # DART ID of this metro region.
+        },
+      ],
+    },
+    "creativeGroupAssignments": [ # Creative group assignments for this ad. Applicable when type is AD_SERVING_CLICK_TRACKER. Only one assignment per creative group number is allowed for a maximum of two assignments.
+      { # Creative Group Assignment.
+        "creativeGroupNumber": "A String", # Creative group number of the creative group assignment.
+        "creativeGroupId": "A String", # ID of the creative group to be assigned.
+      },
+    ],
+    "deliverySchedule": { # Delivery Schedule. # Delivery schedule information for this ad. Applicable when type is AD_SERVING_STANDARD_AD or AD_SERVING_TRACKING. This field along with subfields priority and impressionRatio are required on insertion when type is AD_SERVING_STANDARD_AD.
+      "priority": "A String", # Serving priority of an ad, with respect to other ads. The lower the priority number, the greater the priority with which it is served.
+      "hardCutoff": True or False, # Whether or not hard cutoff is enabled. If true, the ad will not serve after the end date and time. Otherwise the ad will continue to be served until it has reached its delivery goals.
+      "frequencyCap": { # Frequency Cap. # Limit on the number of times an individual user can be served the ad within a specified period of time.
+        "duration": "A String", # Duration of time, in seconds, for this frequency cap. The maximum duration is 90 days in seconds, or 7,776,000.
+        "impressions": "A String", # Number of times an individual user can be served the ad within the specified duration. The maximum allowed is 15.
+      },
+      "impressionRatio": "A String", # Impression ratio for this ad. This ratio determines how often each ad is served relative to the others. For example, if ad A has an impression ratio of 1 and ad B has an impression ratio of 3, then DCM will serve ad B three times as often as ad A. Must be between 1 and 10.
+    },
+    "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "eventTagOverrides": [ # Event tag overrides for this ad.
+      { # Event tag override information.
+        "enabled": True or False, # Whether this override is enabled.
+        "id": "A String", # ID of this event tag override. This is a read-only, auto-generated field.
+      },
+    ],
+    "id": "A String", # ID of this ad. This is a read-only, auto-generated field.
+    "accountId": "A String", # Account ID of this ad. This is a read-only field that can be left blank.
+    "archived": True or False, # Whether this ad is archived.
+    "technologyTargeting": { # Technology Targeting. # Technology platform targeting information for this ad. Applicable when type is AD_SERVING_STANDARD_AD.
+      "platformTypes": [ # Platform types that this ad targets. For example, desktop, mobile, or tablet. For each platform type, only id is required, and the other fields are populated automatically when the ad is inserted or updated.
+        { # Contains information about a platform type that can be targeted by ads.
+          "kind": "dfareporting#platformType", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#platformType".
+          "id": "A String", # ID of this platform type.
+          "name": "A String", # Name of this platform type.
+        },
+      ],
+      "operatingSystemVersions": [ # Operating system versions that this ad targets. To target all versions, use operatingSystems. For each operating system version, only id is required. The other fields are populated automatically when the ad is inserted or updated. If targeting an operating system version, do not set targeting for the corresponding operating system in operatingSystems.
+        { # Contains information about a particular version of an operating system that can be targeted by ads.
+          "majorVersion": "A String", # Major version (leftmost number) of this operating system version.
+          "kind": "dfareporting#operatingSystemVersion", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#operatingSystemVersion".
+          "name": "A String", # Name of this operating system version.
+          "id": "A String", # ID of this operating system version.
+          "operatingSystem": { # Contains information about an operating system that can be targeted by ads. # Operating system of this operating system version.
+            "mobile": True or False, # Whether this operating system is for mobile.
+            "dartId": "A String", # DART ID of this operating system. This is the ID used for targeting.
+            "kind": "dfareporting#operatingSystem", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#operatingSystem".
+            "name": "A String", # Name of this operating system.
+            "desktop": True or False, # Whether this operating system is for desktop.
+          },
+          "minorVersion": "A String", # Minor version (number after the first dot) of this operating system version.
+        },
+      ],
+      "browsers": [ # Browsers that this ad targets. For each browser either set browserVersionId or dartId along with the version numbers. If both are specified, only browserVersionId will be used.The other fields are populated automatically when the ad is inserted or updated.
+        { # Contains information about a browser that can be targeted by ads.
+          "majorVersion": "A String", # Major version number (leftmost number) of this browser. For example, for Chrome 5.0.376.86 beta, this field should be set to 5. An asterisk (*) may be used to target any version number, and a question mark (?) may be used to target cases where the version number cannot be identified. For example, Chrome *.* targets any version of Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets cases where the ad server knows the browser is Firefox but can't tell which version it is.
+          "kind": "dfareporting#browser", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#browser".
+          "name": "A String", # Name of this browser.
+          "browserVersionId": "A String", # ID referring to this grouping of browser and version numbers. This is the ID used for targeting.
+          "dartId": "A String", # DART ID of this browser. This is the ID used when generating reports.
+          "minorVersion": "A String", # Minor version number (number after first dot on left) of this browser. For example, for Chrome 5.0.375.86 beta, this field should be set to 0. An asterisk (*) may be used to target any version number, and a question mark (?) may be used to target cases where the version number cannot be identified. For example, Chrome *.* targets any version of Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets cases where the ad server knows the browser is Firefox but can't tell which version it is.
+        },
+      ],
+      "operatingSystems": [ # Operating systems that this ad targets. To target specific versions, use operatingSystemVersions. For each operating system only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting an operating system, do not set targeting for operating system versions for the same operating system.
+        { # Contains information about an operating system that can be targeted by ads.
+          "mobile": True or False, # Whether this operating system is for mobile.
+          "dartId": "A String", # DART ID of this operating system. This is the ID used for targeting.
+          "kind": "dfareporting#operatingSystem", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#operatingSystem".
+          "name": "A String", # Name of this operating system.
+          "desktop": True or False, # Whether this operating system is for desktop.
+        },
+      ],
+      "mobileCarriers": [ # Mobile carriers that this ad targets. For each mobile carrier only id is required, and the other fields are populated automatically when the ad is inserted or updated. If targeting a mobile carrier, do not set targeting for any zip codes.
+        { # Contains information about a mobile carrier that can be targeted by ads.
+          "kind": "dfareporting#mobileCarrier", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#mobileCarrier".
+          "countryDartId": "A String", # DART ID of the country to which this mobile carrier belongs.
+          "id": "A String", # ID of this mobile carrier.
+          "countryCode": "A String", # Country code of the country to which this mobile carrier belongs.
+          "name": "A String", # Name of this mobile carrier.
+        },
+      ],
+      "connectionTypes": [ # Connection types that this ad targets. For each connection type only id is required.The other fields are populated automatically when the ad is inserted or updated.
+        { # Contains information about an internet connection type that can be targeted by ads. Clients can use the connection type to target mobile vs. broadband users.
+          "kind": "dfareporting#connectionType", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#connectionType".
+          "id": "A String", # ID of this connection type.
+          "name": "A String", # Name of this connection type.
+        },
+      ],
+    },
+    "creativeRotation": { # Creative Rotation. # Creative rotation for this ad. Applicable when type is AD_SERVING_DEFAULT_AD, AD_SERVING_STANDARD_AD, or AD_SERVING_TRACKING. When type is AD_SERVING_DEFAULT_AD, this field should have exactly one creativeAssignment.
+      "creativeAssignments": [ # Creative assignments in this creative rotation.
+        { # Creative Assignment.
+          "weight": 42, # Weight of the creative assignment, applicable when the rotation type is CREATIVE_ROTATION_TYPE_RANDOM.
+          "sequence": 42, # Sequence number of the creative assignment, applicable when the rotation type is CREATIVE_ROTATION_TYPE_SEQUENTIAL.
+          "applyEventTags": True or False, # Whether applicable event tags should fire when this creative assignment is rendered. If this value is unset when the ad is inserted or updated, it will default to true for all creative types EXCEPT for INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and INSTREAM_VIDEO.
+          "richMediaExitOverrides": [ # Rich media exit overrides for this creative assignment.
+              # Applicable when the creative type is any of the following:
+              # - RICH_MEDIA_INPAGE
+              # - RICH_MEDIA_INPAGE_FLOATING
+              # - RICH_MEDIA_IM_EXPAND
+              # - RICH_MEDIA_EXPANDING
+              # - RICH_MEDIA_INTERSTITIAL_FLOAT
+              # - RICH_MEDIA_MOBILE_IN_APP
+              # - RICH_MEDIA_MULTI_FLOATING
+              # - RICH_MEDIA_PEEL_DOWN
+              # - ADVANCED_BANNER
+              # - VPAID_LINEAR
+              # - VPAID_NON_LINEAR
+            { # Rich Media Exit Override.
+              "customExitUrl": "A String", # Click-through URL to override the default exit URL. Applicable if the useCustomExitUrl field is set to true.
+              "useCustomExitUrl": True or False, # Whether to use the custom exit URL.
+              "exitId": "A String", # ID for the override to refer to a specific exit in the creative.
+            },
+          ],
+          "sslCompliant": True or False, # Whether the creative to be assigned is SSL-compliant. This is a read-only field that is auto-generated when the ad is inserted or updated.
+          "creativeGroupAssignments": [ # Creative group assignments for this creative assignment. Only one assignment per creative group number is allowed for a maximum of two assignments.
+            { # Creative Group Assignment.
+              "creativeGroupNumber": "A String", # Creative group number of the creative group assignment.
+              "creativeGroupId": "A String", # ID of the creative group to be assigned.
+            },
+          ],
+          "companionCreativeOverrides": [ # Companion creative overrides for this creative assignment. Applicable to video ads.
+            { # Companion Click-through override.
+              "clickThroughUrl": { # Click-through URL # Click-through URL of this companion click-through override.
+                "computedClickThroughUrl": "A String", # Read-only convenience field representing the actual URL that will be used for this click-through. The URL is computed as follows:
+                    # - If defaultLandingPage is enabled then the campaign's default landing page URL is assigned to this field.
+                    # - If defaultLandingPage is not enabled and a landingPageId is specified then that landing page's URL is assigned to this field.
+                    # - If neither of the above cases apply, then the customClickThroughUrl is assigned to this field.
+                "customClickThroughUrl": "A String", # Custom click-through URL. Applicable if the defaultLandingPage field is set to false and the landingPageId field is left unset.
+                "landingPageId": "A String", # ID of the landing page for the click-through URL. Applicable if the defaultLandingPage field is set to false.
+                "defaultLandingPage": True or False, # Whether the campaign default landing page is used.
+              },
+              "creativeId": "A String", # ID of the creative for this companion click-through override.
+            },
+          ],
+          "startTime": "A String", # Date and time that the assigned creative should start serving.
+          "clickThroughUrl": { # Click-through URL # Click-through URL of the creative assignment.
+            "computedClickThroughUrl": "A String", # Read-only convenience field representing the actual URL that will be used for this click-through. The URL is computed as follows:
+                # - If defaultLandingPage is enabled then the campaign's default landing page URL is assigned to this field.
+                # - If defaultLandingPage is not enabled and a landingPageId is specified then that landing page's URL is assigned to this field.
+                # - If neither of the above cases apply, then the customClickThroughUrl is assigned to this field.
+            "customClickThroughUrl": "A String", # Custom click-through URL. Applicable if the defaultLandingPage field is set to false and the landingPageId field is left unset.
+            "landingPageId": "A String", # ID of the landing page for the click-through URL. Applicable if the defaultLandingPage field is set to false.
+            "defaultLandingPage": True or False, # Whether the campaign default landing page is used.
+          },
+          "active": True or False, # Whether this creative assignment is active. When true, the creative will be included in the ad's rotation.
+          "creativeId": "A String", # ID of the creative to be assigned. This is a required field.
+          "endTime": "A String", # Date and time that the assigned creative should stop serving. Must be later than the start time.
+          "creativeIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the creative. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        },
+      ],
+      "weightCalculationStrategy": "A String", # Strategy for calculating weights. Used with CREATIVE_ROTATION_TYPE_RANDOM.
+      "creativeOptimizationConfigurationId": "A String", # Creative optimization configuration that is used by this ad. It should refer to one of the existing optimization configurations in the ad's campaign. If it is unset or set to 0, then the campaign's default optimization configuration will be used for this ad.
+      "type": "A String", # Type of creative rotation. Can be used to specify whether to use sequential or random rotation.
+    },
+    "clickThroughUrl": { # Click-through URL # Click-through URL for this ad. This is a required field on insertion. Applicable when type is AD_SERVING_CLICK_TRACKER.
+      "computedClickThroughUrl": "A String", # Read-only convenience field representing the actual URL that will be used for this click-through. The URL is computed as follows:
+          # - If defaultLandingPage is enabled then the campaign's default landing page URL is assigned to this field.
+          # - If defaultLandingPage is not enabled and a landingPageId is specified then that landing page's URL is assigned to this field.
+          # - If neither of the above cases apply, then the customClickThroughUrl is assigned to this field.
+      "customClickThroughUrl": "A String", # Custom click-through URL. Applicable if the defaultLandingPage field is set to false and the landingPageId field is left unset.
+      "landingPageId": "A String", # ID of the landing page for the click-through URL. Applicable if the defaultLandingPage field is set to false.
+      "defaultLandingPage": True or False, # Whether the campaign default landing page is used.
+    },
+    "comments": "A String", # Comments for this ad.
+    "remarketingListExpression": { # Remarketing List Targeting Expression. # Applicable when type is AD_SERVING_STANDARD_AD. Remarketing list targeting expression for this ad.
+      "expression": "A String", # Expression describing which lists are being targeted by the ad.
+    },
+    "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this ad. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "size": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size of this ad. Applicable when type is AD_SERVING_DEFAULT_AD.
+      "width": 42, # Width of this size.
+      "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+      "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+      "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+      "height": 42, # Height of this size.
+    },
+    "type": "A String", # Type of ad. This is a required field on insertion. Note that default ads (AD_SERVING_DEFAULT_AD) cannot be created directly (see Creative resource).
+    "sslRequired": True or False, # Whether this ad requires ssl. This is a read-only field that is auto-generated when the ad is inserted or updated.
+    "audienceSegmentId": "A String", # Audience segment ID that is being targeted for this ad. Applicable when type is AD_SERVING_STANDARD_AD.
+    "keyValueTargetingExpression": { # Key Value Targeting Expression. # Key-value targeting information for this ad. Applicable when type is AD_SERVING_STANDARD_AD.
+      "expression": "A String", # Keyword expression being targeted by the ad.
+    },
+    "campaignIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the campaign. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "defaultClickThroughEventTagProperties": { # Properties of inheriting and overriding the default click-through event tag. A campaign may override the event tag defined at the advertiser level, and an ad may also override the campaign's setting further. # Default click-through event tag properties for this ad.
+      "overrideInheritedEventTag": True or False, # Whether this entity should override the inherited default click-through event tag with its own defined value.
+      "defaultClickThroughEventTagId": "A String", # ID of the click-through event tag to apply to all ads in this entity's scope.
+    },
+    "createInfo": { # Modification timestamp. # Information about the creation of this ad.This is a read-only field.
+      "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+    },
+    "startTime": "A String", # Date and time that this ad should start serving. If creating an ad, this field must be a time in the future. This is a required field on insertion.
+    "active": True or False, # Whether this ad is active.
+    "compatibility": "A String", # Compatibility of this ad. Applicable when type is AD_SERVING_DEFAULT_AD. DISPLAY and DISPLAY_INTERSTITIAL refer to either rendering on desktop or on mobile devices or in mobile apps for regular or interstitial ads, respectively. APP and APP_INTERSTITIAL are only used for existing default ads. New mobile placements must be assigned DISPLAY or DISPLAY_INTERSTITIAL and default ads created for those placements will be limited to those compatibility types. IN_STREAM_VIDEO refers to rendering in-stream video ads developed with the VAST standard.
+    "kind": "dfareporting#ad", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#ad".
+    "subaccountId": "A String", # Subaccount ID of this ad. This is a read-only field that can be left blank.
+    "name": "A String", # Name of this ad. This is a required field and must be less than 256 characters long.
+    "dayPartTargeting": { # Day Part Targeting. # Time and day targeting information for this ad. Applicable when type is AD_SERVING_STANDARD_AD.
+      "userLocalTime": True or False, # Whether or not to use the user's local time. If false, the America/New York time zone applies.
+      "hoursOfDay": [ # Hours of the day when the ad will serve. Must be an integer between 0 and 23 (inclusive), where 0 is midnight to 1 AM, and 23 is 11 PM to midnight. Can be specified with days of week, in which case the ad would serve during these hours on the specified days. For example, if Monday, Wednesday, Friday are the days of week specified and 9-10am, 3-5pm (hours 9, 15, and 16) is specified, the ad would serve Monday, Wednesdays, and Fridays at 9-10am and 3-5pm.
+        42,
+      ],
+      "daysOfWeek": [ # Days of the week when the ad will serve.
+          #
+          # Acceptable values are:
+          # - "SUNDAY"
+          # - "MONDAY"
+          # - "TUESDAY"
+          # - "WEDNESDAY"
+          # - "THURSDAY"
+          # - "FRIDAY"
+          # - "SATURDAY"
+        "A String",
+      ],
+    },
+    "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this ad. This is a read-only field.
+      "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+    },
+    "sslCompliant": True or False, # Whether this ad is ssl compliant. This is a read-only field that is auto-generated when the ad is inserted or updated.
+    "placementAssignments": [ # Placement assignments for this ad.
+      { # Placement Assignment.
+        "active": True or False, # Whether this placement assignment is active. When true, the placement will be included in the ad's rotation.
+        "placementIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the placement. This is a read-only, auto-generated field.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+        "placementId": "A String", # ID of the placement to be assigned. This is a required field.
+        "sslRequired": True or False, # Whether the placement to be assigned requires SSL. This is a read-only field that is auto-generated when the ad is inserted or updated.
+      },
+    ],
+    "endTime": "A String", # Date and time that this ad should stop serving. Must be later than the start time. This is a required field on insertion.
+    "dynamicClickTracker": True or False, # Whether this ad is a dynamic click tracker. Applicable when type is AD_SERVING_CLICK_TRACKER. This is a required field on insert, and is read-only after insert.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a DCM ad.
+      "clickThroughUrlSuffixProperties": { # Click Through URL Suffix settings. # Click-through URL suffix properties for this ad. Applies to the URL in the ad or (if overriding ad properties) the URL in the creative.
+        "clickThroughUrlSuffix": "A String", # Click-through URL suffix to apply to all ads in this entity's scope. Must be less than 128 characters long.
+        "overrideInheritedSuffix": True or False, # Whether this entity should override the inherited click-through URL suffix with its own defined value.
+      },
+      "campaignId": "A String", # Campaign ID of this ad. This is a required field on insertion.
+      "advertiserId": "A String", # Advertiser ID of this ad. This is a required field on insertion.
+      "geoTargeting": { # Geographical Targeting. # Geographical targeting information for this ad.Applicable when type is AD_SERVING_STANDARD_AD.
+        "countries": [ # Countries to be targeted or excluded from targeting, depending on the setting of the excludeCountries field. For each country only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting or excluding a country, do not target regions, cities, metros, or postal codes in the same country.
+          { # Contains information about a country that can be targeted by ads.
+            "dartId": "A String", # DART ID of this country. This is the ID used for targeting and generating reports.
+            "sslEnabled": True or False, # Whether ad serving supports secure servers in this country.
+            "kind": "dfareporting#country", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#country".
+            "countryCode": "A String", # Country code.
+            "name": "A String", # Name of this country.
+          },
+        ],
+        "excludeCountries": True or False, # Whether or not to exclude the countries in the countries field from targeting. If false, the countries field refers to countries which will be targeted by the ad.
+        "postalCodes": [ # Postal codes to be targeted. For each postal code only id is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a postal code, do not target or exclude the country of the postal code.
+          { # Contains information about a postal code that can be targeted by ads.
+            "countryDartId": "A String", # DART ID of the country to which this postal code belongs.
+            "kind": "dfareporting#postalCode", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#postalCode".
+            "code": "A String", # Postal code. This is equivalent to the id field.
+            "id": "A String", # ID of this postal code.
+            "countryCode": "A String", # Country code of the country to which this postal code belongs.
+          },
+        ],
+        "regions": [ # Regions to be targeted. For each region only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a region, do not target or exclude the country of the region.
+          { # Contains information about a region that can be targeted by ads.
+            "kind": "dfareporting#region", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#region".
+            "countryDartId": "A String", # DART ID of the country to which this region belongs.
+            "name": "A String", # Name of this region.
+            "countryCode": "A String", # Country code of the country to which this region belongs.
+            "regionCode": "A String", # Region code.
+            "dartId": "A String", # DART ID of this region.
+          },
+        ],
+        "cities": [ # Cities to be targeted. For each city only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a city, do not target or exclude the country of the city, and do not target the metro or region of the city.
+          { # Contains information about a city that can be targeted by ads.
+            "kind": "dfareporting#city", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#city".
+            "countryDartId": "A String", # DART ID of the country to which this city belongs.
+            "name": "A String", # Name of this city.
+            "countryCode": "A String", # Country code of the country to which this city belongs.
+            "metroCode": "A String", # Metro region code of the metro region (DMA) to which this city belongs.
+            "regionCode": "A String", # Region code of the region to which this city belongs.
+            "metroDmaId": "A String", # ID of the metro region (DMA) to which this city belongs.
+            "dartId": "A String", # DART ID of this city. This is the ID used for targeting and generating reports.
+            "regionDartId": "A String", # DART ID of the region to which this city belongs.
+          },
+        ],
+        "metros": [ # Metros to be targeted. For each metro only dmaId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a metro, do not target or exclude the country of the metro.
+          { # Contains information about a metro region that can be targeted by ads.
+            "kind": "dfareporting#metro", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#metro".
+            "countryDartId": "A String", # DART ID of the country to which this metro region belongs.
+            "name": "A String", # Name of this metro region.
+            "countryCode": "A String", # Country code of the country to which this metro region belongs.
+            "metroCode": "A String", # Metro code of this metro region. This is equivalent to dma_id.
+            "dmaId": "A String", # DMA ID of this metro region. This is the ID used for targeting and generating reports, and is equivalent to metro_code.
+            "dartId": "A String", # DART ID of this metro region.
+          },
+        ],
+      },
+      "creativeGroupAssignments": [ # Creative group assignments for this ad. Applicable when type is AD_SERVING_CLICK_TRACKER. Only one assignment per creative group number is allowed for a maximum of two assignments.
+        { # Creative Group Assignment.
+          "creativeGroupNumber": "A String", # Creative group number of the creative group assignment.
+          "creativeGroupId": "A String", # ID of the creative group to be assigned.
+        },
+      ],
+      "deliverySchedule": { # Delivery Schedule. # Delivery schedule information for this ad. Applicable when type is AD_SERVING_STANDARD_AD or AD_SERVING_TRACKING. This field along with subfields priority and impressionRatio are required on insertion when type is AD_SERVING_STANDARD_AD.
+        "priority": "A String", # Serving priority of an ad, with respect to other ads. The lower the priority number, the greater the priority with which it is served.
+        "hardCutoff": True or False, # Whether or not hard cutoff is enabled. If true, the ad will not serve after the end date and time. Otherwise the ad will continue to be served until it has reached its delivery goals.
+        "frequencyCap": { # Frequency Cap. # Limit on the number of times an individual user can be served the ad within a specified period of time.
+          "duration": "A String", # Duration of time, in seconds, for this frequency cap. The maximum duration is 90 days in seconds, or 7,776,000.
+          "impressions": "A String", # Number of times an individual user can be served the ad within the specified duration. The maximum allowed is 15.
+        },
+        "impressionRatio": "A String", # Impression ratio for this ad. This ratio determines how often each ad is served relative to the others. For example, if ad A has an impression ratio of 1 and ad B has an impression ratio of 3, then DCM will serve ad B three times as often as ad A. Must be between 1 and 10.
+      },
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "eventTagOverrides": [ # Event tag overrides for this ad.
+        { # Event tag override information.
+          "enabled": True or False, # Whether this override is enabled.
+          "id": "A String", # ID of this event tag override. This is a read-only, auto-generated field.
+        },
+      ],
+      "id": "A String", # ID of this ad. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this ad. This is a read-only field that can be left blank.
+      "archived": True or False, # Whether this ad is archived.
+      "technologyTargeting": { # Technology Targeting. # Technology platform targeting information for this ad. Applicable when type is AD_SERVING_STANDARD_AD.
+        "platformTypes": [ # Platform types that this ad targets. For example, desktop, mobile, or tablet. For each platform type, only id is required, and the other fields are populated automatically when the ad is inserted or updated.
+          { # Contains information about a platform type that can be targeted by ads.
+            "kind": "dfareporting#platformType", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#platformType".
+            "id": "A String", # ID of this platform type.
+            "name": "A String", # Name of this platform type.
+          },
+        ],
+        "operatingSystemVersions": [ # Operating system versions that this ad targets. To target all versions, use operatingSystems. For each operating system version, only id is required. The other fields are populated automatically when the ad is inserted or updated. If targeting an operating system version, do not set targeting for the corresponding operating system in operatingSystems.
+          { # Contains information about a particular version of an operating system that can be targeted by ads.
+            "majorVersion": "A String", # Major version (leftmost number) of this operating system version.
+            "kind": "dfareporting#operatingSystemVersion", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#operatingSystemVersion".
+            "name": "A String", # Name of this operating system version.
+            "id": "A String", # ID of this operating system version.
+            "operatingSystem": { # Contains information about an operating system that can be targeted by ads. # Operating system of this operating system version.
+              "mobile": True or False, # Whether this operating system is for mobile.
+              "dartId": "A String", # DART ID of this operating system. This is the ID used for targeting.
+              "kind": "dfareporting#operatingSystem", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#operatingSystem".
+              "name": "A String", # Name of this operating system.
+              "desktop": True or False, # Whether this operating system is for desktop.
+            },
+            "minorVersion": "A String", # Minor version (number after the first dot) of this operating system version.
+          },
+        ],
+        "browsers": [ # Browsers that this ad targets. For each browser either set browserVersionId or dartId along with the version numbers. If both are specified, only browserVersionId will be used.The other fields are populated automatically when the ad is inserted or updated.
+          { # Contains information about a browser that can be targeted by ads.
+            "majorVersion": "A String", # Major version number (leftmost number) of this browser. For example, for Chrome 5.0.376.86 beta, this field should be set to 5. An asterisk (*) may be used to target any version number, and a question mark (?) may be used to target cases where the version number cannot be identified. For example, Chrome *.* targets any version of Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets cases where the ad server knows the browser is Firefox but can't tell which version it is.
+            "kind": "dfareporting#browser", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#browser".
+            "name": "A String", # Name of this browser.
+            "browserVersionId": "A String", # ID referring to this grouping of browser and version numbers. This is the ID used for targeting.
+            "dartId": "A String", # DART ID of this browser. This is the ID used when generating reports.
+            "minorVersion": "A String", # Minor version number (number after first dot on left) of this browser. For example, for Chrome 5.0.375.86 beta, this field should be set to 0. An asterisk (*) may be used to target any version number, and a question mark (?) may be used to target cases where the version number cannot be identified. For example, Chrome *.* targets any version of Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets cases where the ad server knows the browser is Firefox but can't tell which version it is.
+          },
+        ],
+        "operatingSystems": [ # Operating systems that this ad targets. To target specific versions, use operatingSystemVersions. For each operating system only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting an operating system, do not set targeting for operating system versions for the same operating system.
+          { # Contains information about an operating system that can be targeted by ads.
+            "mobile": True or False, # Whether this operating system is for mobile.
+            "dartId": "A String", # DART ID of this operating system. This is the ID used for targeting.
+            "kind": "dfareporting#operatingSystem", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#operatingSystem".
+            "name": "A String", # Name of this operating system.
+            "desktop": True or False, # Whether this operating system is for desktop.
+          },
+        ],
+        "mobileCarriers": [ # Mobile carriers that this ad targets. For each mobile carrier only id is required, and the other fields are populated automatically when the ad is inserted or updated. If targeting a mobile carrier, do not set targeting for any zip codes.
+          { # Contains information about a mobile carrier that can be targeted by ads.
+            "kind": "dfareporting#mobileCarrier", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#mobileCarrier".
+            "countryDartId": "A String", # DART ID of the country to which this mobile carrier belongs.
+            "id": "A String", # ID of this mobile carrier.
+            "countryCode": "A String", # Country code of the country to which this mobile carrier belongs.
+            "name": "A String", # Name of this mobile carrier.
+          },
+        ],
+        "connectionTypes": [ # Connection types that this ad targets. For each connection type only id is required.The other fields are populated automatically when the ad is inserted or updated.
+          { # Contains information about an internet connection type that can be targeted by ads. Clients can use the connection type to target mobile vs. broadband users.
+            "kind": "dfareporting#connectionType", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#connectionType".
+            "id": "A String", # ID of this connection type.
+            "name": "A String", # Name of this connection type.
+          },
+        ],
+      },
+      "creativeRotation": { # Creative Rotation. # Creative rotation for this ad. Applicable when type is AD_SERVING_DEFAULT_AD, AD_SERVING_STANDARD_AD, or AD_SERVING_TRACKING. When type is AD_SERVING_DEFAULT_AD, this field should have exactly one creativeAssignment.
+        "creativeAssignments": [ # Creative assignments in this creative rotation.
+          { # Creative Assignment.
+            "weight": 42, # Weight of the creative assignment, applicable when the rotation type is CREATIVE_ROTATION_TYPE_RANDOM.
+            "sequence": 42, # Sequence number of the creative assignment, applicable when the rotation type is CREATIVE_ROTATION_TYPE_SEQUENTIAL.
+            "applyEventTags": True or False, # Whether applicable event tags should fire when this creative assignment is rendered. If this value is unset when the ad is inserted or updated, it will default to true for all creative types EXCEPT for INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and INSTREAM_VIDEO.
+            "richMediaExitOverrides": [ # Rich media exit overrides for this creative assignment.
+                # Applicable when the creative type is any of the following:
+                # - RICH_MEDIA_INPAGE
+                # - RICH_MEDIA_INPAGE_FLOATING
+                # - RICH_MEDIA_IM_EXPAND
+                # - RICH_MEDIA_EXPANDING
+                # - RICH_MEDIA_INTERSTITIAL_FLOAT
+                # - RICH_MEDIA_MOBILE_IN_APP
+                # - RICH_MEDIA_MULTI_FLOATING
+                # - RICH_MEDIA_PEEL_DOWN
+                # - ADVANCED_BANNER
+                # - VPAID_LINEAR
+                # - VPAID_NON_LINEAR
+              { # Rich Media Exit Override.
+                "customExitUrl": "A String", # Click-through URL to override the default exit URL. Applicable if the useCustomExitUrl field is set to true.
+                "useCustomExitUrl": True or False, # Whether to use the custom exit URL.
+                "exitId": "A String", # ID for the override to refer to a specific exit in the creative.
+              },
+            ],
+            "sslCompliant": True or False, # Whether the creative to be assigned is SSL-compliant. This is a read-only field that is auto-generated when the ad is inserted or updated.
+            "creativeGroupAssignments": [ # Creative group assignments for this creative assignment. Only one assignment per creative group number is allowed for a maximum of two assignments.
+              { # Creative Group Assignment.
+                "creativeGroupNumber": "A String", # Creative group number of the creative group assignment.
+                "creativeGroupId": "A String", # ID of the creative group to be assigned.
+              },
+            ],
+            "companionCreativeOverrides": [ # Companion creative overrides for this creative assignment. Applicable to video ads.
+              { # Companion Click-through override.
+                "clickThroughUrl": { # Click-through URL # Click-through URL of this companion click-through override.
+                  "computedClickThroughUrl": "A String", # Read-only convenience field representing the actual URL that will be used for this click-through. The URL is computed as follows:
+                      # - If defaultLandingPage is enabled then the campaign's default landing page URL is assigned to this field.
+                      # - If defaultLandingPage is not enabled and a landingPageId is specified then that landing page's URL is assigned to this field.
+                      # - If neither of the above cases apply, then the customClickThroughUrl is assigned to this field.
+                  "customClickThroughUrl": "A String", # Custom click-through URL. Applicable if the defaultLandingPage field is set to false and the landingPageId field is left unset.
+                  "landingPageId": "A String", # ID of the landing page for the click-through URL. Applicable if the defaultLandingPage field is set to false.
+                  "defaultLandingPage": True or False, # Whether the campaign default landing page is used.
+                },
+                "creativeId": "A String", # ID of the creative for this companion click-through override.
+              },
+            ],
+            "startTime": "A String", # Date and time that the assigned creative should start serving.
+            "clickThroughUrl": { # Click-through URL # Click-through URL of the creative assignment.
+              "computedClickThroughUrl": "A String", # Read-only convenience field representing the actual URL that will be used for this click-through. The URL is computed as follows:
+                  # - If defaultLandingPage is enabled then the campaign's default landing page URL is assigned to this field.
+                  # - If defaultLandingPage is not enabled and a landingPageId is specified then that landing page's URL is assigned to this field.
+                  # - If neither of the above cases apply, then the customClickThroughUrl is assigned to this field.
+              "customClickThroughUrl": "A String", # Custom click-through URL. Applicable if the defaultLandingPage field is set to false and the landingPageId field is left unset.
+              "landingPageId": "A String", # ID of the landing page for the click-through URL. Applicable if the defaultLandingPage field is set to false.
+              "defaultLandingPage": True or False, # Whether the campaign default landing page is used.
+            },
+            "active": True or False, # Whether this creative assignment is active. When true, the creative will be included in the ad's rotation.
+            "creativeId": "A String", # ID of the creative to be assigned. This is a required field.
+            "endTime": "A String", # Date and time that the assigned creative should stop serving. Must be later than the start time.
+            "creativeIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the creative. This is a read-only, auto-generated field.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+          },
+        ],
+        "weightCalculationStrategy": "A String", # Strategy for calculating weights. Used with CREATIVE_ROTATION_TYPE_RANDOM.
+        "creativeOptimizationConfigurationId": "A String", # Creative optimization configuration that is used by this ad. It should refer to one of the existing optimization configurations in the ad's campaign. If it is unset or set to 0, then the campaign's default optimization configuration will be used for this ad.
+        "type": "A String", # Type of creative rotation. Can be used to specify whether to use sequential or random rotation.
+      },
+      "clickThroughUrl": { # Click-through URL # Click-through URL for this ad. This is a required field on insertion. Applicable when type is AD_SERVING_CLICK_TRACKER.
+        "computedClickThroughUrl": "A String", # Read-only convenience field representing the actual URL that will be used for this click-through. The URL is computed as follows:
+            # - If defaultLandingPage is enabled then the campaign's default landing page URL is assigned to this field.
+            # - If defaultLandingPage is not enabled and a landingPageId is specified then that landing page's URL is assigned to this field.
+            # - If neither of the above cases apply, then the customClickThroughUrl is assigned to this field.
+        "customClickThroughUrl": "A String", # Custom click-through URL. Applicable if the defaultLandingPage field is set to false and the landingPageId field is left unset.
+        "landingPageId": "A String", # ID of the landing page for the click-through URL. Applicable if the defaultLandingPage field is set to false.
+        "defaultLandingPage": True or False, # Whether the campaign default landing page is used.
+      },
+      "comments": "A String", # Comments for this ad.
+      "remarketingListExpression": { # Remarketing List Targeting Expression. # Applicable when type is AD_SERVING_STANDARD_AD. Remarketing list targeting expression for this ad.
+        "expression": "A String", # Expression describing which lists are being targeted by the ad.
+      },
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this ad. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "size": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size of this ad. Applicable when type is AD_SERVING_DEFAULT_AD.
+        "width": 42, # Width of this size.
+        "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+        "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+        "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+        "height": 42, # Height of this size.
+      },
+      "type": "A String", # Type of ad. This is a required field on insertion. Note that default ads (AD_SERVING_DEFAULT_AD) cannot be created directly (see Creative resource).
+      "sslRequired": True or False, # Whether this ad requires ssl. This is a read-only field that is auto-generated when the ad is inserted or updated.
+      "audienceSegmentId": "A String", # Audience segment ID that is being targeted for this ad. Applicable when type is AD_SERVING_STANDARD_AD.
+      "keyValueTargetingExpression": { # Key Value Targeting Expression. # Key-value targeting information for this ad. Applicable when type is AD_SERVING_STANDARD_AD.
+        "expression": "A String", # Keyword expression being targeted by the ad.
+      },
+      "campaignIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the campaign. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "defaultClickThroughEventTagProperties": { # Properties of inheriting and overriding the default click-through event tag. A campaign may override the event tag defined at the advertiser level, and an ad may also override the campaign's setting further. # Default click-through event tag properties for this ad.
+        "overrideInheritedEventTag": True or False, # Whether this entity should override the inherited default click-through event tag with its own defined value.
+        "defaultClickThroughEventTagId": "A String", # ID of the click-through event tag to apply to all ads in this entity's scope.
+      },
+      "createInfo": { # Modification timestamp. # Information about the creation of this ad.This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "startTime": "A String", # Date and time that this ad should start serving. If creating an ad, this field must be a time in the future. This is a required field on insertion.
+      "active": True or False, # Whether this ad is active.
+      "compatibility": "A String", # Compatibility of this ad. Applicable when type is AD_SERVING_DEFAULT_AD. DISPLAY and DISPLAY_INTERSTITIAL refer to either rendering on desktop or on mobile devices or in mobile apps for regular or interstitial ads, respectively. APP and APP_INTERSTITIAL are only used for existing default ads. New mobile placements must be assigned DISPLAY or DISPLAY_INTERSTITIAL and default ads created for those placements will be limited to those compatibility types. IN_STREAM_VIDEO refers to rendering in-stream video ads developed with the VAST standard.
+      "kind": "dfareporting#ad", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#ad".
+      "subaccountId": "A String", # Subaccount ID of this ad. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this ad. This is a required field and must be less than 256 characters long.
+      "dayPartTargeting": { # Day Part Targeting. # Time and day targeting information for this ad. Applicable when type is AD_SERVING_STANDARD_AD.
+        "userLocalTime": True or False, # Whether or not to use the user's local time. If false, the America/New York time zone applies.
+        "hoursOfDay": [ # Hours of the day when the ad will serve. Must be an integer between 0 and 23 (inclusive), where 0 is midnight to 1 AM, and 23 is 11 PM to midnight. Can be specified with days of week, in which case the ad would serve during these hours on the specified days. For example, if Monday, Wednesday, Friday are the days of week specified and 9-10am, 3-5pm (hours 9, 15, and 16) is specified, the ad would serve Monday, Wednesdays, and Fridays at 9-10am and 3-5pm.
+          42,
+        ],
+        "daysOfWeek": [ # Days of the week when the ad will serve.
+            #
+            # Acceptable values are:
+            # - "SUNDAY"
+            # - "MONDAY"
+            # - "TUESDAY"
+            # - "WEDNESDAY"
+            # - "THURSDAY"
+            # - "FRIDAY"
+            # - "SATURDAY"
+          "A String",
+        ],
+      },
+      "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this ad. This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "sslCompliant": True or False, # Whether this ad is ssl compliant. This is a read-only field that is auto-generated when the ad is inserted or updated.
+      "placementAssignments": [ # Placement assignments for this ad.
+        { # Placement Assignment.
+          "active": True or False, # Whether this placement assignment is active. When true, the placement will be included in the ad's rotation.
+          "placementIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the placement. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "placementId": "A String", # ID of the placement to be assigned. This is a required field.
+          "sslRequired": True or False, # Whether the placement to be assigned requires SSL. This is a read-only field that is auto-generated when the ad is inserted or updated.
+        },
+      ],
+      "endTime": "A String", # Date and time that this ad should stop serving. Must be later than the start time. This is a required field on insertion.
+      "dynamicClickTracker": True or False, # Whether this ad is a dynamic click tracker. Applicable when type is AD_SERVING_CLICK_TRACKER. This is a required field on insert, and is read-only after insert.
+    }
+
+ +
+ update(profileId, body) +
Updates an existing ad.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a DCM ad.
+    "clickThroughUrlSuffixProperties": { # Click Through URL Suffix settings. # Click-through URL suffix properties for this ad. Applies to the URL in the ad or (if overriding ad properties) the URL in the creative.
+      "clickThroughUrlSuffix": "A String", # Click-through URL suffix to apply to all ads in this entity's scope. Must be less than 128 characters long.
+      "overrideInheritedSuffix": True or False, # Whether this entity should override the inherited click-through URL suffix with its own defined value.
+    },
+    "campaignId": "A String", # Campaign ID of this ad. This is a required field on insertion.
+    "advertiserId": "A String", # Advertiser ID of this ad. This is a required field on insertion.
+    "geoTargeting": { # Geographical Targeting. # Geographical targeting information for this ad.Applicable when type is AD_SERVING_STANDARD_AD.
+      "countries": [ # Countries to be targeted or excluded from targeting, depending on the setting of the excludeCountries field. For each country only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting or excluding a country, do not target regions, cities, metros, or postal codes in the same country.
+        { # Contains information about a country that can be targeted by ads.
+          "dartId": "A String", # DART ID of this country. This is the ID used for targeting and generating reports.
+          "sslEnabled": True or False, # Whether ad serving supports secure servers in this country.
+          "kind": "dfareporting#country", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#country".
+          "countryCode": "A String", # Country code.
+          "name": "A String", # Name of this country.
+        },
+      ],
+      "excludeCountries": True or False, # Whether or not to exclude the countries in the countries field from targeting. If false, the countries field refers to countries which will be targeted by the ad.
+      "postalCodes": [ # Postal codes to be targeted. For each postal code only id is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a postal code, do not target or exclude the country of the postal code.
+        { # Contains information about a postal code that can be targeted by ads.
+          "countryDartId": "A String", # DART ID of the country to which this postal code belongs.
+          "kind": "dfareporting#postalCode", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#postalCode".
+          "code": "A String", # Postal code. This is equivalent to the id field.
+          "id": "A String", # ID of this postal code.
+          "countryCode": "A String", # Country code of the country to which this postal code belongs.
+        },
+      ],
+      "regions": [ # Regions to be targeted. For each region only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a region, do not target or exclude the country of the region.
+        { # Contains information about a region that can be targeted by ads.
+          "kind": "dfareporting#region", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#region".
+          "countryDartId": "A String", # DART ID of the country to which this region belongs.
+          "name": "A String", # Name of this region.
+          "countryCode": "A String", # Country code of the country to which this region belongs.
+          "regionCode": "A String", # Region code.
+          "dartId": "A String", # DART ID of this region.
+        },
+      ],
+      "cities": [ # Cities to be targeted. For each city only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a city, do not target or exclude the country of the city, and do not target the metro or region of the city.
+        { # Contains information about a city that can be targeted by ads.
+          "kind": "dfareporting#city", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#city".
+          "countryDartId": "A String", # DART ID of the country to which this city belongs.
+          "name": "A String", # Name of this city.
+          "countryCode": "A String", # Country code of the country to which this city belongs.
+          "metroCode": "A String", # Metro region code of the metro region (DMA) to which this city belongs.
+          "regionCode": "A String", # Region code of the region to which this city belongs.
+          "metroDmaId": "A String", # ID of the metro region (DMA) to which this city belongs.
+          "dartId": "A String", # DART ID of this city. This is the ID used for targeting and generating reports.
+          "regionDartId": "A String", # DART ID of the region to which this city belongs.
+        },
+      ],
+      "metros": [ # Metros to be targeted. For each metro only dmaId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a metro, do not target or exclude the country of the metro.
+        { # Contains information about a metro region that can be targeted by ads.
+          "kind": "dfareporting#metro", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#metro".
+          "countryDartId": "A String", # DART ID of the country to which this metro region belongs.
+          "name": "A String", # Name of this metro region.
+          "countryCode": "A String", # Country code of the country to which this metro region belongs.
+          "metroCode": "A String", # Metro code of this metro region. This is equivalent to dma_id.
+          "dmaId": "A String", # DMA ID of this metro region. This is the ID used for targeting and generating reports, and is equivalent to metro_code.
+          "dartId": "A String", # DART ID of this metro region.
+        },
+      ],
+    },
+    "creativeGroupAssignments": [ # Creative group assignments for this ad. Applicable when type is AD_SERVING_CLICK_TRACKER. Only one assignment per creative group number is allowed for a maximum of two assignments.
+      { # Creative Group Assignment.
+        "creativeGroupNumber": "A String", # Creative group number of the creative group assignment.
+        "creativeGroupId": "A String", # ID of the creative group to be assigned.
+      },
+    ],
+    "deliverySchedule": { # Delivery Schedule. # Delivery schedule information for this ad. Applicable when type is AD_SERVING_STANDARD_AD or AD_SERVING_TRACKING. This field along with subfields priority and impressionRatio are required on insertion when type is AD_SERVING_STANDARD_AD.
+      "priority": "A String", # Serving priority of an ad, with respect to other ads. The lower the priority number, the greater the priority with which it is served.
+      "hardCutoff": True or False, # Whether or not hard cutoff is enabled. If true, the ad will not serve after the end date and time. Otherwise the ad will continue to be served until it has reached its delivery goals.
+      "frequencyCap": { # Frequency Cap. # Limit on the number of times an individual user can be served the ad within a specified period of time.
+        "duration": "A String", # Duration of time, in seconds, for this frequency cap. The maximum duration is 90 days in seconds, or 7,776,000.
+        "impressions": "A String", # Number of times an individual user can be served the ad within the specified duration. The maximum allowed is 15.
+      },
+      "impressionRatio": "A String", # Impression ratio for this ad. This ratio determines how often each ad is served relative to the others. For example, if ad A has an impression ratio of 1 and ad B has an impression ratio of 3, then DCM will serve ad B three times as often as ad A. Must be between 1 and 10.
+    },
+    "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "eventTagOverrides": [ # Event tag overrides for this ad.
+      { # Event tag override information.
+        "enabled": True or False, # Whether this override is enabled.
+        "id": "A String", # ID of this event tag override. This is a read-only, auto-generated field.
+      },
+    ],
+    "id": "A String", # ID of this ad. This is a read-only, auto-generated field.
+    "accountId": "A String", # Account ID of this ad. This is a read-only field that can be left blank.
+    "archived": True or False, # Whether this ad is archived.
+    "technologyTargeting": { # Technology Targeting. # Technology platform targeting information for this ad. Applicable when type is AD_SERVING_STANDARD_AD.
+      "platformTypes": [ # Platform types that this ad targets. For example, desktop, mobile, or tablet. For each platform type, only id is required, and the other fields are populated automatically when the ad is inserted or updated.
+        { # Contains information about a platform type that can be targeted by ads.
+          "kind": "dfareporting#platformType", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#platformType".
+          "id": "A String", # ID of this platform type.
+          "name": "A String", # Name of this platform type.
+        },
+      ],
+      "operatingSystemVersions": [ # Operating system versions that this ad targets. To target all versions, use operatingSystems. For each operating system version, only id is required. The other fields are populated automatically when the ad is inserted or updated. If targeting an operating system version, do not set targeting for the corresponding operating system in operatingSystems.
+        { # Contains information about a particular version of an operating system that can be targeted by ads.
+          "majorVersion": "A String", # Major version (leftmost number) of this operating system version.
+          "kind": "dfareporting#operatingSystemVersion", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#operatingSystemVersion".
+          "name": "A String", # Name of this operating system version.
+          "id": "A String", # ID of this operating system version.
+          "operatingSystem": { # Contains information about an operating system that can be targeted by ads. # Operating system of this operating system version.
+            "mobile": True or False, # Whether this operating system is for mobile.
+            "dartId": "A String", # DART ID of this operating system. This is the ID used for targeting.
+            "kind": "dfareporting#operatingSystem", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#operatingSystem".
+            "name": "A String", # Name of this operating system.
+            "desktop": True or False, # Whether this operating system is for desktop.
+          },
+          "minorVersion": "A String", # Minor version (number after the first dot) of this operating system version.
+        },
+      ],
+      "browsers": [ # Browsers that this ad targets. For each browser either set browserVersionId or dartId along with the version numbers. If both are specified, only browserVersionId will be used.The other fields are populated automatically when the ad is inserted or updated.
+        { # Contains information about a browser that can be targeted by ads.
+          "majorVersion": "A String", # Major version number (leftmost number) of this browser. For example, for Chrome 5.0.376.86 beta, this field should be set to 5. An asterisk (*) may be used to target any version number, and a question mark (?) may be used to target cases where the version number cannot be identified. For example, Chrome *.* targets any version of Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets cases where the ad server knows the browser is Firefox but can't tell which version it is.
+          "kind": "dfareporting#browser", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#browser".
+          "name": "A String", # Name of this browser.
+          "browserVersionId": "A String", # ID referring to this grouping of browser and version numbers. This is the ID used for targeting.
+          "dartId": "A String", # DART ID of this browser. This is the ID used when generating reports.
+          "minorVersion": "A String", # Minor version number (number after first dot on left) of this browser. For example, for Chrome 5.0.375.86 beta, this field should be set to 0. An asterisk (*) may be used to target any version number, and a question mark (?) may be used to target cases where the version number cannot be identified. For example, Chrome *.* targets any version of Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets cases where the ad server knows the browser is Firefox but can't tell which version it is.
+        },
+      ],
+      "operatingSystems": [ # Operating systems that this ad targets. To target specific versions, use operatingSystemVersions. For each operating system only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting an operating system, do not set targeting for operating system versions for the same operating system.
+        { # Contains information about an operating system that can be targeted by ads.
+          "mobile": True or False, # Whether this operating system is for mobile.
+          "dartId": "A String", # DART ID of this operating system. This is the ID used for targeting.
+          "kind": "dfareporting#operatingSystem", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#operatingSystem".
+          "name": "A String", # Name of this operating system.
+          "desktop": True or False, # Whether this operating system is for desktop.
+        },
+      ],
+      "mobileCarriers": [ # Mobile carriers that this ad targets. For each mobile carrier only id is required, and the other fields are populated automatically when the ad is inserted or updated. If targeting a mobile carrier, do not set targeting for any zip codes.
+        { # Contains information about a mobile carrier that can be targeted by ads.
+          "kind": "dfareporting#mobileCarrier", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#mobileCarrier".
+          "countryDartId": "A String", # DART ID of the country to which this mobile carrier belongs.
+          "id": "A String", # ID of this mobile carrier.
+          "countryCode": "A String", # Country code of the country to which this mobile carrier belongs.
+          "name": "A String", # Name of this mobile carrier.
+        },
+      ],
+      "connectionTypes": [ # Connection types that this ad targets. For each connection type only id is required.The other fields are populated automatically when the ad is inserted or updated.
+        { # Contains information about an internet connection type that can be targeted by ads. Clients can use the connection type to target mobile vs. broadband users.
+          "kind": "dfareporting#connectionType", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#connectionType".
+          "id": "A String", # ID of this connection type.
+          "name": "A String", # Name of this connection type.
+        },
+      ],
+    },
+    "creativeRotation": { # Creative Rotation. # Creative rotation for this ad. Applicable when type is AD_SERVING_DEFAULT_AD, AD_SERVING_STANDARD_AD, or AD_SERVING_TRACKING. When type is AD_SERVING_DEFAULT_AD, this field should have exactly one creativeAssignment.
+      "creativeAssignments": [ # Creative assignments in this creative rotation.
+        { # Creative Assignment.
+          "weight": 42, # Weight of the creative assignment, applicable when the rotation type is CREATIVE_ROTATION_TYPE_RANDOM.
+          "sequence": 42, # Sequence number of the creative assignment, applicable when the rotation type is CREATIVE_ROTATION_TYPE_SEQUENTIAL.
+          "applyEventTags": True or False, # Whether applicable event tags should fire when this creative assignment is rendered. If this value is unset when the ad is inserted or updated, it will default to true for all creative types EXCEPT for INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and INSTREAM_VIDEO.
+          "richMediaExitOverrides": [ # Rich media exit overrides for this creative assignment.
+              # Applicable when the creative type is any of the following:
+              # - RICH_MEDIA_INPAGE
+              # - RICH_MEDIA_INPAGE_FLOATING
+              # - RICH_MEDIA_IM_EXPAND
+              # - RICH_MEDIA_EXPANDING
+              # - RICH_MEDIA_INTERSTITIAL_FLOAT
+              # - RICH_MEDIA_MOBILE_IN_APP
+              # - RICH_MEDIA_MULTI_FLOATING
+              # - RICH_MEDIA_PEEL_DOWN
+              # - ADVANCED_BANNER
+              # - VPAID_LINEAR
+              # - VPAID_NON_LINEAR
+            { # Rich Media Exit Override.
+              "customExitUrl": "A String", # Click-through URL to override the default exit URL. Applicable if the useCustomExitUrl field is set to true.
+              "useCustomExitUrl": True or False, # Whether to use the custom exit URL.
+              "exitId": "A String", # ID for the override to refer to a specific exit in the creative.
+            },
+          ],
+          "sslCompliant": True or False, # Whether the creative to be assigned is SSL-compliant. This is a read-only field that is auto-generated when the ad is inserted or updated.
+          "creativeGroupAssignments": [ # Creative group assignments for this creative assignment. Only one assignment per creative group number is allowed for a maximum of two assignments.
+            { # Creative Group Assignment.
+              "creativeGroupNumber": "A String", # Creative group number of the creative group assignment.
+              "creativeGroupId": "A String", # ID of the creative group to be assigned.
+            },
+          ],
+          "companionCreativeOverrides": [ # Companion creative overrides for this creative assignment. Applicable to video ads.
+            { # Companion Click-through override.
+              "clickThroughUrl": { # Click-through URL # Click-through URL of this companion click-through override.
+                "computedClickThroughUrl": "A String", # Read-only convenience field representing the actual URL that will be used for this click-through. The URL is computed as follows:
+                    # - If defaultLandingPage is enabled then the campaign's default landing page URL is assigned to this field.
+                    # - If defaultLandingPage is not enabled and a landingPageId is specified then that landing page's URL is assigned to this field.
+                    # - If neither of the above cases apply, then the customClickThroughUrl is assigned to this field.
+                "customClickThroughUrl": "A String", # Custom click-through URL. Applicable if the defaultLandingPage field is set to false and the landingPageId field is left unset.
+                "landingPageId": "A String", # ID of the landing page for the click-through URL. Applicable if the defaultLandingPage field is set to false.
+                "defaultLandingPage": True or False, # Whether the campaign default landing page is used.
+              },
+              "creativeId": "A String", # ID of the creative for this companion click-through override.
+            },
+          ],
+          "startTime": "A String", # Date and time that the assigned creative should start serving.
+          "clickThroughUrl": { # Click-through URL # Click-through URL of the creative assignment.
+            "computedClickThroughUrl": "A String", # Read-only convenience field representing the actual URL that will be used for this click-through. The URL is computed as follows:
+                # - If defaultLandingPage is enabled then the campaign's default landing page URL is assigned to this field.
+                # - If defaultLandingPage is not enabled and a landingPageId is specified then that landing page's URL is assigned to this field.
+                # - If neither of the above cases apply, then the customClickThroughUrl is assigned to this field.
+            "customClickThroughUrl": "A String", # Custom click-through URL. Applicable if the defaultLandingPage field is set to false and the landingPageId field is left unset.
+            "landingPageId": "A String", # ID of the landing page for the click-through URL. Applicable if the defaultLandingPage field is set to false.
+            "defaultLandingPage": True or False, # Whether the campaign default landing page is used.
+          },
+          "active": True or False, # Whether this creative assignment is active. When true, the creative will be included in the ad's rotation.
+          "creativeId": "A String", # ID of the creative to be assigned. This is a required field.
+          "endTime": "A String", # Date and time that the assigned creative should stop serving. Must be later than the start time.
+          "creativeIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the creative. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        },
+      ],
+      "weightCalculationStrategy": "A String", # Strategy for calculating weights. Used with CREATIVE_ROTATION_TYPE_RANDOM.
+      "creativeOptimizationConfigurationId": "A String", # Creative optimization configuration that is used by this ad. It should refer to one of the existing optimization configurations in the ad's campaign. If it is unset or set to 0, then the campaign's default optimization configuration will be used for this ad.
+      "type": "A String", # Type of creative rotation. Can be used to specify whether to use sequential or random rotation.
+    },
+    "clickThroughUrl": { # Click-through URL # Click-through URL for this ad. This is a required field on insertion. Applicable when type is AD_SERVING_CLICK_TRACKER.
+      "computedClickThroughUrl": "A String", # Read-only convenience field representing the actual URL that will be used for this click-through. The URL is computed as follows:
+          # - If defaultLandingPage is enabled then the campaign's default landing page URL is assigned to this field.
+          # - If defaultLandingPage is not enabled and a landingPageId is specified then that landing page's URL is assigned to this field.
+          # - If neither of the above cases apply, then the customClickThroughUrl is assigned to this field.
+      "customClickThroughUrl": "A String", # Custom click-through URL. Applicable if the defaultLandingPage field is set to false and the landingPageId field is left unset.
+      "landingPageId": "A String", # ID of the landing page for the click-through URL. Applicable if the defaultLandingPage field is set to false.
+      "defaultLandingPage": True or False, # Whether the campaign default landing page is used.
+    },
+    "comments": "A String", # Comments for this ad.
+    "remarketingListExpression": { # Remarketing List Targeting Expression. # Applicable when type is AD_SERVING_STANDARD_AD. Remarketing list targeting expression for this ad.
+      "expression": "A String", # Expression describing which lists are being targeted by the ad.
+    },
+    "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this ad. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "size": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size of this ad. Applicable when type is AD_SERVING_DEFAULT_AD.
+      "width": 42, # Width of this size.
+      "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+      "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+      "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+      "height": 42, # Height of this size.
+    },
+    "type": "A String", # Type of ad. This is a required field on insertion. Note that default ads (AD_SERVING_DEFAULT_AD) cannot be created directly (see Creative resource).
+    "sslRequired": True or False, # Whether this ad requires ssl. This is a read-only field that is auto-generated when the ad is inserted or updated.
+    "audienceSegmentId": "A String", # Audience segment ID that is being targeted for this ad. Applicable when type is AD_SERVING_STANDARD_AD.
+    "keyValueTargetingExpression": { # Key Value Targeting Expression. # Key-value targeting information for this ad. Applicable when type is AD_SERVING_STANDARD_AD.
+      "expression": "A String", # Keyword expression being targeted by the ad.
+    },
+    "campaignIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the campaign. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "defaultClickThroughEventTagProperties": { # Properties of inheriting and overriding the default click-through event tag. A campaign may override the event tag defined at the advertiser level, and an ad may also override the campaign's setting further. # Default click-through event tag properties for this ad.
+      "overrideInheritedEventTag": True or False, # Whether this entity should override the inherited default click-through event tag with its own defined value.
+      "defaultClickThroughEventTagId": "A String", # ID of the click-through event tag to apply to all ads in this entity's scope.
+    },
+    "createInfo": { # Modification timestamp. # Information about the creation of this ad.This is a read-only field.
+      "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+    },
+    "startTime": "A String", # Date and time that this ad should start serving. If creating an ad, this field must be a time in the future. This is a required field on insertion.
+    "active": True or False, # Whether this ad is active.
+    "compatibility": "A String", # Compatibility of this ad. Applicable when type is AD_SERVING_DEFAULT_AD. DISPLAY and DISPLAY_INTERSTITIAL refer to either rendering on desktop or on mobile devices or in mobile apps for regular or interstitial ads, respectively. APP and APP_INTERSTITIAL are only used for existing default ads. New mobile placements must be assigned DISPLAY or DISPLAY_INTERSTITIAL and default ads created for those placements will be limited to those compatibility types. IN_STREAM_VIDEO refers to rendering in-stream video ads developed with the VAST standard.
+    "kind": "dfareporting#ad", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#ad".
+    "subaccountId": "A String", # Subaccount ID of this ad. This is a read-only field that can be left blank.
+    "name": "A String", # Name of this ad. This is a required field and must be less than 256 characters long.
+    "dayPartTargeting": { # Day Part Targeting. # Time and day targeting information for this ad. Applicable when type is AD_SERVING_STANDARD_AD.
+      "userLocalTime": True or False, # Whether or not to use the user's local time. If false, the America/New York time zone applies.
+      "hoursOfDay": [ # Hours of the day when the ad will serve. Must be an integer between 0 and 23 (inclusive), where 0 is midnight to 1 AM, and 23 is 11 PM to midnight. Can be specified with days of week, in which case the ad would serve during these hours on the specified days. For example, if Monday, Wednesday, Friday are the days of week specified and 9-10am, 3-5pm (hours 9, 15, and 16) is specified, the ad would serve Monday, Wednesdays, and Fridays at 9-10am and 3-5pm.
+        42,
+      ],
+      "daysOfWeek": [ # Days of the week when the ad will serve.
+          #
+          # Acceptable values are:
+          # - "SUNDAY"
+          # - "MONDAY"
+          # - "TUESDAY"
+          # - "WEDNESDAY"
+          # - "THURSDAY"
+          # - "FRIDAY"
+          # - "SATURDAY"
+        "A String",
+      ],
+    },
+    "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this ad. This is a read-only field.
+      "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+    },
+    "sslCompliant": True or False, # Whether this ad is ssl compliant. This is a read-only field that is auto-generated when the ad is inserted or updated.
+    "placementAssignments": [ # Placement assignments for this ad.
+      { # Placement Assignment.
+        "active": True or False, # Whether this placement assignment is active. When true, the placement will be included in the ad's rotation.
+        "placementIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the placement. This is a read-only, auto-generated field.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+        "placementId": "A String", # ID of the placement to be assigned. This is a required field.
+        "sslRequired": True or False, # Whether the placement to be assigned requires SSL. This is a read-only field that is auto-generated when the ad is inserted or updated.
+      },
+    ],
+    "endTime": "A String", # Date and time that this ad should stop serving. Must be later than the start time. This is a required field on insertion.
+    "dynamicClickTracker": True or False, # Whether this ad is a dynamic click tracker. Applicable when type is AD_SERVING_CLICK_TRACKER. This is a required field on insert, and is read-only after insert.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a DCM ad.
+      "clickThroughUrlSuffixProperties": { # Click Through URL Suffix settings. # Click-through URL suffix properties for this ad. Applies to the URL in the ad or (if overriding ad properties) the URL in the creative.
+        "clickThroughUrlSuffix": "A String", # Click-through URL suffix to apply to all ads in this entity's scope. Must be less than 128 characters long.
+        "overrideInheritedSuffix": True or False, # Whether this entity should override the inherited click-through URL suffix with its own defined value.
+      },
+      "campaignId": "A String", # Campaign ID of this ad. This is a required field on insertion.
+      "advertiserId": "A String", # Advertiser ID of this ad. This is a required field on insertion.
+      "geoTargeting": { # Geographical Targeting. # Geographical targeting information for this ad.Applicable when type is AD_SERVING_STANDARD_AD.
+        "countries": [ # Countries to be targeted or excluded from targeting, depending on the setting of the excludeCountries field. For each country only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting or excluding a country, do not target regions, cities, metros, or postal codes in the same country.
+          { # Contains information about a country that can be targeted by ads.
+            "dartId": "A String", # DART ID of this country. This is the ID used for targeting and generating reports.
+            "sslEnabled": True or False, # Whether ad serving supports secure servers in this country.
+            "kind": "dfareporting#country", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#country".
+            "countryCode": "A String", # Country code.
+            "name": "A String", # Name of this country.
+          },
+        ],
+        "excludeCountries": True or False, # Whether or not to exclude the countries in the countries field from targeting. If false, the countries field refers to countries which will be targeted by the ad.
+        "postalCodes": [ # Postal codes to be targeted. For each postal code only id is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a postal code, do not target or exclude the country of the postal code.
+          { # Contains information about a postal code that can be targeted by ads.
+            "countryDartId": "A String", # DART ID of the country to which this postal code belongs.
+            "kind": "dfareporting#postalCode", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#postalCode".
+            "code": "A String", # Postal code. This is equivalent to the id field.
+            "id": "A String", # ID of this postal code.
+            "countryCode": "A String", # Country code of the country to which this postal code belongs.
+          },
+        ],
+        "regions": [ # Regions to be targeted. For each region only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a region, do not target or exclude the country of the region.
+          { # Contains information about a region that can be targeted by ads.
+            "kind": "dfareporting#region", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#region".
+            "countryDartId": "A String", # DART ID of the country to which this region belongs.
+            "name": "A String", # Name of this region.
+            "countryCode": "A String", # Country code of the country to which this region belongs.
+            "regionCode": "A String", # Region code.
+            "dartId": "A String", # DART ID of this region.
+          },
+        ],
+        "cities": [ # Cities to be targeted. For each city only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a city, do not target or exclude the country of the city, and do not target the metro or region of the city.
+          { # Contains information about a city that can be targeted by ads.
+            "kind": "dfareporting#city", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#city".
+            "countryDartId": "A String", # DART ID of the country to which this city belongs.
+            "name": "A String", # Name of this city.
+            "countryCode": "A String", # Country code of the country to which this city belongs.
+            "metroCode": "A String", # Metro region code of the metro region (DMA) to which this city belongs.
+            "regionCode": "A String", # Region code of the region to which this city belongs.
+            "metroDmaId": "A String", # ID of the metro region (DMA) to which this city belongs.
+            "dartId": "A String", # DART ID of this city. This is the ID used for targeting and generating reports.
+            "regionDartId": "A String", # DART ID of the region to which this city belongs.
+          },
+        ],
+        "metros": [ # Metros to be targeted. For each metro only dmaId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a metro, do not target or exclude the country of the metro.
+          { # Contains information about a metro region that can be targeted by ads.
+            "kind": "dfareporting#metro", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#metro".
+            "countryDartId": "A String", # DART ID of the country to which this metro region belongs.
+            "name": "A String", # Name of this metro region.
+            "countryCode": "A String", # Country code of the country to which this metro region belongs.
+            "metroCode": "A String", # Metro code of this metro region. This is equivalent to dma_id.
+            "dmaId": "A String", # DMA ID of this metro region. This is the ID used for targeting and generating reports, and is equivalent to metro_code.
+            "dartId": "A String", # DART ID of this metro region.
+          },
+        ],
+      },
+      "creativeGroupAssignments": [ # Creative group assignments for this ad. Applicable when type is AD_SERVING_CLICK_TRACKER. Only one assignment per creative group number is allowed for a maximum of two assignments.
+        { # Creative Group Assignment.
+          "creativeGroupNumber": "A String", # Creative group number of the creative group assignment.
+          "creativeGroupId": "A String", # ID of the creative group to be assigned.
+        },
+      ],
+      "deliverySchedule": { # Delivery Schedule. # Delivery schedule information for this ad. Applicable when type is AD_SERVING_STANDARD_AD or AD_SERVING_TRACKING. This field along with subfields priority and impressionRatio are required on insertion when type is AD_SERVING_STANDARD_AD.
+        "priority": "A String", # Serving priority of an ad, with respect to other ads. The lower the priority number, the greater the priority with which it is served.
+        "hardCutoff": True or False, # Whether or not hard cutoff is enabled. If true, the ad will not serve after the end date and time. Otherwise the ad will continue to be served until it has reached its delivery goals.
+        "frequencyCap": { # Frequency Cap. # Limit on the number of times an individual user can be served the ad within a specified period of time.
+          "duration": "A String", # Duration of time, in seconds, for this frequency cap. The maximum duration is 90 days in seconds, or 7,776,000.
+          "impressions": "A String", # Number of times an individual user can be served the ad within the specified duration. The maximum allowed is 15.
+        },
+        "impressionRatio": "A String", # Impression ratio for this ad. This ratio determines how often each ad is served relative to the others. For example, if ad A has an impression ratio of 1 and ad B has an impression ratio of 3, then DCM will serve ad B three times as often as ad A. Must be between 1 and 10.
+      },
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "eventTagOverrides": [ # Event tag overrides for this ad.
+        { # Event tag override information.
+          "enabled": True or False, # Whether this override is enabled.
+          "id": "A String", # ID of this event tag override. This is a read-only, auto-generated field.
+        },
+      ],
+      "id": "A String", # ID of this ad. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this ad. This is a read-only field that can be left blank.
+      "archived": True or False, # Whether this ad is archived.
+      "technologyTargeting": { # Technology Targeting. # Technology platform targeting information for this ad. Applicable when type is AD_SERVING_STANDARD_AD.
+        "platformTypes": [ # Platform types that this ad targets. For example, desktop, mobile, or tablet. For each platform type, only id is required, and the other fields are populated automatically when the ad is inserted or updated.
+          { # Contains information about a platform type that can be targeted by ads.
+            "kind": "dfareporting#platformType", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#platformType".
+            "id": "A String", # ID of this platform type.
+            "name": "A String", # Name of this platform type.
+          },
+        ],
+        "operatingSystemVersions": [ # Operating system versions that this ad targets. To target all versions, use operatingSystems. For each operating system version, only id is required. The other fields are populated automatically when the ad is inserted or updated. If targeting an operating system version, do not set targeting for the corresponding operating system in operatingSystems.
+          { # Contains information about a particular version of an operating system that can be targeted by ads.
+            "majorVersion": "A String", # Major version (leftmost number) of this operating system version.
+            "kind": "dfareporting#operatingSystemVersion", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#operatingSystemVersion".
+            "name": "A String", # Name of this operating system version.
+            "id": "A String", # ID of this operating system version.
+            "operatingSystem": { # Contains information about an operating system that can be targeted by ads. # Operating system of this operating system version.
+              "mobile": True or False, # Whether this operating system is for mobile.
+              "dartId": "A String", # DART ID of this operating system. This is the ID used for targeting.
+              "kind": "dfareporting#operatingSystem", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#operatingSystem".
+              "name": "A String", # Name of this operating system.
+              "desktop": True or False, # Whether this operating system is for desktop.
+            },
+            "minorVersion": "A String", # Minor version (number after the first dot) of this operating system version.
+          },
+        ],
+        "browsers": [ # Browsers that this ad targets. For each browser either set browserVersionId or dartId along with the version numbers. If both are specified, only browserVersionId will be used.The other fields are populated automatically when the ad is inserted or updated.
+          { # Contains information about a browser that can be targeted by ads.
+            "majorVersion": "A String", # Major version number (leftmost number) of this browser. For example, for Chrome 5.0.376.86 beta, this field should be set to 5. An asterisk (*) may be used to target any version number, and a question mark (?) may be used to target cases where the version number cannot be identified. For example, Chrome *.* targets any version of Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets cases where the ad server knows the browser is Firefox but can't tell which version it is.
+            "kind": "dfareporting#browser", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#browser".
+            "name": "A String", # Name of this browser.
+            "browserVersionId": "A String", # ID referring to this grouping of browser and version numbers. This is the ID used for targeting.
+            "dartId": "A String", # DART ID of this browser. This is the ID used when generating reports.
+            "minorVersion": "A String", # Minor version number (number after first dot on left) of this browser. For example, for Chrome 5.0.375.86 beta, this field should be set to 0. An asterisk (*) may be used to target any version number, and a question mark (?) may be used to target cases where the version number cannot be identified. For example, Chrome *.* targets any version of Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets cases where the ad server knows the browser is Firefox but can't tell which version it is.
+          },
+        ],
+        "operatingSystems": [ # Operating systems that this ad targets. To target specific versions, use operatingSystemVersions. For each operating system only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting an operating system, do not set targeting for operating system versions for the same operating system.
+          { # Contains information about an operating system that can be targeted by ads.
+            "mobile": True or False, # Whether this operating system is for mobile.
+            "dartId": "A String", # DART ID of this operating system. This is the ID used for targeting.
+            "kind": "dfareporting#operatingSystem", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#operatingSystem".
+            "name": "A String", # Name of this operating system.
+            "desktop": True or False, # Whether this operating system is for desktop.
+          },
+        ],
+        "mobileCarriers": [ # Mobile carriers that this ad targets. For each mobile carrier only id is required, and the other fields are populated automatically when the ad is inserted or updated. If targeting a mobile carrier, do not set targeting for any zip codes.
+          { # Contains information about a mobile carrier that can be targeted by ads.
+            "kind": "dfareporting#mobileCarrier", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#mobileCarrier".
+            "countryDartId": "A String", # DART ID of the country to which this mobile carrier belongs.
+            "id": "A String", # ID of this mobile carrier.
+            "countryCode": "A String", # Country code of the country to which this mobile carrier belongs.
+            "name": "A String", # Name of this mobile carrier.
+          },
+        ],
+        "connectionTypes": [ # Connection types that this ad targets. For each connection type only id is required.The other fields are populated automatically when the ad is inserted or updated.
+          { # Contains information about an internet connection type that can be targeted by ads. Clients can use the connection type to target mobile vs. broadband users.
+            "kind": "dfareporting#connectionType", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#connectionType".
+            "id": "A String", # ID of this connection type.
+            "name": "A String", # Name of this connection type.
+          },
+        ],
+      },
+      "creativeRotation": { # Creative Rotation. # Creative rotation for this ad. Applicable when type is AD_SERVING_DEFAULT_AD, AD_SERVING_STANDARD_AD, or AD_SERVING_TRACKING. When type is AD_SERVING_DEFAULT_AD, this field should have exactly one creativeAssignment.
+        "creativeAssignments": [ # Creative assignments in this creative rotation.
+          { # Creative Assignment.
+            "weight": 42, # Weight of the creative assignment, applicable when the rotation type is CREATIVE_ROTATION_TYPE_RANDOM.
+            "sequence": 42, # Sequence number of the creative assignment, applicable when the rotation type is CREATIVE_ROTATION_TYPE_SEQUENTIAL.
+            "applyEventTags": True or False, # Whether applicable event tags should fire when this creative assignment is rendered. If this value is unset when the ad is inserted or updated, it will default to true for all creative types EXCEPT for INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and INSTREAM_VIDEO.
+            "richMediaExitOverrides": [ # Rich media exit overrides for this creative assignment.
+                # Applicable when the creative type is any of the following:
+                # - RICH_MEDIA_INPAGE
+                # - RICH_MEDIA_INPAGE_FLOATING
+                # - RICH_MEDIA_IM_EXPAND
+                # - RICH_MEDIA_EXPANDING
+                # - RICH_MEDIA_INTERSTITIAL_FLOAT
+                # - RICH_MEDIA_MOBILE_IN_APP
+                # - RICH_MEDIA_MULTI_FLOATING
+                # - RICH_MEDIA_PEEL_DOWN
+                # - ADVANCED_BANNER
+                # - VPAID_LINEAR
+                # - VPAID_NON_LINEAR
+              { # Rich Media Exit Override.
+                "customExitUrl": "A String", # Click-through URL to override the default exit URL. Applicable if the useCustomExitUrl field is set to true.
+                "useCustomExitUrl": True or False, # Whether to use the custom exit URL.
+                "exitId": "A String", # ID for the override to refer to a specific exit in the creative.
+              },
+            ],
+            "sslCompliant": True or False, # Whether the creative to be assigned is SSL-compliant. This is a read-only field that is auto-generated when the ad is inserted or updated.
+            "creativeGroupAssignments": [ # Creative group assignments for this creative assignment. Only one assignment per creative group number is allowed for a maximum of two assignments.
+              { # Creative Group Assignment.
+                "creativeGroupNumber": "A String", # Creative group number of the creative group assignment.
+                "creativeGroupId": "A String", # ID of the creative group to be assigned.
+              },
+            ],
+            "companionCreativeOverrides": [ # Companion creative overrides for this creative assignment. Applicable to video ads.
+              { # Companion Click-through override.
+                "clickThroughUrl": { # Click-through URL # Click-through URL of this companion click-through override.
+                  "computedClickThroughUrl": "A String", # Read-only convenience field representing the actual URL that will be used for this click-through. The URL is computed as follows:
+                      # - If defaultLandingPage is enabled then the campaign's default landing page URL is assigned to this field.
+                      # - If defaultLandingPage is not enabled and a landingPageId is specified then that landing page's URL is assigned to this field.
+                      # - If neither of the above cases apply, then the customClickThroughUrl is assigned to this field.
+                  "customClickThroughUrl": "A String", # Custom click-through URL. Applicable if the defaultLandingPage field is set to false and the landingPageId field is left unset.
+                  "landingPageId": "A String", # ID of the landing page for the click-through URL. Applicable if the defaultLandingPage field is set to false.
+                  "defaultLandingPage": True or False, # Whether the campaign default landing page is used.
+                },
+                "creativeId": "A String", # ID of the creative for this companion click-through override.
+              },
+            ],
+            "startTime": "A String", # Date and time that the assigned creative should start serving.
+            "clickThroughUrl": { # Click-through URL # Click-through URL of the creative assignment.
+              "computedClickThroughUrl": "A String", # Read-only convenience field representing the actual URL that will be used for this click-through. The URL is computed as follows:
+                  # - If defaultLandingPage is enabled then the campaign's default landing page URL is assigned to this field.
+                  # - If defaultLandingPage is not enabled and a landingPageId is specified then that landing page's URL is assigned to this field.
+                  # - If neither of the above cases apply, then the customClickThroughUrl is assigned to this field.
+              "customClickThroughUrl": "A String", # Custom click-through URL. Applicable if the defaultLandingPage field is set to false and the landingPageId field is left unset.
+              "landingPageId": "A String", # ID of the landing page for the click-through URL. Applicable if the defaultLandingPage field is set to false.
+              "defaultLandingPage": True or False, # Whether the campaign default landing page is used.
+            },
+            "active": True or False, # Whether this creative assignment is active. When true, the creative will be included in the ad's rotation.
+            "creativeId": "A String", # ID of the creative to be assigned. This is a required field.
+            "endTime": "A String", # Date and time that the assigned creative should stop serving. Must be later than the start time.
+            "creativeIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the creative. This is a read-only, auto-generated field.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+          },
+        ],
+        "weightCalculationStrategy": "A String", # Strategy for calculating weights. Used with CREATIVE_ROTATION_TYPE_RANDOM.
+        "creativeOptimizationConfigurationId": "A String", # Creative optimization configuration that is used by this ad. It should refer to one of the existing optimization configurations in the ad's campaign. If it is unset or set to 0, then the campaign's default optimization configuration will be used for this ad.
+        "type": "A String", # Type of creative rotation. Can be used to specify whether to use sequential or random rotation.
+      },
+      "clickThroughUrl": { # Click-through URL # Click-through URL for this ad. This is a required field on insertion. Applicable when type is AD_SERVING_CLICK_TRACKER.
+        "computedClickThroughUrl": "A String", # Read-only convenience field representing the actual URL that will be used for this click-through. The URL is computed as follows:
+            # - If defaultLandingPage is enabled then the campaign's default landing page URL is assigned to this field.
+            # - If defaultLandingPage is not enabled and a landingPageId is specified then that landing page's URL is assigned to this field.
+            # - If neither of the above cases apply, then the customClickThroughUrl is assigned to this field.
+        "customClickThroughUrl": "A String", # Custom click-through URL. Applicable if the defaultLandingPage field is set to false and the landingPageId field is left unset.
+        "landingPageId": "A String", # ID of the landing page for the click-through URL. Applicable if the defaultLandingPage field is set to false.
+        "defaultLandingPage": True or False, # Whether the campaign default landing page is used.
+      },
+      "comments": "A String", # Comments for this ad.
+      "remarketingListExpression": { # Remarketing List Targeting Expression. # Applicable when type is AD_SERVING_STANDARD_AD. Remarketing list targeting expression for this ad.
+        "expression": "A String", # Expression describing which lists are being targeted by the ad.
+      },
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this ad. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "size": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size of this ad. Applicable when type is AD_SERVING_DEFAULT_AD.
+        "width": 42, # Width of this size.
+        "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+        "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+        "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+        "height": 42, # Height of this size.
+      },
+      "type": "A String", # Type of ad. This is a required field on insertion. Note that default ads (AD_SERVING_DEFAULT_AD) cannot be created directly (see Creative resource).
+      "sslRequired": True or False, # Whether this ad requires ssl. This is a read-only field that is auto-generated when the ad is inserted or updated.
+      "audienceSegmentId": "A String", # Audience segment ID that is being targeted for this ad. Applicable when type is AD_SERVING_STANDARD_AD.
+      "keyValueTargetingExpression": { # Key Value Targeting Expression. # Key-value targeting information for this ad. Applicable when type is AD_SERVING_STANDARD_AD.
+        "expression": "A String", # Keyword expression being targeted by the ad.
+      },
+      "campaignIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the campaign. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "defaultClickThroughEventTagProperties": { # Properties of inheriting and overriding the default click-through event tag. A campaign may override the event tag defined at the advertiser level, and an ad may also override the campaign's setting further. # Default click-through event tag properties for this ad.
+        "overrideInheritedEventTag": True or False, # Whether this entity should override the inherited default click-through event tag with its own defined value.
+        "defaultClickThroughEventTagId": "A String", # ID of the click-through event tag to apply to all ads in this entity's scope.
+      },
+      "createInfo": { # Modification timestamp. # Information about the creation of this ad.This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "startTime": "A String", # Date and time that this ad should start serving. If creating an ad, this field must be a time in the future. This is a required field on insertion.
+      "active": True or False, # Whether this ad is active.
+      "compatibility": "A String", # Compatibility of this ad. Applicable when type is AD_SERVING_DEFAULT_AD. DISPLAY and DISPLAY_INTERSTITIAL refer to either rendering on desktop or on mobile devices or in mobile apps for regular or interstitial ads, respectively. APP and APP_INTERSTITIAL are only used for existing default ads. New mobile placements must be assigned DISPLAY or DISPLAY_INTERSTITIAL and default ads created for those placements will be limited to those compatibility types. IN_STREAM_VIDEO refers to rendering in-stream video ads developed with the VAST standard.
+      "kind": "dfareporting#ad", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#ad".
+      "subaccountId": "A String", # Subaccount ID of this ad. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this ad. This is a required field and must be less than 256 characters long.
+      "dayPartTargeting": { # Day Part Targeting. # Time and day targeting information for this ad. Applicable when type is AD_SERVING_STANDARD_AD.
+        "userLocalTime": True or False, # Whether or not to use the user's local time. If false, the America/New York time zone applies.
+        "hoursOfDay": [ # Hours of the day when the ad will serve. Must be an integer between 0 and 23 (inclusive), where 0 is midnight to 1 AM, and 23 is 11 PM to midnight. Can be specified with days of week, in which case the ad would serve during these hours on the specified days. For example, if Monday, Wednesday, Friday are the days of week specified and 9-10am, 3-5pm (hours 9, 15, and 16) is specified, the ad would serve Monday, Wednesdays, and Fridays at 9-10am and 3-5pm.
+          42,
+        ],
+        "daysOfWeek": [ # Days of the week when the ad will serve.
+            #
+            # Acceptable values are:
+            # - "SUNDAY"
+            # - "MONDAY"
+            # - "TUESDAY"
+            # - "WEDNESDAY"
+            # - "THURSDAY"
+            # - "FRIDAY"
+            # - "SATURDAY"
+          "A String",
+        ],
+      },
+      "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this ad. This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "sslCompliant": True or False, # Whether this ad is ssl compliant. This is a read-only field that is auto-generated when the ad is inserted or updated.
+      "placementAssignments": [ # Placement assignments for this ad.
+        { # Placement Assignment.
+          "active": True or False, # Whether this placement assignment is active. When true, the placement will be included in the ad's rotation.
+          "placementIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the placement. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "placementId": "A String", # ID of the placement to be assigned. This is a required field.
+          "sslRequired": True or False, # Whether the placement to be assigned requires SSL. This is a read-only field that is auto-generated when the ad is inserted or updated.
+        },
+      ],
+      "endTime": "A String", # Date and time that this ad should stop serving. Must be later than the start time. This is a required field on insertion.
+      "dynamicClickTracker": True or False, # Whether this ad is a dynamic click tracker. Applicable when type is AD_SERVING_CLICK_TRACKER. This is a required field on insert, and is read-only after insert.
+    }
+
+ + \ No newline at end of file diff --git a/docs/dyn/dfareporting_v2_5.advertiserGroups.html b/docs/dyn/dfareporting_v2_5.advertiserGroups.html new file mode 100644 index 00000000000..9fc9363933a --- /dev/null +++ b/docs/dyn/dfareporting_v2_5.advertiserGroups.html @@ -0,0 +1,263 @@ + + + +

DCM/DFA Reporting And Trafficking API . advertiserGroups

+

Instance Methods

+

+ delete(profileId, id)

+

Deletes an existing advertiser group.

+

+ get(profileId, id)

+

Gets one advertiser group by ID.

+

+ insert(profileId, body)

+

Inserts a new advertiser group.

+

+ list(profileId, searchString=None, pageToken=None, sortField=None, ids=None, maxResults=None, sortOrder=None)

+

Retrieves a list of advertiser groups, possibly filtered.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

+ patch(profileId, id, body)

+

Updates an existing advertiser group. This method supports patch semantics.

+

+ update(profileId, body)

+

Updates an existing advertiser group.

+

Method Details

+
+ delete(profileId, id) +
Deletes an existing advertiser group.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Advertiser group ID. (required)
+
+
+ +
+ get(profileId, id) +
Gets one advertiser group by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Advertiser group ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Groups advertisers together so that reports can be generated for the entire group at once.
+      "kind": "dfareporting#advertiserGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#advertiserGroup".
+      "id": "A String", # ID of this advertiser group. This is a read-only, auto-generated field.
+      "name": "A String", # Name of this advertiser group. This is a required field and must be less than 256 characters long and unique among advertiser groups of the same account.
+      "accountId": "A String", # Account ID of this advertiser group. This is a read-only field that can be left blank.
+    }
+
+ +
+ insert(profileId, body) +
Inserts a new advertiser group.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Groups advertisers together so that reports can be generated for the entire group at once.
+    "kind": "dfareporting#advertiserGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#advertiserGroup".
+    "id": "A String", # ID of this advertiser group. This is a read-only, auto-generated field.
+    "name": "A String", # Name of this advertiser group. This is a required field and must be less than 256 characters long and unique among advertiser groups of the same account.
+    "accountId": "A String", # Account ID of this advertiser group. This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Groups advertisers together so that reports can be generated for the entire group at once.
+      "kind": "dfareporting#advertiserGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#advertiserGroup".
+      "id": "A String", # ID of this advertiser group. This is a read-only, auto-generated field.
+      "name": "A String", # Name of this advertiser group. This is a required field and must be less than 256 characters long and unique among advertiser groups of the same account.
+      "accountId": "A String", # Account ID of this advertiser group. This is a read-only field that can be left blank.
+    }
+
+ +
+ list(profileId, searchString=None, pageToken=None, sortField=None, ids=None, maxResults=None, sortOrder=None) +
Retrieves a list of advertiser groups, possibly filtered.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  searchString: string, Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "advertiser*2015" will return objects with names like "advertiser group June 2015", "advertiser group April 2015", or simply "advertiser group 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "advertisergroup" will match objects with name "my advertisergroup", "advertisergroup 2015", or simply "advertisergroup".
+  pageToken: string, Value of the nextPageToken from the previous result page.
+  sortField: string, Field by which to sort the list.
+    Allowed values
+      ID - 
+      NAME - 
+  ids: string, Select only advertiser groups with these IDs. (repeated)
+  maxResults: integer, Maximum number of results to return.
+  sortOrder: string, Order of sorted results, default is ASCENDING.
+    Allowed values
+      ASCENDING - 
+      DESCENDING - 
+
+Returns:
+  An object of the form:
+
+    { # Advertiser Group List Response
+    "nextPageToken": "A String", # Pagination token to be used for the next list operation.
+    "kind": "dfareporting#advertiserGroupsListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#advertiserGroupsListResponse".
+    "advertiserGroups": [ # Advertiser group collection.
+      { # Groups advertisers together so that reports can be generated for the entire group at once.
+          "kind": "dfareporting#advertiserGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#advertiserGroup".
+          "id": "A String", # ID of this advertiser group. This is a read-only, auto-generated field.
+          "name": "A String", # Name of this advertiser group. This is a required field and must be less than 256 characters long and unique among advertiser groups of the same account.
+          "accountId": "A String", # Account ID of this advertiser group. This is a read-only field that can be left blank.
+        },
+    ],
+  }
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    
+
+ +
+ patch(profileId, id, body) +
Updates an existing advertiser group. This method supports patch semantics.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Advertiser group ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Groups advertisers together so that reports can be generated for the entire group at once.
+    "kind": "dfareporting#advertiserGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#advertiserGroup".
+    "id": "A String", # ID of this advertiser group. This is a read-only, auto-generated field.
+    "name": "A String", # Name of this advertiser group. This is a required field and must be less than 256 characters long and unique among advertiser groups of the same account.
+    "accountId": "A String", # Account ID of this advertiser group. This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Groups advertisers together so that reports can be generated for the entire group at once.
+      "kind": "dfareporting#advertiserGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#advertiserGroup".
+      "id": "A String", # ID of this advertiser group. This is a read-only, auto-generated field.
+      "name": "A String", # Name of this advertiser group. This is a required field and must be less than 256 characters long and unique among advertiser groups of the same account.
+      "accountId": "A String", # Account ID of this advertiser group. This is a read-only field that can be left blank.
+    }
+
+ +
+ update(profileId, body) +
Updates an existing advertiser group.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Groups advertisers together so that reports can be generated for the entire group at once.
+    "kind": "dfareporting#advertiserGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#advertiserGroup".
+    "id": "A String", # ID of this advertiser group. This is a read-only, auto-generated field.
+    "name": "A String", # Name of this advertiser group. This is a required field and must be less than 256 characters long and unique among advertiser groups of the same account.
+    "accountId": "A String", # Account ID of this advertiser group. This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Groups advertisers together so that reports can be generated for the entire group at once.
+      "kind": "dfareporting#advertiserGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#advertiserGroup".
+      "id": "A String", # ID of this advertiser group. This is a read-only, auto-generated field.
+      "name": "A String", # Name of this advertiser group. This is a required field and must be less than 256 characters long and unique among advertiser groups of the same account.
+      "accountId": "A String", # Account ID of this advertiser group. This is a read-only field that can be left blank.
+    }
+
+ + \ No newline at end of file diff --git a/docs/dyn/dfareporting_v2_5.advertisers.html b/docs/dyn/dfareporting_v2_5.advertisers.html new file mode 100644 index 00000000000..6c569f6bf4b --- /dev/null +++ b/docs/dyn/dfareporting_v2_5.advertisers.html @@ -0,0 +1,475 @@ + + + +

DCM/DFA Reporting And Trafficking API . advertisers

+

Instance Methods

+

+ get(profileId, id)

+

Gets one advertiser by ID.

+

+ insert(profileId, body)

+

Inserts a new advertiser.

+

+ list(profileId, includeAdvertisersWithoutGroupsOnly=None, onlyParent=None, pageToken=None, sortOrder=None, status=None, maxResults=None, advertiserGroupIds=None, searchString=None, subaccountId=None, ids=None, floodlightConfigurationIds=None, sortField=None)

+

Retrieves a list of advertisers, possibly filtered.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

+ patch(profileId, id, body)

+

Updates an existing advertiser. This method supports patch semantics.

+

+ update(profileId, body)

+

Updates an existing advertiser.

+

Method Details

+
+ get(profileId, id) +
Gets one advertiser by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Advertiser ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a DCM advertiser.
+      "status": "A String", # Status of this advertiser.
+      "kind": "dfareporting#advertiser", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#advertiser".
+      "subaccountId": "A String", # Subaccount ID of this advertiser.This is a read-only field that can be left blank.
+      "name": "A String", # Name of this advertiser. This is a required field and must be less than 256 characters long and unique among advertisers of the same account.
+      "defaultClickThroughEventTagId": "A String", # ID of the click-through event tag to apply by default to the landing pages of this advertiser's campaigns.
+      "originalFloodlightConfigurationId": "A String", # Original floodlight configuration before any sharing occurred. Set the floodlightConfigurationId of this advertiser to originalFloodlightConfigurationId to unshare the advertiser's current floodlight configuration. You cannot unshare an advertiser's floodlight configuration if the shared configuration has activities associated with any campaign or placement.
+      "clickThroughUrlSuffix": "A String", # Suffix added to click-through URL of ad creative associations under this advertiser. Must be less than 129 characters long.
+      "floodlightConfigurationId": "A String", # Floodlight configuration ID of this advertiser. The floodlight configuration ID will be created automatically, so on insert this field should be left blank. This field can be set to another advertiser's floodlight configuration ID in order to share that advertiser's floodlight configuration with this advertiser, so long as:
+          # - This advertiser's original floodlight configuration is not already associated with floodlight activities or floodlight activity groups.
+          # - This advertiser's original floodlight configuration is not already shared with another advertiser.
+      "suspended": True or False, # Suspension status of this advertiser.
+      "floodlightConfigurationIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight configuration. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "advertiserGroupId": "A String", # ID of the advertiser group this advertiser belongs to. You can group advertisers for reporting purposes, allowing you to see aggregated information for all advertisers in each group.
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "defaultEmail": "A String", # Default email address used in sender field for tag emails.
+      "id": "A String", # ID of this advertiser. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this advertiser.This is a read-only field that can be left blank.
+    }
+
+ +
+ insert(profileId, body) +
Inserts a new advertiser.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a DCM advertiser.
+    "status": "A String", # Status of this advertiser.
+    "kind": "dfareporting#advertiser", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#advertiser".
+    "subaccountId": "A String", # Subaccount ID of this advertiser.This is a read-only field that can be left blank.
+    "name": "A String", # Name of this advertiser. This is a required field and must be less than 256 characters long and unique among advertisers of the same account.
+    "defaultClickThroughEventTagId": "A String", # ID of the click-through event tag to apply by default to the landing pages of this advertiser's campaigns.
+    "originalFloodlightConfigurationId": "A String", # Original floodlight configuration before any sharing occurred. Set the floodlightConfigurationId of this advertiser to originalFloodlightConfigurationId to unshare the advertiser's current floodlight configuration. You cannot unshare an advertiser's floodlight configuration if the shared configuration has activities associated with any campaign or placement.
+    "clickThroughUrlSuffix": "A String", # Suffix added to click-through URL of ad creative associations under this advertiser. Must be less than 129 characters long.
+    "floodlightConfigurationId": "A String", # Floodlight configuration ID of this advertiser. The floodlight configuration ID will be created automatically, so on insert this field should be left blank. This field can be set to another advertiser's floodlight configuration ID in order to share that advertiser's floodlight configuration with this advertiser, so long as:
+        # - This advertiser's original floodlight configuration is not already associated with floodlight activities or floodlight activity groups.
+        # - This advertiser's original floodlight configuration is not already shared with another advertiser.
+    "suspended": True or False, # Suspension status of this advertiser.
+    "floodlightConfigurationIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight configuration. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "advertiserGroupId": "A String", # ID of the advertiser group this advertiser belongs to. You can group advertisers for reporting purposes, allowing you to see aggregated information for all advertisers in each group.
+    "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this advertiser. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "defaultEmail": "A String", # Default email address used in sender field for tag emails.
+    "id": "A String", # ID of this advertiser. This is a read-only, auto-generated field.
+    "accountId": "A String", # Account ID of this advertiser.This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a DCM advertiser.
+      "status": "A String", # Status of this advertiser.
+      "kind": "dfareporting#advertiser", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#advertiser".
+      "subaccountId": "A String", # Subaccount ID of this advertiser.This is a read-only field that can be left blank.
+      "name": "A String", # Name of this advertiser. This is a required field and must be less than 256 characters long and unique among advertisers of the same account.
+      "defaultClickThroughEventTagId": "A String", # ID of the click-through event tag to apply by default to the landing pages of this advertiser's campaigns.
+      "originalFloodlightConfigurationId": "A String", # Original floodlight configuration before any sharing occurred. Set the floodlightConfigurationId of this advertiser to originalFloodlightConfigurationId to unshare the advertiser's current floodlight configuration. You cannot unshare an advertiser's floodlight configuration if the shared configuration has activities associated with any campaign or placement.
+      "clickThroughUrlSuffix": "A String", # Suffix added to click-through URL of ad creative associations under this advertiser. Must be less than 129 characters long.
+      "floodlightConfigurationId": "A String", # Floodlight configuration ID of this advertiser. The floodlight configuration ID will be created automatically, so on insert this field should be left blank. This field can be set to another advertiser's floodlight configuration ID in order to share that advertiser's floodlight configuration with this advertiser, so long as:
+          # - This advertiser's original floodlight configuration is not already associated with floodlight activities or floodlight activity groups.
+          # - This advertiser's original floodlight configuration is not already shared with another advertiser.
+      "suspended": True or False, # Suspension status of this advertiser.
+      "floodlightConfigurationIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight configuration. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "advertiserGroupId": "A String", # ID of the advertiser group this advertiser belongs to. You can group advertisers for reporting purposes, allowing you to see aggregated information for all advertisers in each group.
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "defaultEmail": "A String", # Default email address used in sender field for tag emails.
+      "id": "A String", # ID of this advertiser. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this advertiser.This is a read-only field that can be left blank.
+    }
+
+ +
+ list(profileId, includeAdvertisersWithoutGroupsOnly=None, onlyParent=None, pageToken=None, sortOrder=None, status=None, maxResults=None, advertiserGroupIds=None, searchString=None, subaccountId=None, ids=None, floodlightConfigurationIds=None, sortField=None) +
Retrieves a list of advertisers, possibly filtered.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  includeAdvertisersWithoutGroupsOnly: boolean, Select only advertisers which do not belong to any advertiser group.
+  onlyParent: boolean, Select only advertisers which use another advertiser's floodlight configuration.
+  pageToken: string, Value of the nextPageToken from the previous result page.
+  sortOrder: string, Order of sorted results, default is ASCENDING.
+    Allowed values
+      ASCENDING - 
+      DESCENDING - 
+  status: string, Select only advertisers with the specified status.
+    Allowed values
+      APPROVED - 
+      ON_HOLD - 
+  maxResults: integer, Maximum number of results to return.
+  advertiserGroupIds: string, Select only advertisers with these advertiser group IDs. (repeated)
+  searchString: string, Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "advertiser*2015" will return objects with names like "advertiser June 2015", "advertiser April 2015", or simply "advertiser 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "advertiser" will match objects with name "my advertiser", "advertiser 2015", or simply "advertiser".
+  subaccountId: string, Select only advertisers with these subaccount IDs.
+  ids: string, Select only advertisers with these IDs. (repeated)
+  floodlightConfigurationIds: string, Select only advertisers with these floodlight configuration IDs. (repeated)
+  sortField: string, Field by which to sort the list.
+    Allowed values
+      ID - 
+      NAME - 
+
+Returns:
+  An object of the form:
+
+    { # Advertiser List Response
+    "nextPageToken": "A String", # Pagination token to be used for the next list operation.
+    "advertisers": [ # Advertiser collection.
+      { # Contains properties of a DCM advertiser.
+          "status": "A String", # Status of this advertiser.
+          "kind": "dfareporting#advertiser", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#advertiser".
+          "subaccountId": "A String", # Subaccount ID of this advertiser.This is a read-only field that can be left blank.
+          "name": "A String", # Name of this advertiser. This is a required field and must be less than 256 characters long and unique among advertisers of the same account.
+          "defaultClickThroughEventTagId": "A String", # ID of the click-through event tag to apply by default to the landing pages of this advertiser's campaigns.
+          "originalFloodlightConfigurationId": "A String", # Original floodlight configuration before any sharing occurred. Set the floodlightConfigurationId of this advertiser to originalFloodlightConfigurationId to unshare the advertiser's current floodlight configuration. You cannot unshare an advertiser's floodlight configuration if the shared configuration has activities associated with any campaign or placement.
+          "clickThroughUrlSuffix": "A String", # Suffix added to click-through URL of ad creative associations under this advertiser. Must be less than 129 characters long.
+          "floodlightConfigurationId": "A String", # Floodlight configuration ID of this advertiser. The floodlight configuration ID will be created automatically, so on insert this field should be left blank. This field can be set to another advertiser's floodlight configuration ID in order to share that advertiser's floodlight configuration with this advertiser, so long as:
+              # - This advertiser's original floodlight configuration is not already associated with floodlight activities or floodlight activity groups.
+              # - This advertiser's original floodlight configuration is not already shared with another advertiser.
+          "suspended": True or False, # Suspension status of this advertiser.
+          "floodlightConfigurationIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight configuration. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "advertiserGroupId": "A String", # ID of the advertiser group this advertiser belongs to. You can group advertisers for reporting purposes, allowing you to see aggregated information for all advertisers in each group.
+          "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this advertiser. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "defaultEmail": "A String", # Default email address used in sender field for tag emails.
+          "id": "A String", # ID of this advertiser. This is a read-only, auto-generated field.
+          "accountId": "A String", # Account ID of this advertiser.This is a read-only field that can be left blank.
+        },
+    ],
+    "kind": "dfareporting#advertisersListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#advertisersListResponse".
+  }
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    
+
+ +
+ patch(profileId, id, body) +
Updates an existing advertiser. This method supports patch semantics.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Advertiser ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a DCM advertiser.
+    "status": "A String", # Status of this advertiser.
+    "kind": "dfareporting#advertiser", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#advertiser".
+    "subaccountId": "A String", # Subaccount ID of this advertiser.This is a read-only field that can be left blank.
+    "name": "A String", # Name of this advertiser. This is a required field and must be less than 256 characters long and unique among advertisers of the same account.
+    "defaultClickThroughEventTagId": "A String", # ID of the click-through event tag to apply by default to the landing pages of this advertiser's campaigns.
+    "originalFloodlightConfigurationId": "A String", # Original floodlight configuration before any sharing occurred. Set the floodlightConfigurationId of this advertiser to originalFloodlightConfigurationId to unshare the advertiser's current floodlight configuration. You cannot unshare an advertiser's floodlight configuration if the shared configuration has activities associated with any campaign or placement.
+    "clickThroughUrlSuffix": "A String", # Suffix added to click-through URL of ad creative associations under this advertiser. Must be less than 129 characters long.
+    "floodlightConfigurationId": "A String", # Floodlight configuration ID of this advertiser. The floodlight configuration ID will be created automatically, so on insert this field should be left blank. This field can be set to another advertiser's floodlight configuration ID in order to share that advertiser's floodlight configuration with this advertiser, so long as:
+        # - This advertiser's original floodlight configuration is not already associated with floodlight activities or floodlight activity groups.
+        # - This advertiser's original floodlight configuration is not already shared with another advertiser.
+    "suspended": True or False, # Suspension status of this advertiser.
+    "floodlightConfigurationIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight configuration. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "advertiserGroupId": "A String", # ID of the advertiser group this advertiser belongs to. You can group advertisers for reporting purposes, allowing you to see aggregated information for all advertisers in each group.
+    "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this advertiser. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "defaultEmail": "A String", # Default email address used in sender field for tag emails.
+    "id": "A String", # ID of this advertiser. This is a read-only, auto-generated field.
+    "accountId": "A String", # Account ID of this advertiser.This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a DCM advertiser.
+      "status": "A String", # Status of this advertiser.
+      "kind": "dfareporting#advertiser", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#advertiser".
+      "subaccountId": "A String", # Subaccount ID of this advertiser.This is a read-only field that can be left blank.
+      "name": "A String", # Name of this advertiser. This is a required field and must be less than 256 characters long and unique among advertisers of the same account.
+      "defaultClickThroughEventTagId": "A String", # ID of the click-through event tag to apply by default to the landing pages of this advertiser's campaigns.
+      "originalFloodlightConfigurationId": "A String", # Original floodlight configuration before any sharing occurred. Set the floodlightConfigurationId of this advertiser to originalFloodlightConfigurationId to unshare the advertiser's current floodlight configuration. You cannot unshare an advertiser's floodlight configuration if the shared configuration has activities associated with any campaign or placement.
+      "clickThroughUrlSuffix": "A String", # Suffix added to click-through URL of ad creative associations under this advertiser. Must be less than 129 characters long.
+      "floodlightConfigurationId": "A String", # Floodlight configuration ID of this advertiser. The floodlight configuration ID will be created automatically, so on insert this field should be left blank. This field can be set to another advertiser's floodlight configuration ID in order to share that advertiser's floodlight configuration with this advertiser, so long as:
+          # - This advertiser's original floodlight configuration is not already associated with floodlight activities or floodlight activity groups.
+          # - This advertiser's original floodlight configuration is not already shared with another advertiser.
+      "suspended": True or False, # Suspension status of this advertiser.
+      "floodlightConfigurationIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight configuration. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "advertiserGroupId": "A String", # ID of the advertiser group this advertiser belongs to. You can group advertisers for reporting purposes, allowing you to see aggregated information for all advertisers in each group.
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "defaultEmail": "A String", # Default email address used in sender field for tag emails.
+      "id": "A String", # ID of this advertiser. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this advertiser.This is a read-only field that can be left blank.
+    }
+
+ +
+ update(profileId, body) +
Updates an existing advertiser.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a DCM advertiser.
+    "status": "A String", # Status of this advertiser.
+    "kind": "dfareporting#advertiser", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#advertiser".
+    "subaccountId": "A String", # Subaccount ID of this advertiser.This is a read-only field that can be left blank.
+    "name": "A String", # Name of this advertiser. This is a required field and must be less than 256 characters long and unique among advertisers of the same account.
+    "defaultClickThroughEventTagId": "A String", # ID of the click-through event tag to apply by default to the landing pages of this advertiser's campaigns.
+    "originalFloodlightConfigurationId": "A String", # Original floodlight configuration before any sharing occurred. Set the floodlightConfigurationId of this advertiser to originalFloodlightConfigurationId to unshare the advertiser's current floodlight configuration. You cannot unshare an advertiser's floodlight configuration if the shared configuration has activities associated with any campaign or placement.
+    "clickThroughUrlSuffix": "A String", # Suffix added to click-through URL of ad creative associations under this advertiser. Must be less than 129 characters long.
+    "floodlightConfigurationId": "A String", # Floodlight configuration ID of this advertiser. The floodlight configuration ID will be created automatically, so on insert this field should be left blank. This field can be set to another advertiser's floodlight configuration ID in order to share that advertiser's floodlight configuration with this advertiser, so long as:
+        # - This advertiser's original floodlight configuration is not already associated with floodlight activities or floodlight activity groups.
+        # - This advertiser's original floodlight configuration is not already shared with another advertiser.
+    "suspended": True or False, # Suspension status of this advertiser.
+    "floodlightConfigurationIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight configuration. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "advertiserGroupId": "A String", # ID of the advertiser group this advertiser belongs to. You can group advertisers for reporting purposes, allowing you to see aggregated information for all advertisers in each group.
+    "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this advertiser. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "defaultEmail": "A String", # Default email address used in sender field for tag emails.
+    "id": "A String", # ID of this advertiser. This is a read-only, auto-generated field.
+    "accountId": "A String", # Account ID of this advertiser.This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a DCM advertiser.
+      "status": "A String", # Status of this advertiser.
+      "kind": "dfareporting#advertiser", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#advertiser".
+      "subaccountId": "A String", # Subaccount ID of this advertiser.This is a read-only field that can be left blank.
+      "name": "A String", # Name of this advertiser. This is a required field and must be less than 256 characters long and unique among advertisers of the same account.
+      "defaultClickThroughEventTagId": "A String", # ID of the click-through event tag to apply by default to the landing pages of this advertiser's campaigns.
+      "originalFloodlightConfigurationId": "A String", # Original floodlight configuration before any sharing occurred. Set the floodlightConfigurationId of this advertiser to originalFloodlightConfigurationId to unshare the advertiser's current floodlight configuration. You cannot unshare an advertiser's floodlight configuration if the shared configuration has activities associated with any campaign or placement.
+      "clickThroughUrlSuffix": "A String", # Suffix added to click-through URL of ad creative associations under this advertiser. Must be less than 129 characters long.
+      "floodlightConfigurationId": "A String", # Floodlight configuration ID of this advertiser. The floodlight configuration ID will be created automatically, so on insert this field should be left blank. This field can be set to another advertiser's floodlight configuration ID in order to share that advertiser's floodlight configuration with this advertiser, so long as:
+          # - This advertiser's original floodlight configuration is not already associated with floodlight activities or floodlight activity groups.
+          # - This advertiser's original floodlight configuration is not already shared with another advertiser.
+      "suspended": True or False, # Suspension status of this advertiser.
+      "floodlightConfigurationIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight configuration. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "advertiserGroupId": "A String", # ID of the advertiser group this advertiser belongs to. You can group advertisers for reporting purposes, allowing you to see aggregated information for all advertisers in each group.
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "defaultEmail": "A String", # Default email address used in sender field for tag emails.
+      "id": "A String", # ID of this advertiser. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this advertiser.This is a read-only field that can be left blank.
+    }
+
+ + \ No newline at end of file diff --git a/docs/dyn/dfareporting_v2_5.browsers.html b/docs/dyn/dfareporting_v2_5.browsers.html new file mode 100644 index 00000000000..3bb6a354a9e --- /dev/null +++ b/docs/dyn/dfareporting_v2_5.browsers.html @@ -0,0 +1,106 @@ + + + +

DCM/DFA Reporting And Trafficking API . browsers

+

Instance Methods

+

+ list(profileId)

+

Retrieves a list of browsers.

+

Method Details

+
+ list(profileId) +
Retrieves a list of browsers.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+
+Returns:
+  An object of the form:
+
+    { # Browser List Response
+    "kind": "dfareporting#browsersListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#browsersListResponse".
+    "browsers": [ # Browser collection.
+      { # Contains information about a browser that can be targeted by ads.
+        "majorVersion": "A String", # Major version number (leftmost number) of this browser. For example, for Chrome 5.0.376.86 beta, this field should be set to 5. An asterisk (*) may be used to target any version number, and a question mark (?) may be used to target cases where the version number cannot be identified. For example, Chrome *.* targets any version of Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets cases where the ad server knows the browser is Firefox but can't tell which version it is.
+        "kind": "dfareporting#browser", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#browser".
+        "name": "A String", # Name of this browser.
+        "browserVersionId": "A String", # ID referring to this grouping of browser and version numbers. This is the ID used for targeting.
+        "dartId": "A String", # DART ID of this browser. This is the ID used when generating reports.
+        "minorVersion": "A String", # Minor version number (number after first dot on left) of this browser. For example, for Chrome 5.0.375.86 beta, this field should be set to 0. An asterisk (*) may be used to target any version number, and a question mark (?) may be used to target cases where the version number cannot be identified. For example, Chrome *.* targets any version of Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets cases where the ad server knows the browser is Firefox but can't tell which version it is.
+      },
+    ],
+  }
+
+ + \ No newline at end of file diff --git a/docs/dyn/dfareporting_v2_5.campaignCreativeAssociations.html b/docs/dyn/dfareporting_v2_5.campaignCreativeAssociations.html new file mode 100644 index 00000000000..f2b20e20372 --- /dev/null +++ b/docs/dyn/dfareporting_v2_5.campaignCreativeAssociations.html @@ -0,0 +1,155 @@ + + + +

DCM/DFA Reporting And Trafficking API . campaignCreativeAssociations

+

Instance Methods

+

+ insert(profileId, campaignId, body)

+

Associates a creative with the specified campaign. This method creates a default ad with dimensions matching the creative in the campaign if such a default ad does not exist already.

+

+ list(profileId, campaignId, maxResults=None, pageToken=None, sortOrder=None)

+

Retrieves the list of creative IDs associated with the specified campaign.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

Method Details

+
+ insert(profileId, campaignId, body) +
Associates a creative with the specified campaign. This method creates a default ad with dimensions matching the creative in the campaign if such a default ad does not exist already.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  campaignId: string, Campaign ID in this association. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Identifies a creative which has been associated with a given campaign.
+    "creativeId": "A String", # ID of the creative associated with the campaign. This is a required field.
+    "kind": "dfareporting#campaignCreativeAssociation", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#campaignCreativeAssociation".
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Identifies a creative which has been associated with a given campaign.
+      "creativeId": "A String", # ID of the creative associated with the campaign. This is a required field.
+      "kind": "dfareporting#campaignCreativeAssociation", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#campaignCreativeAssociation".
+    }
+
+ +
+ list(profileId, campaignId, maxResults=None, pageToken=None, sortOrder=None) +
Retrieves the list of creative IDs associated with the specified campaign.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  campaignId: string, Campaign ID in this association. (required)
+  maxResults: integer, Maximum number of results to return.
+  pageToken: string, Value of the nextPageToken from the previous result page.
+  sortOrder: string, Order of sorted results, default is ASCENDING.
+    Allowed values
+      ASCENDING - 
+      DESCENDING - 
+
+Returns:
+  An object of the form:
+
+    { # Campaign Creative Association List Response
+    "nextPageToken": "A String", # Pagination token to be used for the next list operation.
+    "campaignCreativeAssociations": [ # Campaign creative association collection
+      { # Identifies a creative which has been associated with a given campaign.
+          "creativeId": "A String", # ID of the creative associated with the campaign. This is a required field.
+          "kind": "dfareporting#campaignCreativeAssociation", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#campaignCreativeAssociation".
+        },
+    ],
+    "kind": "dfareporting#campaignCreativeAssociationsListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#campaignCreativeAssociationsListResponse".
+  }
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    
+
+ + \ No newline at end of file diff --git a/docs/dyn/dfareporting_v2_5.campaigns.html b/docs/dyn/dfareporting_v2_5.campaigns.html new file mode 100644 index 00000000000..84fa83d3983 --- /dev/null +++ b/docs/dyn/dfareporting_v2_5.campaigns.html @@ -0,0 +1,1139 @@ + + + +

DCM/DFA Reporting And Trafficking API . campaigns

+

Instance Methods

+

+ get(profileId, id)

+

Gets one campaign by ID.

+

+ insert(profileId, defaultLandingPageName, defaultLandingPageUrl, body)

+

Inserts a new campaign.

+

+ list(profileId, overriddenEventTagId=None, archived=None, advertiserIds=None, pageToken=None, sortOrder=None, maxResults=None, excludedIds=None, advertiserGroupIds=None, searchString=None, subaccountId=None, ids=None, sortField=None, atLeastOneOptimizationActivity=None)

+

Retrieves a list of campaigns, possibly filtered.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

+ patch(profileId, id, body)

+

Updates an existing campaign. This method supports patch semantics.

+

+ update(profileId, body)

+

Updates an existing campaign.

+

Method Details

+
+ get(profileId, id) +
Gets one campaign by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Campaign ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a DCM campaign.
+      "comment": "A String", # Arbitrary comments about this campaign. Must be less than 256 characters long.
+      "startDate": "A String", # Date on which the campaign starts running. The start date can be any date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error. This is a required field.
+      "endDate": "A String", # Date on which the campaign will stop running. On insert, the end date must be today or a future date. The end date must be later than or be the same as the start date. If, for example, you set 6/25/2015 as both the start and end dates, the effective campaign run date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error. This is a required field.
+      "clickThroughUrlSuffixProperties": { # Click Through URL Suffix settings. # Click-through URL suffix override properties for this campaign.
+        "clickThroughUrlSuffix": "A String", # Click-through URL suffix to apply to all ads in this entity's scope. Must be less than 128 characters long.
+        "overrideInheritedSuffix": True or False, # Whether this entity should override the inherited click-through URL suffix with its own defined value.
+      },
+      "advertiserId": "A String", # Advertiser ID of this campaign. This is a required field.
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the advertiser ID of this campaign. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "eventTagOverrides": [ # Overrides that can be used to activate or deactivate advertiser event tags.
+        { # Event tag override information.
+          "enabled": True or False, # Whether this override is enabled.
+          "id": "A String", # ID of this event tag override. This is a read-only, auto-generated field.
+        },
+      ],
+      "creativeOptimizationConfiguration": { # Creative optimization settings. # Creative optimization configuration for the campaign.
+        "optimizationActivitys": [ # List of optimization activities associated with this configuration.
+          { # Creative optimization activity.
+            "floodlightActivityId": "A String", # Floodlight activity ID of this optimization activity. This is a required field.
+            "floodlightActivityIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight activity. This is a read-only, auto-generated field.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+            "weight": 42, # Weight associated with this optimization. Must be greater than 1. The weight assigned will be understood in proportion to the weights assigned to the other optimization activities.
+          },
+        ],
+        "optimizationModel": "A String", # Optimization model for this configuration.
+        "id": "A String", # ID of this creative optimization config. This field is auto-generated when the campaign is inserted or updated. It can be null for existing campaigns.
+        "name": "A String", # Name of this creative optimization config. This is a required field and must be less than 129 characters long.
+      },
+      "id": "A String", # ID of this campaign. This is a read-only auto-generated field.
+      "accountId": "A String", # Account ID of this campaign. This is a read-only field that can be left blank.
+      "traffickerEmails": [ # Campaign trafficker contact emails.
+        "A String",
+      ],
+      "archived": True or False, # Whether this campaign has been archived.
+      "externalId": "A String", # External ID for this campaign.
+      "advertiserGroupId": "A String", # Advertiser group ID of the associated advertiser.
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this campaign. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "billingInvoiceCode": "A String", # Billing invoice code included in the DCM client billing invoices associated with the campaign.
+      "comscoreVceEnabled": True or False, # Whether comScore vCE reports are enabled for this campaign.
+      "creativeGroupIds": [ # List of creative group IDs that are assigned to the campaign.
+        "A String",
+      ],
+      "additionalCreativeOptimizationConfigurations": [ # Additional creative optimization configurations for the campaign.
+        { # Creative optimization settings.
+          "optimizationActivitys": [ # List of optimization activities associated with this configuration.
+            { # Creative optimization activity.
+              "floodlightActivityId": "A String", # Floodlight activity ID of this optimization activity. This is a required field.
+              "floodlightActivityIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight activity. This is a read-only, auto-generated field.
+                "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+                "value": "A String", # The value of the dimension.
+                "dimensionName": "A String", # The name of the dimension.
+                "etag": "A String", # The eTag of this response for caching purposes.
+                "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+                "id": "A String", # The ID associated with the value if available.
+              },
+              "weight": 42, # Weight associated with this optimization. Must be greater than 1. The weight assigned will be understood in proportion to the weights assigned to the other optimization activities.
+            },
+          ],
+          "optimizationModel": "A String", # Optimization model for this configuration.
+          "id": "A String", # ID of this creative optimization config. This field is auto-generated when the campaign is inserted or updated. It can be null for existing campaigns.
+          "name": "A String", # Name of this creative optimization config. This is a required field and must be less than 129 characters long.
+        },
+      ],
+      "createInfo": { # Modification timestamp. # Information about the creation of this campaign. This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "defaultClickThroughEventTagProperties": { # Properties of inheriting and overriding the default click-through event tag. A campaign may override the event tag defined at the advertiser level, and an ad may also override the campaign's setting further. # Click-through event tag ID override properties for this campaign.
+        "overrideInheritedEventTag": True or False, # Whether this entity should override the inherited default click-through event tag with its own defined value.
+        "defaultClickThroughEventTagId": "A String", # ID of the click-through event tag to apply to all ads in this entity's scope.
+      },
+      "kind": "dfareporting#campaign", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#campaign".
+      "subaccountId": "A String", # Subaccount ID of this campaign. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this campaign. This is a required field and must be less than 256 characters long and unique among campaigns of the same advertiser.
+      "lookbackConfiguration": { # Lookback configuration settings. # Lookback window settings for the campaign.
+        "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+        "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+      },
+      "nielsenOcrEnabled": True or False, # Whether Nielsen reports are enabled for this campaign.
+      "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this campaign. This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "audienceSegmentGroups": [ # Audience segment groups assigned to this campaign. Cannot have more than 300 segment groups.
+        { # Audience Segment Group.
+          "audienceSegments": [ # Audience segments assigned to this group. The number of segments must be between 2 and 100.
+            { # Audience Segment.
+              "allocation": 42, # Weight allocated to this segment. Must be between 1 and 1000. The weight assigned will be understood in proportion to the weights assigned to other segments in the same segment group.
+              "id": "A String", # ID of this audience segment. This is a read-only, auto-generated field.
+              "name": "A String", # Name of this audience segment. This is a required field and must be less than 65 characters long.
+            },
+          ],
+          "id": "A String", # ID of this audience segment group. This is a read-only, auto-generated field.
+          "name": "A String", # Name of this audience segment group. This is a required field and must be less than 65 characters long.
+        },
+      ],
+    }
+
+ +
+ insert(profileId, defaultLandingPageName, defaultLandingPageUrl, body) +
Inserts a new campaign.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  defaultLandingPageName: string, Default landing page name for this new campaign. Must be less than 256 characters long. (required)
+  defaultLandingPageUrl: string, Default landing page URL for this new campaign. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a DCM campaign.
+    "comment": "A String", # Arbitrary comments about this campaign. Must be less than 256 characters long.
+    "startDate": "A String", # Date on which the campaign starts running. The start date can be any date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error. This is a required field.
+    "endDate": "A String", # Date on which the campaign will stop running. On insert, the end date must be today or a future date. The end date must be later than or be the same as the start date. If, for example, you set 6/25/2015 as both the start and end dates, the effective campaign run date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error. This is a required field.
+    "clickThroughUrlSuffixProperties": { # Click Through URL Suffix settings. # Click-through URL suffix override properties for this campaign.
+      "clickThroughUrlSuffix": "A String", # Click-through URL suffix to apply to all ads in this entity's scope. Must be less than 128 characters long.
+      "overrideInheritedSuffix": True or False, # Whether this entity should override the inherited click-through URL suffix with its own defined value.
+    },
+    "advertiserId": "A String", # Advertiser ID of this campaign. This is a required field.
+    "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the advertiser ID of this campaign. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "eventTagOverrides": [ # Overrides that can be used to activate or deactivate advertiser event tags.
+      { # Event tag override information.
+        "enabled": True or False, # Whether this override is enabled.
+        "id": "A String", # ID of this event tag override. This is a read-only, auto-generated field.
+      },
+    ],
+    "creativeOptimizationConfiguration": { # Creative optimization settings. # Creative optimization configuration for the campaign.
+      "optimizationActivitys": [ # List of optimization activities associated with this configuration.
+        { # Creative optimization activity.
+          "floodlightActivityId": "A String", # Floodlight activity ID of this optimization activity. This is a required field.
+          "floodlightActivityIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight activity. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "weight": 42, # Weight associated with this optimization. Must be greater than 1. The weight assigned will be understood in proportion to the weights assigned to the other optimization activities.
+        },
+      ],
+      "optimizationModel": "A String", # Optimization model for this configuration.
+      "id": "A String", # ID of this creative optimization config. This field is auto-generated when the campaign is inserted or updated. It can be null for existing campaigns.
+      "name": "A String", # Name of this creative optimization config. This is a required field and must be less than 129 characters long.
+    },
+    "id": "A String", # ID of this campaign. This is a read-only auto-generated field.
+    "accountId": "A String", # Account ID of this campaign. This is a read-only field that can be left blank.
+    "traffickerEmails": [ # Campaign trafficker contact emails.
+      "A String",
+    ],
+    "archived": True or False, # Whether this campaign has been archived.
+    "externalId": "A String", # External ID for this campaign.
+    "advertiserGroupId": "A String", # Advertiser group ID of the associated advertiser.
+    "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this campaign. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "billingInvoiceCode": "A String", # Billing invoice code included in the DCM client billing invoices associated with the campaign.
+    "comscoreVceEnabled": True or False, # Whether comScore vCE reports are enabled for this campaign.
+    "creativeGroupIds": [ # List of creative group IDs that are assigned to the campaign.
+      "A String",
+    ],
+    "additionalCreativeOptimizationConfigurations": [ # Additional creative optimization configurations for the campaign.
+      { # Creative optimization settings.
+        "optimizationActivitys": [ # List of optimization activities associated with this configuration.
+          { # Creative optimization activity.
+            "floodlightActivityId": "A String", # Floodlight activity ID of this optimization activity. This is a required field.
+            "floodlightActivityIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight activity. This is a read-only, auto-generated field.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+            "weight": 42, # Weight associated with this optimization. Must be greater than 1. The weight assigned will be understood in proportion to the weights assigned to the other optimization activities.
+          },
+        ],
+        "optimizationModel": "A String", # Optimization model for this configuration.
+        "id": "A String", # ID of this creative optimization config. This field is auto-generated when the campaign is inserted or updated. It can be null for existing campaigns.
+        "name": "A String", # Name of this creative optimization config. This is a required field and must be less than 129 characters long.
+      },
+    ],
+    "createInfo": { # Modification timestamp. # Information about the creation of this campaign. This is a read-only field.
+      "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+    },
+    "defaultClickThroughEventTagProperties": { # Properties of inheriting and overriding the default click-through event tag. A campaign may override the event tag defined at the advertiser level, and an ad may also override the campaign's setting further. # Click-through event tag ID override properties for this campaign.
+      "overrideInheritedEventTag": True or False, # Whether this entity should override the inherited default click-through event tag with its own defined value.
+      "defaultClickThroughEventTagId": "A String", # ID of the click-through event tag to apply to all ads in this entity's scope.
+    },
+    "kind": "dfareporting#campaign", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#campaign".
+    "subaccountId": "A String", # Subaccount ID of this campaign. This is a read-only field that can be left blank.
+    "name": "A String", # Name of this campaign. This is a required field and must be less than 256 characters long and unique among campaigns of the same advertiser.
+    "lookbackConfiguration": { # Lookback configuration settings. # Lookback window settings for the campaign.
+      "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+      "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+    },
+    "nielsenOcrEnabled": True or False, # Whether Nielsen reports are enabled for this campaign.
+    "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this campaign. This is a read-only field.
+      "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+    },
+    "audienceSegmentGroups": [ # Audience segment groups assigned to this campaign. Cannot have more than 300 segment groups.
+      { # Audience Segment Group.
+        "audienceSegments": [ # Audience segments assigned to this group. The number of segments must be between 2 and 100.
+          { # Audience Segment.
+            "allocation": 42, # Weight allocated to this segment. Must be between 1 and 1000. The weight assigned will be understood in proportion to the weights assigned to other segments in the same segment group.
+            "id": "A String", # ID of this audience segment. This is a read-only, auto-generated field.
+            "name": "A String", # Name of this audience segment. This is a required field and must be less than 65 characters long.
+          },
+        ],
+        "id": "A String", # ID of this audience segment group. This is a read-only, auto-generated field.
+        "name": "A String", # Name of this audience segment group. This is a required field and must be less than 65 characters long.
+      },
+    ],
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a DCM campaign.
+      "comment": "A String", # Arbitrary comments about this campaign. Must be less than 256 characters long.
+      "startDate": "A String", # Date on which the campaign starts running. The start date can be any date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error. This is a required field.
+      "endDate": "A String", # Date on which the campaign will stop running. On insert, the end date must be today or a future date. The end date must be later than or be the same as the start date. If, for example, you set 6/25/2015 as both the start and end dates, the effective campaign run date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error. This is a required field.
+      "clickThroughUrlSuffixProperties": { # Click Through URL Suffix settings. # Click-through URL suffix override properties for this campaign.
+        "clickThroughUrlSuffix": "A String", # Click-through URL suffix to apply to all ads in this entity's scope. Must be less than 128 characters long.
+        "overrideInheritedSuffix": True or False, # Whether this entity should override the inherited click-through URL suffix with its own defined value.
+      },
+      "advertiserId": "A String", # Advertiser ID of this campaign. This is a required field.
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the advertiser ID of this campaign. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "eventTagOverrides": [ # Overrides that can be used to activate or deactivate advertiser event tags.
+        { # Event tag override information.
+          "enabled": True or False, # Whether this override is enabled.
+          "id": "A String", # ID of this event tag override. This is a read-only, auto-generated field.
+        },
+      ],
+      "creativeOptimizationConfiguration": { # Creative optimization settings. # Creative optimization configuration for the campaign.
+        "optimizationActivitys": [ # List of optimization activities associated with this configuration.
+          { # Creative optimization activity.
+            "floodlightActivityId": "A String", # Floodlight activity ID of this optimization activity. This is a required field.
+            "floodlightActivityIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight activity. This is a read-only, auto-generated field.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+            "weight": 42, # Weight associated with this optimization. Must be greater than 1. The weight assigned will be understood in proportion to the weights assigned to the other optimization activities.
+          },
+        ],
+        "optimizationModel": "A String", # Optimization model for this configuration.
+        "id": "A String", # ID of this creative optimization config. This field is auto-generated when the campaign is inserted or updated. It can be null for existing campaigns.
+        "name": "A String", # Name of this creative optimization config. This is a required field and must be less than 129 characters long.
+      },
+      "id": "A String", # ID of this campaign. This is a read-only auto-generated field.
+      "accountId": "A String", # Account ID of this campaign. This is a read-only field that can be left blank.
+      "traffickerEmails": [ # Campaign trafficker contact emails.
+        "A String",
+      ],
+      "archived": True or False, # Whether this campaign has been archived.
+      "externalId": "A String", # External ID for this campaign.
+      "advertiserGroupId": "A String", # Advertiser group ID of the associated advertiser.
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this campaign. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "billingInvoiceCode": "A String", # Billing invoice code included in the DCM client billing invoices associated with the campaign.
+      "comscoreVceEnabled": True or False, # Whether comScore vCE reports are enabled for this campaign.
+      "creativeGroupIds": [ # List of creative group IDs that are assigned to the campaign.
+        "A String",
+      ],
+      "additionalCreativeOptimizationConfigurations": [ # Additional creative optimization configurations for the campaign.
+        { # Creative optimization settings.
+          "optimizationActivitys": [ # List of optimization activities associated with this configuration.
+            { # Creative optimization activity.
+              "floodlightActivityId": "A String", # Floodlight activity ID of this optimization activity. This is a required field.
+              "floodlightActivityIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight activity. This is a read-only, auto-generated field.
+                "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+                "value": "A String", # The value of the dimension.
+                "dimensionName": "A String", # The name of the dimension.
+                "etag": "A String", # The eTag of this response for caching purposes.
+                "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+                "id": "A String", # The ID associated with the value if available.
+              },
+              "weight": 42, # Weight associated with this optimization. Must be greater than 1. The weight assigned will be understood in proportion to the weights assigned to the other optimization activities.
+            },
+          ],
+          "optimizationModel": "A String", # Optimization model for this configuration.
+          "id": "A String", # ID of this creative optimization config. This field is auto-generated when the campaign is inserted or updated. It can be null for existing campaigns.
+          "name": "A String", # Name of this creative optimization config. This is a required field and must be less than 129 characters long.
+        },
+      ],
+      "createInfo": { # Modification timestamp. # Information about the creation of this campaign. This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "defaultClickThroughEventTagProperties": { # Properties of inheriting and overriding the default click-through event tag. A campaign may override the event tag defined at the advertiser level, and an ad may also override the campaign's setting further. # Click-through event tag ID override properties for this campaign.
+        "overrideInheritedEventTag": True or False, # Whether this entity should override the inherited default click-through event tag with its own defined value.
+        "defaultClickThroughEventTagId": "A String", # ID of the click-through event tag to apply to all ads in this entity's scope.
+      },
+      "kind": "dfareporting#campaign", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#campaign".
+      "subaccountId": "A String", # Subaccount ID of this campaign. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this campaign. This is a required field and must be less than 256 characters long and unique among campaigns of the same advertiser.
+      "lookbackConfiguration": { # Lookback configuration settings. # Lookback window settings for the campaign.
+        "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+        "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+      },
+      "nielsenOcrEnabled": True or False, # Whether Nielsen reports are enabled for this campaign.
+      "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this campaign. This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "audienceSegmentGroups": [ # Audience segment groups assigned to this campaign. Cannot have more than 300 segment groups.
+        { # Audience Segment Group.
+          "audienceSegments": [ # Audience segments assigned to this group. The number of segments must be between 2 and 100.
+            { # Audience Segment.
+              "allocation": 42, # Weight allocated to this segment. Must be between 1 and 1000. The weight assigned will be understood in proportion to the weights assigned to other segments in the same segment group.
+              "id": "A String", # ID of this audience segment. This is a read-only, auto-generated field.
+              "name": "A String", # Name of this audience segment. This is a required field and must be less than 65 characters long.
+            },
+          ],
+          "id": "A String", # ID of this audience segment group. This is a read-only, auto-generated field.
+          "name": "A String", # Name of this audience segment group. This is a required field and must be less than 65 characters long.
+        },
+      ],
+    }
+
+ +
+ list(profileId, overriddenEventTagId=None, archived=None, advertiserIds=None, pageToken=None, sortOrder=None, maxResults=None, excludedIds=None, advertiserGroupIds=None, searchString=None, subaccountId=None, ids=None, sortField=None, atLeastOneOptimizationActivity=None) +
Retrieves a list of campaigns, possibly filtered.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  overriddenEventTagId: string, Select only campaigns that have overridden this event tag ID.
+  archived: boolean, Select only archived campaigns. Don't set this field to select both archived and non-archived campaigns.
+  advertiserIds: string, Select only campaigns that belong to these advertisers. (repeated)
+  pageToken: string, Value of the nextPageToken from the previous result page.
+  sortOrder: string, Order of sorted results, default is ASCENDING.
+    Allowed values
+      ASCENDING - 
+      DESCENDING - 
+  maxResults: integer, Maximum number of results to return.
+  excludedIds: string, Exclude campaigns with these IDs. (repeated)
+  advertiserGroupIds: string, Select only campaigns whose advertisers belong to these advertiser groups. (repeated)
+  searchString: string, Allows searching for campaigns by name or ID. Wildcards (*) are allowed. For example, "campaign*2015" will return campaigns with names like "campaign June 2015", "campaign April 2015", or simply "campaign 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "campaign" will match campaigns with name "my campaign", "campaign 2015", or simply "campaign".
+  subaccountId: string, Select only campaigns that belong to this subaccount.
+  ids: string, Select only campaigns with these IDs. (repeated)
+  sortField: string, Field by which to sort the list.
+    Allowed values
+      ID - 
+      NAME - 
+  atLeastOneOptimizationActivity: boolean, Select only campaigns that have at least one optimization activity.
+
+Returns:
+  An object of the form:
+
+    { # Campaign List Response
+    "campaigns": [ # Campaign collection.
+      { # Contains properties of a DCM campaign.
+          "comment": "A String", # Arbitrary comments about this campaign. Must be less than 256 characters long.
+          "startDate": "A String", # Date on which the campaign starts running. The start date can be any date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error. This is a required field.
+          "endDate": "A String", # Date on which the campaign will stop running. On insert, the end date must be today or a future date. The end date must be later than or be the same as the start date. If, for example, you set 6/25/2015 as both the start and end dates, the effective campaign run date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error. This is a required field.
+          "clickThroughUrlSuffixProperties": { # Click Through URL Suffix settings. # Click-through URL suffix override properties for this campaign.
+            "clickThroughUrlSuffix": "A String", # Click-through URL suffix to apply to all ads in this entity's scope. Must be less than 128 characters long.
+            "overrideInheritedSuffix": True or False, # Whether this entity should override the inherited click-through URL suffix with its own defined value.
+          },
+          "advertiserId": "A String", # Advertiser ID of this campaign. This is a required field.
+          "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the advertiser ID of this campaign. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "eventTagOverrides": [ # Overrides that can be used to activate or deactivate advertiser event tags.
+            { # Event tag override information.
+              "enabled": True or False, # Whether this override is enabled.
+              "id": "A String", # ID of this event tag override. This is a read-only, auto-generated field.
+            },
+          ],
+          "creativeOptimizationConfiguration": { # Creative optimization settings. # Creative optimization configuration for the campaign.
+            "optimizationActivitys": [ # List of optimization activities associated with this configuration.
+              { # Creative optimization activity.
+                "floodlightActivityId": "A String", # Floodlight activity ID of this optimization activity. This is a required field.
+                "floodlightActivityIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight activity. This is a read-only, auto-generated field.
+                  "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+                  "value": "A String", # The value of the dimension.
+                  "dimensionName": "A String", # The name of the dimension.
+                  "etag": "A String", # The eTag of this response for caching purposes.
+                  "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+                  "id": "A String", # The ID associated with the value if available.
+                },
+                "weight": 42, # Weight associated with this optimization. Must be greater than 1. The weight assigned will be understood in proportion to the weights assigned to the other optimization activities.
+              },
+            ],
+            "optimizationModel": "A String", # Optimization model for this configuration.
+            "id": "A String", # ID of this creative optimization config. This field is auto-generated when the campaign is inserted or updated. It can be null for existing campaigns.
+            "name": "A String", # Name of this creative optimization config. This is a required field and must be less than 129 characters long.
+          },
+          "id": "A String", # ID of this campaign. This is a read-only auto-generated field.
+          "accountId": "A String", # Account ID of this campaign. This is a read-only field that can be left blank.
+          "traffickerEmails": [ # Campaign trafficker contact emails.
+            "A String",
+          ],
+          "archived": True or False, # Whether this campaign has been archived.
+          "externalId": "A String", # External ID for this campaign.
+          "advertiserGroupId": "A String", # Advertiser group ID of the associated advertiser.
+          "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this campaign. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "billingInvoiceCode": "A String", # Billing invoice code included in the DCM client billing invoices associated with the campaign.
+          "comscoreVceEnabled": True or False, # Whether comScore vCE reports are enabled for this campaign.
+          "creativeGroupIds": [ # List of creative group IDs that are assigned to the campaign.
+            "A String",
+          ],
+          "additionalCreativeOptimizationConfigurations": [ # Additional creative optimization configurations for the campaign.
+            { # Creative optimization settings.
+              "optimizationActivitys": [ # List of optimization activities associated with this configuration.
+                { # Creative optimization activity.
+                  "floodlightActivityId": "A String", # Floodlight activity ID of this optimization activity. This is a required field.
+                  "floodlightActivityIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight activity. This is a read-only, auto-generated field.
+                    "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+                    "value": "A String", # The value of the dimension.
+                    "dimensionName": "A String", # The name of the dimension.
+                    "etag": "A String", # The eTag of this response for caching purposes.
+                    "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+                    "id": "A String", # The ID associated with the value if available.
+                  },
+                  "weight": 42, # Weight associated with this optimization. Must be greater than 1. The weight assigned will be understood in proportion to the weights assigned to the other optimization activities.
+                },
+              ],
+              "optimizationModel": "A String", # Optimization model for this configuration.
+              "id": "A String", # ID of this creative optimization config. This field is auto-generated when the campaign is inserted or updated. It can be null for existing campaigns.
+              "name": "A String", # Name of this creative optimization config. This is a required field and must be less than 129 characters long.
+            },
+          ],
+          "createInfo": { # Modification timestamp. # Information about the creation of this campaign. This is a read-only field.
+            "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+          },
+          "defaultClickThroughEventTagProperties": { # Properties of inheriting and overriding the default click-through event tag. A campaign may override the event tag defined at the advertiser level, and an ad may also override the campaign's setting further. # Click-through event tag ID override properties for this campaign.
+            "overrideInheritedEventTag": True or False, # Whether this entity should override the inherited default click-through event tag with its own defined value.
+            "defaultClickThroughEventTagId": "A String", # ID of the click-through event tag to apply to all ads in this entity's scope.
+          },
+          "kind": "dfareporting#campaign", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#campaign".
+          "subaccountId": "A String", # Subaccount ID of this campaign. This is a read-only field that can be left blank.
+          "name": "A String", # Name of this campaign. This is a required field and must be less than 256 characters long and unique among campaigns of the same advertiser.
+          "lookbackConfiguration": { # Lookback configuration settings. # Lookback window settings for the campaign.
+            "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+            "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+          },
+          "nielsenOcrEnabled": True or False, # Whether Nielsen reports are enabled for this campaign.
+          "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this campaign. This is a read-only field.
+            "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+          },
+          "audienceSegmentGroups": [ # Audience segment groups assigned to this campaign. Cannot have more than 300 segment groups.
+            { # Audience Segment Group.
+              "audienceSegments": [ # Audience segments assigned to this group. The number of segments must be between 2 and 100.
+                { # Audience Segment.
+                  "allocation": 42, # Weight allocated to this segment. Must be between 1 and 1000. The weight assigned will be understood in proportion to the weights assigned to other segments in the same segment group.
+                  "id": "A String", # ID of this audience segment. This is a read-only, auto-generated field.
+                  "name": "A String", # Name of this audience segment. This is a required field and must be less than 65 characters long.
+                },
+              ],
+              "id": "A String", # ID of this audience segment group. This is a read-only, auto-generated field.
+              "name": "A String", # Name of this audience segment group. This is a required field and must be less than 65 characters long.
+            },
+          ],
+        },
+    ],
+    "nextPageToken": "A String", # Pagination token to be used for the next list operation.
+    "kind": "dfareporting#campaignsListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#campaignsListResponse".
+  }
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    
+
+ +
+ patch(profileId, id, body) +
Updates an existing campaign. This method supports patch semantics.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Campaign ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a DCM campaign.
+    "comment": "A String", # Arbitrary comments about this campaign. Must be less than 256 characters long.
+    "startDate": "A String", # Date on which the campaign starts running. The start date can be any date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error. This is a required field.
+    "endDate": "A String", # Date on which the campaign will stop running. On insert, the end date must be today or a future date. The end date must be later than or be the same as the start date. If, for example, you set 6/25/2015 as both the start and end dates, the effective campaign run date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error. This is a required field.
+    "clickThroughUrlSuffixProperties": { # Click Through URL Suffix settings. # Click-through URL suffix override properties for this campaign.
+      "clickThroughUrlSuffix": "A String", # Click-through URL suffix to apply to all ads in this entity's scope. Must be less than 128 characters long.
+      "overrideInheritedSuffix": True or False, # Whether this entity should override the inherited click-through URL suffix with its own defined value.
+    },
+    "advertiserId": "A String", # Advertiser ID of this campaign. This is a required field.
+    "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the advertiser ID of this campaign. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "eventTagOverrides": [ # Overrides that can be used to activate or deactivate advertiser event tags.
+      { # Event tag override information.
+        "enabled": True or False, # Whether this override is enabled.
+        "id": "A String", # ID of this event tag override. This is a read-only, auto-generated field.
+      },
+    ],
+    "creativeOptimizationConfiguration": { # Creative optimization settings. # Creative optimization configuration for the campaign.
+      "optimizationActivitys": [ # List of optimization activities associated with this configuration.
+        { # Creative optimization activity.
+          "floodlightActivityId": "A String", # Floodlight activity ID of this optimization activity. This is a required field.
+          "floodlightActivityIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight activity. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "weight": 42, # Weight associated with this optimization. Must be greater than 1. The weight assigned will be understood in proportion to the weights assigned to the other optimization activities.
+        },
+      ],
+      "optimizationModel": "A String", # Optimization model for this configuration.
+      "id": "A String", # ID of this creative optimization config. This field is auto-generated when the campaign is inserted or updated. It can be null for existing campaigns.
+      "name": "A String", # Name of this creative optimization config. This is a required field and must be less than 129 characters long.
+    },
+    "id": "A String", # ID of this campaign. This is a read-only auto-generated field.
+    "accountId": "A String", # Account ID of this campaign. This is a read-only field that can be left blank.
+    "traffickerEmails": [ # Campaign trafficker contact emails.
+      "A String",
+    ],
+    "archived": True or False, # Whether this campaign has been archived.
+    "externalId": "A String", # External ID for this campaign.
+    "advertiserGroupId": "A String", # Advertiser group ID of the associated advertiser.
+    "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this campaign. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "billingInvoiceCode": "A String", # Billing invoice code included in the DCM client billing invoices associated with the campaign.
+    "comscoreVceEnabled": True or False, # Whether comScore vCE reports are enabled for this campaign.
+    "creativeGroupIds": [ # List of creative group IDs that are assigned to the campaign.
+      "A String",
+    ],
+    "additionalCreativeOptimizationConfigurations": [ # Additional creative optimization configurations for the campaign.
+      { # Creative optimization settings.
+        "optimizationActivitys": [ # List of optimization activities associated with this configuration.
+          { # Creative optimization activity.
+            "floodlightActivityId": "A String", # Floodlight activity ID of this optimization activity. This is a required field.
+            "floodlightActivityIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight activity. This is a read-only, auto-generated field.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+            "weight": 42, # Weight associated with this optimization. Must be greater than 1. The weight assigned will be understood in proportion to the weights assigned to the other optimization activities.
+          },
+        ],
+        "optimizationModel": "A String", # Optimization model for this configuration.
+        "id": "A String", # ID of this creative optimization config. This field is auto-generated when the campaign is inserted or updated. It can be null for existing campaigns.
+        "name": "A String", # Name of this creative optimization config. This is a required field and must be less than 129 characters long.
+      },
+    ],
+    "createInfo": { # Modification timestamp. # Information about the creation of this campaign. This is a read-only field.
+      "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+    },
+    "defaultClickThroughEventTagProperties": { # Properties of inheriting and overriding the default click-through event tag. A campaign may override the event tag defined at the advertiser level, and an ad may also override the campaign's setting further. # Click-through event tag ID override properties for this campaign.
+      "overrideInheritedEventTag": True or False, # Whether this entity should override the inherited default click-through event tag with its own defined value.
+      "defaultClickThroughEventTagId": "A String", # ID of the click-through event tag to apply to all ads in this entity's scope.
+    },
+    "kind": "dfareporting#campaign", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#campaign".
+    "subaccountId": "A String", # Subaccount ID of this campaign. This is a read-only field that can be left blank.
+    "name": "A String", # Name of this campaign. This is a required field and must be less than 256 characters long and unique among campaigns of the same advertiser.
+    "lookbackConfiguration": { # Lookback configuration settings. # Lookback window settings for the campaign.
+      "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+      "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+    },
+    "nielsenOcrEnabled": True or False, # Whether Nielsen reports are enabled for this campaign.
+    "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this campaign. This is a read-only field.
+      "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+    },
+    "audienceSegmentGroups": [ # Audience segment groups assigned to this campaign. Cannot have more than 300 segment groups.
+      { # Audience Segment Group.
+        "audienceSegments": [ # Audience segments assigned to this group. The number of segments must be between 2 and 100.
+          { # Audience Segment.
+            "allocation": 42, # Weight allocated to this segment. Must be between 1 and 1000. The weight assigned will be understood in proportion to the weights assigned to other segments in the same segment group.
+            "id": "A String", # ID of this audience segment. This is a read-only, auto-generated field.
+            "name": "A String", # Name of this audience segment. This is a required field and must be less than 65 characters long.
+          },
+        ],
+        "id": "A String", # ID of this audience segment group. This is a read-only, auto-generated field.
+        "name": "A String", # Name of this audience segment group. This is a required field and must be less than 65 characters long.
+      },
+    ],
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a DCM campaign.
+      "comment": "A String", # Arbitrary comments about this campaign. Must be less than 256 characters long.
+      "startDate": "A String", # Date on which the campaign starts running. The start date can be any date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error. This is a required field.
+      "endDate": "A String", # Date on which the campaign will stop running. On insert, the end date must be today or a future date. The end date must be later than or be the same as the start date. If, for example, you set 6/25/2015 as both the start and end dates, the effective campaign run date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error. This is a required field.
+      "clickThroughUrlSuffixProperties": { # Click Through URL Suffix settings. # Click-through URL suffix override properties for this campaign.
+        "clickThroughUrlSuffix": "A String", # Click-through URL suffix to apply to all ads in this entity's scope. Must be less than 128 characters long.
+        "overrideInheritedSuffix": True or False, # Whether this entity should override the inherited click-through URL suffix with its own defined value.
+      },
+      "advertiserId": "A String", # Advertiser ID of this campaign. This is a required field.
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the advertiser ID of this campaign. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "eventTagOverrides": [ # Overrides that can be used to activate or deactivate advertiser event tags.
+        { # Event tag override information.
+          "enabled": True or False, # Whether this override is enabled.
+          "id": "A String", # ID of this event tag override. This is a read-only, auto-generated field.
+        },
+      ],
+      "creativeOptimizationConfiguration": { # Creative optimization settings. # Creative optimization configuration for the campaign.
+        "optimizationActivitys": [ # List of optimization activities associated with this configuration.
+          { # Creative optimization activity.
+            "floodlightActivityId": "A String", # Floodlight activity ID of this optimization activity. This is a required field.
+            "floodlightActivityIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight activity. This is a read-only, auto-generated field.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+            "weight": 42, # Weight associated with this optimization. Must be greater than 1. The weight assigned will be understood in proportion to the weights assigned to the other optimization activities.
+          },
+        ],
+        "optimizationModel": "A String", # Optimization model for this configuration.
+        "id": "A String", # ID of this creative optimization config. This field is auto-generated when the campaign is inserted or updated. It can be null for existing campaigns.
+        "name": "A String", # Name of this creative optimization config. This is a required field and must be less than 129 characters long.
+      },
+      "id": "A String", # ID of this campaign. This is a read-only auto-generated field.
+      "accountId": "A String", # Account ID of this campaign. This is a read-only field that can be left blank.
+      "traffickerEmails": [ # Campaign trafficker contact emails.
+        "A String",
+      ],
+      "archived": True or False, # Whether this campaign has been archived.
+      "externalId": "A String", # External ID for this campaign.
+      "advertiserGroupId": "A String", # Advertiser group ID of the associated advertiser.
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this campaign. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "billingInvoiceCode": "A String", # Billing invoice code included in the DCM client billing invoices associated with the campaign.
+      "comscoreVceEnabled": True or False, # Whether comScore vCE reports are enabled for this campaign.
+      "creativeGroupIds": [ # List of creative group IDs that are assigned to the campaign.
+        "A String",
+      ],
+      "additionalCreativeOptimizationConfigurations": [ # Additional creative optimization configurations for the campaign.
+        { # Creative optimization settings.
+          "optimizationActivitys": [ # List of optimization activities associated with this configuration.
+            { # Creative optimization activity.
+              "floodlightActivityId": "A String", # Floodlight activity ID of this optimization activity. This is a required field.
+              "floodlightActivityIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight activity. This is a read-only, auto-generated field.
+                "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+                "value": "A String", # The value of the dimension.
+                "dimensionName": "A String", # The name of the dimension.
+                "etag": "A String", # The eTag of this response for caching purposes.
+                "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+                "id": "A String", # The ID associated with the value if available.
+              },
+              "weight": 42, # Weight associated with this optimization. Must be greater than 1. The weight assigned will be understood in proportion to the weights assigned to the other optimization activities.
+            },
+          ],
+          "optimizationModel": "A String", # Optimization model for this configuration.
+          "id": "A String", # ID of this creative optimization config. This field is auto-generated when the campaign is inserted or updated. It can be null for existing campaigns.
+          "name": "A String", # Name of this creative optimization config. This is a required field and must be less than 129 characters long.
+        },
+      ],
+      "createInfo": { # Modification timestamp. # Information about the creation of this campaign. This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "defaultClickThroughEventTagProperties": { # Properties of inheriting and overriding the default click-through event tag. A campaign may override the event tag defined at the advertiser level, and an ad may also override the campaign's setting further. # Click-through event tag ID override properties for this campaign.
+        "overrideInheritedEventTag": True or False, # Whether this entity should override the inherited default click-through event tag with its own defined value.
+        "defaultClickThroughEventTagId": "A String", # ID of the click-through event tag to apply to all ads in this entity's scope.
+      },
+      "kind": "dfareporting#campaign", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#campaign".
+      "subaccountId": "A String", # Subaccount ID of this campaign. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this campaign. This is a required field and must be less than 256 characters long and unique among campaigns of the same advertiser.
+      "lookbackConfiguration": { # Lookback configuration settings. # Lookback window settings for the campaign.
+        "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+        "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+      },
+      "nielsenOcrEnabled": True or False, # Whether Nielsen reports are enabled for this campaign.
+      "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this campaign. This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "audienceSegmentGroups": [ # Audience segment groups assigned to this campaign. Cannot have more than 300 segment groups.
+        { # Audience Segment Group.
+          "audienceSegments": [ # Audience segments assigned to this group. The number of segments must be between 2 and 100.
+            { # Audience Segment.
+              "allocation": 42, # Weight allocated to this segment. Must be between 1 and 1000. The weight assigned will be understood in proportion to the weights assigned to other segments in the same segment group.
+              "id": "A String", # ID of this audience segment. This is a read-only, auto-generated field.
+              "name": "A String", # Name of this audience segment. This is a required field and must be less than 65 characters long.
+            },
+          ],
+          "id": "A String", # ID of this audience segment group. This is a read-only, auto-generated field.
+          "name": "A String", # Name of this audience segment group. This is a required field and must be less than 65 characters long.
+        },
+      ],
+    }
+
+ +
+ update(profileId, body) +
Updates an existing campaign.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a DCM campaign.
+    "comment": "A String", # Arbitrary comments about this campaign. Must be less than 256 characters long.
+    "startDate": "A String", # Date on which the campaign starts running. The start date can be any date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error. This is a required field.
+    "endDate": "A String", # Date on which the campaign will stop running. On insert, the end date must be today or a future date. The end date must be later than or be the same as the start date. If, for example, you set 6/25/2015 as both the start and end dates, the effective campaign run date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error. This is a required field.
+    "clickThroughUrlSuffixProperties": { # Click Through URL Suffix settings. # Click-through URL suffix override properties for this campaign.
+      "clickThroughUrlSuffix": "A String", # Click-through URL suffix to apply to all ads in this entity's scope. Must be less than 128 characters long.
+      "overrideInheritedSuffix": True or False, # Whether this entity should override the inherited click-through URL suffix with its own defined value.
+    },
+    "advertiserId": "A String", # Advertiser ID of this campaign. This is a required field.
+    "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the advertiser ID of this campaign. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "eventTagOverrides": [ # Overrides that can be used to activate or deactivate advertiser event tags.
+      { # Event tag override information.
+        "enabled": True or False, # Whether this override is enabled.
+        "id": "A String", # ID of this event tag override. This is a read-only, auto-generated field.
+      },
+    ],
+    "creativeOptimizationConfiguration": { # Creative optimization settings. # Creative optimization configuration for the campaign.
+      "optimizationActivitys": [ # List of optimization activities associated with this configuration.
+        { # Creative optimization activity.
+          "floodlightActivityId": "A String", # Floodlight activity ID of this optimization activity. This is a required field.
+          "floodlightActivityIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight activity. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "weight": 42, # Weight associated with this optimization. Must be greater than 1. The weight assigned will be understood in proportion to the weights assigned to the other optimization activities.
+        },
+      ],
+      "optimizationModel": "A String", # Optimization model for this configuration.
+      "id": "A String", # ID of this creative optimization config. This field is auto-generated when the campaign is inserted or updated. It can be null for existing campaigns.
+      "name": "A String", # Name of this creative optimization config. This is a required field and must be less than 129 characters long.
+    },
+    "id": "A String", # ID of this campaign. This is a read-only auto-generated field.
+    "accountId": "A String", # Account ID of this campaign. This is a read-only field that can be left blank.
+    "traffickerEmails": [ # Campaign trafficker contact emails.
+      "A String",
+    ],
+    "archived": True or False, # Whether this campaign has been archived.
+    "externalId": "A String", # External ID for this campaign.
+    "advertiserGroupId": "A String", # Advertiser group ID of the associated advertiser.
+    "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this campaign. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "billingInvoiceCode": "A String", # Billing invoice code included in the DCM client billing invoices associated with the campaign.
+    "comscoreVceEnabled": True or False, # Whether comScore vCE reports are enabled for this campaign.
+    "creativeGroupIds": [ # List of creative group IDs that are assigned to the campaign.
+      "A String",
+    ],
+    "additionalCreativeOptimizationConfigurations": [ # Additional creative optimization configurations for the campaign.
+      { # Creative optimization settings.
+        "optimizationActivitys": [ # List of optimization activities associated with this configuration.
+          { # Creative optimization activity.
+            "floodlightActivityId": "A String", # Floodlight activity ID of this optimization activity. This is a required field.
+            "floodlightActivityIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight activity. This is a read-only, auto-generated field.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+            "weight": 42, # Weight associated with this optimization. Must be greater than 1. The weight assigned will be understood in proportion to the weights assigned to the other optimization activities.
+          },
+        ],
+        "optimizationModel": "A String", # Optimization model for this configuration.
+        "id": "A String", # ID of this creative optimization config. This field is auto-generated when the campaign is inserted or updated. It can be null for existing campaigns.
+        "name": "A String", # Name of this creative optimization config. This is a required field and must be less than 129 characters long.
+      },
+    ],
+    "createInfo": { # Modification timestamp. # Information about the creation of this campaign. This is a read-only field.
+      "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+    },
+    "defaultClickThroughEventTagProperties": { # Properties of inheriting and overriding the default click-through event tag. A campaign may override the event tag defined at the advertiser level, and an ad may also override the campaign's setting further. # Click-through event tag ID override properties for this campaign.
+      "overrideInheritedEventTag": True or False, # Whether this entity should override the inherited default click-through event tag with its own defined value.
+      "defaultClickThroughEventTagId": "A String", # ID of the click-through event tag to apply to all ads in this entity's scope.
+    },
+    "kind": "dfareporting#campaign", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#campaign".
+    "subaccountId": "A String", # Subaccount ID of this campaign. This is a read-only field that can be left blank.
+    "name": "A String", # Name of this campaign. This is a required field and must be less than 256 characters long and unique among campaigns of the same advertiser.
+    "lookbackConfiguration": { # Lookback configuration settings. # Lookback window settings for the campaign.
+      "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+      "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+    },
+    "nielsenOcrEnabled": True or False, # Whether Nielsen reports are enabled for this campaign.
+    "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this campaign. This is a read-only field.
+      "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+    },
+    "audienceSegmentGroups": [ # Audience segment groups assigned to this campaign. Cannot have more than 300 segment groups.
+      { # Audience Segment Group.
+        "audienceSegments": [ # Audience segments assigned to this group. The number of segments must be between 2 and 100.
+          { # Audience Segment.
+            "allocation": 42, # Weight allocated to this segment. Must be between 1 and 1000. The weight assigned will be understood in proportion to the weights assigned to other segments in the same segment group.
+            "id": "A String", # ID of this audience segment. This is a read-only, auto-generated field.
+            "name": "A String", # Name of this audience segment. This is a required field and must be less than 65 characters long.
+          },
+        ],
+        "id": "A String", # ID of this audience segment group. This is a read-only, auto-generated field.
+        "name": "A String", # Name of this audience segment group. This is a required field and must be less than 65 characters long.
+      },
+    ],
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a DCM campaign.
+      "comment": "A String", # Arbitrary comments about this campaign. Must be less than 256 characters long.
+      "startDate": "A String", # Date on which the campaign starts running. The start date can be any date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error. This is a required field.
+      "endDate": "A String", # Date on which the campaign will stop running. On insert, the end date must be today or a future date. The end date must be later than or be the same as the start date. If, for example, you set 6/25/2015 as both the start and end dates, the effective campaign run date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error. This is a required field.
+      "clickThroughUrlSuffixProperties": { # Click Through URL Suffix settings. # Click-through URL suffix override properties for this campaign.
+        "clickThroughUrlSuffix": "A String", # Click-through URL suffix to apply to all ads in this entity's scope. Must be less than 128 characters long.
+        "overrideInheritedSuffix": True or False, # Whether this entity should override the inherited click-through URL suffix with its own defined value.
+      },
+      "advertiserId": "A String", # Advertiser ID of this campaign. This is a required field.
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the advertiser ID of this campaign. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "eventTagOverrides": [ # Overrides that can be used to activate or deactivate advertiser event tags.
+        { # Event tag override information.
+          "enabled": True or False, # Whether this override is enabled.
+          "id": "A String", # ID of this event tag override. This is a read-only, auto-generated field.
+        },
+      ],
+      "creativeOptimizationConfiguration": { # Creative optimization settings. # Creative optimization configuration for the campaign.
+        "optimizationActivitys": [ # List of optimization activities associated with this configuration.
+          { # Creative optimization activity.
+            "floodlightActivityId": "A String", # Floodlight activity ID of this optimization activity. This is a required field.
+            "floodlightActivityIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight activity. This is a read-only, auto-generated field.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+            "weight": 42, # Weight associated with this optimization. Must be greater than 1. The weight assigned will be understood in proportion to the weights assigned to the other optimization activities.
+          },
+        ],
+        "optimizationModel": "A String", # Optimization model for this configuration.
+        "id": "A String", # ID of this creative optimization config. This field is auto-generated when the campaign is inserted or updated. It can be null for existing campaigns.
+        "name": "A String", # Name of this creative optimization config. This is a required field and must be less than 129 characters long.
+      },
+      "id": "A String", # ID of this campaign. This is a read-only auto-generated field.
+      "accountId": "A String", # Account ID of this campaign. This is a read-only field that can be left blank.
+      "traffickerEmails": [ # Campaign trafficker contact emails.
+        "A String",
+      ],
+      "archived": True or False, # Whether this campaign has been archived.
+      "externalId": "A String", # External ID for this campaign.
+      "advertiserGroupId": "A String", # Advertiser group ID of the associated advertiser.
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this campaign. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "billingInvoiceCode": "A String", # Billing invoice code included in the DCM client billing invoices associated with the campaign.
+      "comscoreVceEnabled": True or False, # Whether comScore vCE reports are enabled for this campaign.
+      "creativeGroupIds": [ # List of creative group IDs that are assigned to the campaign.
+        "A String",
+      ],
+      "additionalCreativeOptimizationConfigurations": [ # Additional creative optimization configurations for the campaign.
+        { # Creative optimization settings.
+          "optimizationActivitys": [ # List of optimization activities associated with this configuration.
+            { # Creative optimization activity.
+              "floodlightActivityId": "A String", # Floodlight activity ID of this optimization activity. This is a required field.
+              "floodlightActivityIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight activity. This is a read-only, auto-generated field.
+                "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+                "value": "A String", # The value of the dimension.
+                "dimensionName": "A String", # The name of the dimension.
+                "etag": "A String", # The eTag of this response for caching purposes.
+                "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+                "id": "A String", # The ID associated with the value if available.
+              },
+              "weight": 42, # Weight associated with this optimization. Must be greater than 1. The weight assigned will be understood in proportion to the weights assigned to the other optimization activities.
+            },
+          ],
+          "optimizationModel": "A String", # Optimization model for this configuration.
+          "id": "A String", # ID of this creative optimization config. This field is auto-generated when the campaign is inserted or updated. It can be null for existing campaigns.
+          "name": "A String", # Name of this creative optimization config. This is a required field and must be less than 129 characters long.
+        },
+      ],
+      "createInfo": { # Modification timestamp. # Information about the creation of this campaign. This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "defaultClickThroughEventTagProperties": { # Properties of inheriting and overriding the default click-through event tag. A campaign may override the event tag defined at the advertiser level, and an ad may also override the campaign's setting further. # Click-through event tag ID override properties for this campaign.
+        "overrideInheritedEventTag": True or False, # Whether this entity should override the inherited default click-through event tag with its own defined value.
+        "defaultClickThroughEventTagId": "A String", # ID of the click-through event tag to apply to all ads in this entity's scope.
+      },
+      "kind": "dfareporting#campaign", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#campaign".
+      "subaccountId": "A String", # Subaccount ID of this campaign. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this campaign. This is a required field and must be less than 256 characters long and unique among campaigns of the same advertiser.
+      "lookbackConfiguration": { # Lookback configuration settings. # Lookback window settings for the campaign.
+        "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+        "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+      },
+      "nielsenOcrEnabled": True or False, # Whether Nielsen reports are enabled for this campaign.
+      "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this campaign. This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "audienceSegmentGroups": [ # Audience segment groups assigned to this campaign. Cannot have more than 300 segment groups.
+        { # Audience Segment Group.
+          "audienceSegments": [ # Audience segments assigned to this group. The number of segments must be between 2 and 100.
+            { # Audience Segment.
+              "allocation": 42, # Weight allocated to this segment. Must be between 1 and 1000. The weight assigned will be understood in proportion to the weights assigned to other segments in the same segment group.
+              "id": "A String", # ID of this audience segment. This is a read-only, auto-generated field.
+              "name": "A String", # Name of this audience segment. This is a required field and must be less than 65 characters long.
+            },
+          ],
+          "id": "A String", # ID of this audience segment group. This is a read-only, auto-generated field.
+          "name": "A String", # Name of this audience segment group. This is a required field and must be less than 65 characters long.
+        },
+      ],
+    }
+
+ + \ No newline at end of file diff --git a/docs/dyn/dfareporting_v2_5.changeLogs.html b/docs/dyn/dfareporting_v2_5.changeLogs.html new file mode 100644 index 00000000000..0380f2c830f --- /dev/null +++ b/docs/dyn/dfareporting_v2_5.changeLogs.html @@ -0,0 +1,230 @@ + + + +

DCM/DFA Reporting And Trafficking API . changeLogs

+

Instance Methods

+

+ get(profileId, id)

+

Gets one change log by ID.

+

+ list(profileId, objectType=None, maxChangeTime=None, pageToken=None, maxResults=None, action=None, minChangeTime=None, searchString=None, userProfileIds=None, ids=None, objectIds=None)

+

Retrieves a list of change logs.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

Method Details

+
+ get(profileId, id) +
Gets one change log by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Change log ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Describes a change that a user has made to a resource.
+    "changeTime": "A String", # Time when the object was modified.
+    "kind": "dfareporting#changeLog", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#changeLog".
+    "subaccountId": "A String", # Subaccount ID of the modified object.
+    "userProfileId": "A String", # ID of the user who modified the object.
+    "objectId": "A String", # ID of the object of this change log. The object could be a campaign, placement, ad, or other type.
+    "newValue": "A String", # New value of the object field.
+    "userProfileName": "A String", # User profile name of the user who modified the object.
+    "fieldName": "A String", # Field name of the object which changed.
+    "oldValue": "A String", # Old value of the object field.
+    "action": "A String", # Action which caused the change.
+    "transactionId": "A String", # Transaction ID of this change log. When a single API call results in many changes, each change will have a separate ID in the change log but will share the same transactionId.
+    "objectType": "A String", # Object type of the change log.
+    "id": "A String", # ID of this change log.
+    "accountId": "A String", # Account ID of the modified object.
+  }
+
+ +
+ list(profileId, objectType=None, maxChangeTime=None, pageToken=None, maxResults=None, action=None, minChangeTime=None, searchString=None, userProfileIds=None, ids=None, objectIds=None) +
Retrieves a list of change logs.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  objectType: string, Select only change logs with the specified object type.
+    Allowed values
+      OBJECT_ACCOUNT - 
+      OBJECT_ACCOUNT_BILLING_FEATURE - 
+      OBJECT_AD - 
+      OBJECT_ADVERTISER - 
+      OBJECT_ADVERTISER_GROUP - 
+      OBJECT_BILLING_ACCOUNT_GROUP - 
+      OBJECT_BILLING_FEATURE - 
+      OBJECT_BILLING_MINIMUM_FEE - 
+      OBJECT_BILLING_PROFILE - 
+      OBJECT_CAMPAIGN - 
+      OBJECT_CONTENT_CATEGORY - 
+      OBJECT_CREATIVE - 
+      OBJECT_CREATIVE_ASSET - 
+      OBJECT_CREATIVE_BUNDLE - 
+      OBJECT_CREATIVE_FIELD - 
+      OBJECT_CREATIVE_GROUP - 
+      OBJECT_DFA_SITE - 
+      OBJECT_EVENT_TAG - 
+      OBJECT_FLOODLIGHT_ACTIVITY_GROUP - 
+      OBJECT_FLOODLIGHT_ACTVITY - 
+      OBJECT_FLOODLIGHT_CONFIGURATION - 
+      OBJECT_INSTREAM_CREATIVE - 
+      OBJECT_LANDING_PAGE - 
+      OBJECT_MEDIA_ORDER - 
+      OBJECT_PLACEMENT - 
+      OBJECT_PLACEMENT_STRATEGY - 
+      OBJECT_PLAYSTORE_LINK - 
+      OBJECT_PROVIDED_LIST_CLIENT - 
+      OBJECT_RATE_CARD - 
+      OBJECT_REMARKETING_LIST - 
+      OBJECT_RICHMEDIA_CREATIVE - 
+      OBJECT_SD_SITE - 
+      OBJECT_SIZE - 
+      OBJECT_SUBACCOUNT - 
+      OBJECT_USER_PROFILE - 
+      OBJECT_USER_PROFILE_FILTER - 
+      OBJECT_USER_ROLE - 
+  maxChangeTime: string, Select only change logs whose change time is before the specified maxChangeTime.The time should be formatted as an RFC3339 date/time string. For example, for 10:54 PM on July 18th, 2015, in the America/New York time zone, the format is "2015-07-18T22:54:00-04:00". In other words, the year, month, day, the letter T, the hour (24-hour clock system), minute, second, and then the time zone offset.
+  pageToken: string, Value of the nextPageToken from the previous result page.
+  maxResults: integer, Maximum number of results to return.
+  action: string, Select only change logs with the specified action.
+    Allowed values
+      ACTION_ADD - 
+      ACTION_ASSIGN - 
+      ACTION_ASSOCIATE - 
+      ACTION_CREATE - 
+      ACTION_DELETE - 
+      ACTION_DISABLE - 
+      ACTION_EMAIL_TAGS - 
+      ACTION_ENABLE - 
+      ACTION_LINK - 
+      ACTION_MARK_AS_DEFAULT - 
+      ACTION_PUSH - 
+      ACTION_REMOVE - 
+      ACTION_SEND - 
+      ACTION_SHARE - 
+      ACTION_UNASSIGN - 
+      ACTION_UNLINK - 
+      ACTION_UPDATE - 
+  minChangeTime: string, Select only change logs whose change time is before the specified minChangeTime.The time should be formatted as an RFC3339 date/time string. For example, for 10:54 PM on July 18th, 2015, in the America/New York time zone, the format is "2015-07-18T22:54:00-04:00". In other words, the year, month, day, the letter T, the hour (24-hour clock system), minute, second, and then the time zone offset.
+  searchString: string, Select only change logs whose object ID, user name, old or new values match the search string.
+  userProfileIds: string, Select only change logs with these user profile IDs. (repeated)
+  ids: string, Select only change logs with these IDs. (repeated)
+  objectIds: string, Select only change logs with these object IDs. (repeated)
+
+Returns:
+  An object of the form:
+
+    { # Change Log List Response
+    "nextPageToken": "A String", # Pagination token to be used for the next list operation.
+    "kind": "dfareporting#changeLogsListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#changeLogsListResponse".
+    "changeLogs": [ # Change log collection.
+      { # Describes a change that a user has made to a resource.
+        "changeTime": "A String", # Time when the object was modified.
+        "kind": "dfareporting#changeLog", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#changeLog".
+        "subaccountId": "A String", # Subaccount ID of the modified object.
+        "userProfileId": "A String", # ID of the user who modified the object.
+        "objectId": "A String", # ID of the object of this change log. The object could be a campaign, placement, ad, or other type.
+        "newValue": "A String", # New value of the object field.
+        "userProfileName": "A String", # User profile name of the user who modified the object.
+        "fieldName": "A String", # Field name of the object which changed.
+        "oldValue": "A String", # Old value of the object field.
+        "action": "A String", # Action which caused the change.
+        "transactionId": "A String", # Transaction ID of this change log. When a single API call results in many changes, each change will have a separate ID in the change log but will share the same transactionId.
+        "objectType": "A String", # Object type of the change log.
+        "id": "A String", # ID of this change log.
+        "accountId": "A String", # Account ID of the modified object.
+      },
+    ],
+  }
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    
+
+ + \ No newline at end of file diff --git a/docs/dyn/dfareporting_v2_5.cities.html b/docs/dyn/dfareporting_v2_5.cities.html new file mode 100644 index 00000000000..004e847e6bc --- /dev/null +++ b/docs/dyn/dfareporting_v2_5.cities.html @@ -0,0 +1,113 @@ + + + +

DCM/DFA Reporting And Trafficking API . cities

+

Instance Methods

+

+ list(profileId, dartIds=None, namePrefix=None, regionDartIds=None, countryDartIds=None)

+

Retrieves a list of cities, possibly filtered.

+

Method Details

+
+ list(profileId, dartIds=None, namePrefix=None, regionDartIds=None, countryDartIds=None) +
Retrieves a list of cities, possibly filtered.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  dartIds: string, Select only cities with these DART IDs. (repeated)
+  namePrefix: string, Select only cities with names starting with this prefix.
+  regionDartIds: string, Select only cities from these regions. (repeated)
+  countryDartIds: string, Select only cities from these countries. (repeated)
+
+Returns:
+  An object of the form:
+
+    { # City List Response
+    "kind": "dfareporting#citiesListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#citiesListResponse".
+    "cities": [ # City collection.
+      { # Contains information about a city that can be targeted by ads.
+        "kind": "dfareporting#city", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#city".
+        "countryDartId": "A String", # DART ID of the country to which this city belongs.
+        "name": "A String", # Name of this city.
+        "countryCode": "A String", # Country code of the country to which this city belongs.
+        "metroCode": "A String", # Metro region code of the metro region (DMA) to which this city belongs.
+        "regionCode": "A String", # Region code of the region to which this city belongs.
+        "metroDmaId": "A String", # ID of the metro region (DMA) to which this city belongs.
+        "dartId": "A String", # DART ID of this city. This is the ID used for targeting and generating reports.
+        "regionDartId": "A String", # DART ID of the region to which this city belongs.
+      },
+    ],
+  }
+
+ + \ No newline at end of file diff --git a/docs/dyn/dfareporting_v2_5.connectionTypes.html b/docs/dyn/dfareporting_v2_5.connectionTypes.html new file mode 100644 index 00000000000..457b7343222 --- /dev/null +++ b/docs/dyn/dfareporting_v2_5.connectionTypes.html @@ -0,0 +1,124 @@ + + + +

DCM/DFA Reporting And Trafficking API . connectionTypes

+

Instance Methods

+

+ get(profileId, id)

+

Gets one connection type by ID.

+

+ list(profileId)

+

Retrieves a list of connection types.

+

Method Details

+
+ get(profileId, id) +
Gets one connection type by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Connection type ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Contains information about an internet connection type that can be targeted by ads. Clients can use the connection type to target mobile vs. broadband users.
+    "kind": "dfareporting#connectionType", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#connectionType".
+    "id": "A String", # ID of this connection type.
+    "name": "A String", # Name of this connection type.
+  }
+
+ +
+ list(profileId) +
Retrieves a list of connection types.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+
+Returns:
+  An object of the form:
+
+    { # Connection Type List Response
+    "kind": "dfareporting#connectionTypesListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#connectionTypesListResponse".
+    "connectionTypes": [ # Collection of connection types such as broadband and mobile.
+      { # Contains information about an internet connection type that can be targeted by ads. Clients can use the connection type to target mobile vs. broadband users.
+        "kind": "dfareporting#connectionType", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#connectionType".
+        "id": "A String", # ID of this connection type.
+        "name": "A String", # Name of this connection type.
+      },
+    ],
+  }
+
+ + \ No newline at end of file diff --git a/docs/dyn/dfareporting_v2_5.contentCategories.html b/docs/dyn/dfareporting_v2_5.contentCategories.html new file mode 100644 index 00000000000..8ac7be18043 --- /dev/null +++ b/docs/dyn/dfareporting_v2_5.contentCategories.html @@ -0,0 +1,263 @@ + + + +

DCM/DFA Reporting And Trafficking API . contentCategories

+

Instance Methods

+

+ delete(profileId, id)

+

Deletes an existing content category.

+

+ get(profileId, id)

+

Gets one content category by ID.

+

+ insert(profileId, body)

+

Inserts a new content category.

+

+ list(profileId, searchString=None, pageToken=None, sortField=None, ids=None, maxResults=None, sortOrder=None)

+

Retrieves a list of content categories, possibly filtered.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

+ patch(profileId, id, body)

+

Updates an existing content category. This method supports patch semantics.

+

+ update(profileId, body)

+

Updates an existing content category.

+

Method Details

+
+ delete(profileId, id) +
Deletes an existing content category.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Content category ID. (required)
+
+
+ +
+ get(profileId, id) +
Gets one content category by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Content category ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Organizes placements according to the contents of their associated webpages.
+      "kind": "dfareporting#contentCategory", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#contentCategory".
+      "id": "A String", # ID of this content category. This is a read-only, auto-generated field.
+      "name": "A String", # Name of this content category. This is a required field and must be less than 256 characters long and unique among content categories of the same account.
+      "accountId": "A String", # Account ID of this content category. This is a read-only field that can be left blank.
+    }
+
+ +
+ insert(profileId, body) +
Inserts a new content category.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Organizes placements according to the contents of their associated webpages.
+    "kind": "dfareporting#contentCategory", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#contentCategory".
+    "id": "A String", # ID of this content category. This is a read-only, auto-generated field.
+    "name": "A String", # Name of this content category. This is a required field and must be less than 256 characters long and unique among content categories of the same account.
+    "accountId": "A String", # Account ID of this content category. This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Organizes placements according to the contents of their associated webpages.
+      "kind": "dfareporting#contentCategory", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#contentCategory".
+      "id": "A String", # ID of this content category. This is a read-only, auto-generated field.
+      "name": "A String", # Name of this content category. This is a required field and must be less than 256 characters long and unique among content categories of the same account.
+      "accountId": "A String", # Account ID of this content category. This is a read-only field that can be left blank.
+    }
+
+ +
+ list(profileId, searchString=None, pageToken=None, sortField=None, ids=None, maxResults=None, sortOrder=None) +
Retrieves a list of content categories, possibly filtered.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  searchString: string, Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "contentcategory*2015" will return objects with names like "contentcategory June 2015", "contentcategory April 2015", or simply "contentcategory 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "contentcategory" will match objects with name "my contentcategory", "contentcategory 2015", or simply "contentcategory".
+  pageToken: string, Value of the nextPageToken from the previous result page.
+  sortField: string, Field by which to sort the list.
+    Allowed values
+      ID - 
+      NAME - 
+  ids: string, Select only content categories with these IDs. (repeated)
+  maxResults: integer, Maximum number of results to return.
+  sortOrder: string, Order of sorted results, default is ASCENDING.
+    Allowed values
+      ASCENDING - 
+      DESCENDING - 
+
+Returns:
+  An object of the form:
+
+    { # Content Category List Response
+    "nextPageToken": "A String", # Pagination token to be used for the next list operation.
+    "kind": "dfareporting#contentCategoriesListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#contentCategoriesListResponse".
+    "contentCategories": [ # Content category collection.
+      { # Organizes placements according to the contents of their associated webpages.
+          "kind": "dfareporting#contentCategory", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#contentCategory".
+          "id": "A String", # ID of this content category. This is a read-only, auto-generated field.
+          "name": "A String", # Name of this content category. This is a required field and must be less than 256 characters long and unique among content categories of the same account.
+          "accountId": "A String", # Account ID of this content category. This is a read-only field that can be left blank.
+        },
+    ],
+  }
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    
+
+ +
+ patch(profileId, id, body) +
Updates an existing content category. This method supports patch semantics.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Content category ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Organizes placements according to the contents of their associated webpages.
+    "kind": "dfareporting#contentCategory", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#contentCategory".
+    "id": "A String", # ID of this content category. This is a read-only, auto-generated field.
+    "name": "A String", # Name of this content category. This is a required field and must be less than 256 characters long and unique among content categories of the same account.
+    "accountId": "A String", # Account ID of this content category. This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Organizes placements according to the contents of their associated webpages.
+      "kind": "dfareporting#contentCategory", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#contentCategory".
+      "id": "A String", # ID of this content category. This is a read-only, auto-generated field.
+      "name": "A String", # Name of this content category. This is a required field and must be less than 256 characters long and unique among content categories of the same account.
+      "accountId": "A String", # Account ID of this content category. This is a read-only field that can be left blank.
+    }
+
+ +
+ update(profileId, body) +
Updates an existing content category.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Organizes placements according to the contents of their associated webpages.
+    "kind": "dfareporting#contentCategory", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#contentCategory".
+    "id": "A String", # ID of this content category. This is a read-only, auto-generated field.
+    "name": "A String", # Name of this content category. This is a required field and must be less than 256 characters long and unique among content categories of the same account.
+    "accountId": "A String", # Account ID of this content category. This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Organizes placements according to the contents of their associated webpages.
+      "kind": "dfareporting#contentCategory", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#contentCategory".
+      "id": "A String", # ID of this content category. This is a read-only, auto-generated field.
+      "name": "A String", # Name of this content category. This is a required field and must be less than 256 characters long and unique among content categories of the same account.
+      "accountId": "A String", # Account ID of this content category. This is a read-only field that can be left blank.
+    }
+
+ + \ No newline at end of file diff --git a/docs/dyn/dfareporting_v2_5.conversions.html b/docs/dyn/dfareporting_v2_5.conversions.html new file mode 100644 index 00000000000..e4e0f1d0b16 --- /dev/null +++ b/docs/dyn/dfareporting_v2_5.conversions.html @@ -0,0 +1,164 @@ + + + +

DCM/DFA Reporting And Trafficking API . conversions

+

Instance Methods

+

+ batchinsert(profileId, body)

+

Inserts conversions.

+

Method Details

+
+ batchinsert(profileId, body) +
Inserts conversions.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Insert Conversions Request.
+    "conversions": [ # The set of conversions to insert.
+      { # A Conversion represents when a user successfully performs a desired action after seeing an ad.
+        "ordinal": "A String", # The ordinal of the conversion. Use this field to control how conversions of the same user and day are de-duplicated. This is a required field.
+        "timestampMicros": "A String", # The timestamp of conversion, in Unix epoch micros. This is a required field.
+        "kind": "dfareporting#conversion", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#conversion".
+        "childDirectedTreatment": True or False, # Whether the conversion was directed toward children.
+        "encryptedUserId": "A String", # The alphanumeric encrypted user ID. When set, encryptionInfo should also be specified. This field is mutually exclusive with mobileDeviceId. This or mobileDeviceId is a required field.
+        "customVariables": [ # Custom floodlight variables.
+          { # A custom floodlight variable.
+            "kind": "dfareporting#customFloodlightVariable", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#customFloodlightVariable".
+            "type": "A String", # The type of custom floodlight variable to supply a value for. These map to the "u[1-20]=" in the tags.
+            "value": "A String", # The value of the custom floodlight variable. The length of string must not exceed 50 characters.
+          },
+        ],
+        "floodlightConfigurationId": "A String", # Floodlight Configuration ID of this conversion. This is a required field.
+        "value": 3.14, # The value of the conversion.
+        "limitAdTracking": True or False, # Whether the user has Limit Ad Tracking set.
+        "quantity": "A String", # The quantity of the conversion.
+        "floodlightActivityId": "A String", # Floodlight Activity ID of this conversion. This is a required field.
+        "mobileDeviceId": "A String", # The mobile device ID. This field is mutually exclusive with encryptedUserId. This or encryptedUserId is a required field.
+      },
+    ],
+    "kind": "dfareporting#conversionsBatchInsertRequest", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#conversionsBatchInsertRequest".
+    "encryptionInfo": { # A description of how user IDs are encrypted. # Describes how encryptedUserId is encrypted. This is a required field if encryptedUserId is used.
+      "kind": "dfareporting#encryptionInfo", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#encryptionInfo".
+      "encryptionEntityId": "A String", # The encryption entity ID. This should match the encryption configuration for ad serving or Data Transfer.
+      "encryptionSource": "A String", # Describes whether the encrypted cookie was received from ad serving (the %m macro) or from Data Transfer.
+      "encryptionEntityType": "A String", # The encryption entity type. This should match the encryption configuration for ad serving or Data Transfer.
+    },
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Insert Conversions Response.
+    "status": [ # The status of each conversion's insertion status. The status is returned in the same order that conversions are inserted.
+      { # The original conversion that was inserted and whether there were any errors.
+        "conversion": { # A Conversion represents when a user successfully performs a desired action after seeing an ad. # The original conversion that was inserted.
+          "ordinal": "A String", # The ordinal of the conversion. Use this field to control how conversions of the same user and day are de-duplicated. This is a required field.
+          "timestampMicros": "A String", # The timestamp of conversion, in Unix epoch micros. This is a required field.
+          "kind": "dfareporting#conversion", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#conversion".
+          "childDirectedTreatment": True or False, # Whether the conversion was directed toward children.
+          "encryptedUserId": "A String", # The alphanumeric encrypted user ID. When set, encryptionInfo should also be specified. This field is mutually exclusive with mobileDeviceId. This or mobileDeviceId is a required field.
+          "customVariables": [ # Custom floodlight variables.
+            { # A custom floodlight variable.
+              "kind": "dfareporting#customFloodlightVariable", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#customFloodlightVariable".
+              "type": "A String", # The type of custom floodlight variable to supply a value for. These map to the "u[1-20]=" in the tags.
+              "value": "A String", # The value of the custom floodlight variable. The length of string must not exceed 50 characters.
+            },
+          ],
+          "floodlightConfigurationId": "A String", # Floodlight Configuration ID of this conversion. This is a required field.
+          "value": 3.14, # The value of the conversion.
+          "limitAdTracking": True or False, # Whether the user has Limit Ad Tracking set.
+          "quantity": "A String", # The quantity of the conversion.
+          "floodlightActivityId": "A String", # Floodlight Activity ID of this conversion. This is a required field.
+          "mobileDeviceId": "A String", # The mobile device ID. This field is mutually exclusive with encryptedUserId. This or encryptedUserId is a required field.
+        },
+        "errors": [ # A list of errors related to this conversion.
+          { # The error code and description for a conversion that failed to insert.
+            "kind": "dfareporting#conversionError", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#conversionError".
+            "code": "A String", # The error code.
+            "message": "A String", # A description of the error.
+          },
+        ],
+        "kind": "dfareporting#conversionStatus", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#conversionStatus".
+      },
+    ],
+    "hasFailures": True or False, # Indicates that some or all conversions failed to insert.
+    "kind": "dfareporting#conversionsBatchInsertResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#conversionsBatchInsertResponse".
+  }
+
+ + \ No newline at end of file diff --git a/docs/dyn/dfareporting_v2_5.countries.html b/docs/dyn/dfareporting_v2_5.countries.html new file mode 100644 index 00000000000..7fe10919cc0 --- /dev/null +++ b/docs/dyn/dfareporting_v2_5.countries.html @@ -0,0 +1,128 @@ + + + +

DCM/DFA Reporting And Trafficking API . countries

+

Instance Methods

+

+ get(profileId, dartId)

+

Gets one country by ID.

+

+ list(profileId)

+

Retrieves a list of countries.

+

Method Details

+
+ get(profileId, dartId) +
Gets one country by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  dartId: string, Country DART ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Contains information about a country that can be targeted by ads.
+    "dartId": "A String", # DART ID of this country. This is the ID used for targeting and generating reports.
+    "sslEnabled": True or False, # Whether ad serving supports secure servers in this country.
+    "kind": "dfareporting#country", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#country".
+    "countryCode": "A String", # Country code.
+    "name": "A String", # Name of this country.
+  }
+
+ +
+ list(profileId) +
Retrieves a list of countries.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+
+Returns:
+  An object of the form:
+
+    { # Country List Response
+    "kind": "dfareporting#countriesListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#countriesListResponse".
+    "countries": [ # Country collection.
+      { # Contains information about a country that can be targeted by ads.
+        "dartId": "A String", # DART ID of this country. This is the ID used for targeting and generating reports.
+        "sslEnabled": True or False, # Whether ad serving supports secure servers in this country.
+        "kind": "dfareporting#country", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#country".
+        "countryCode": "A String", # Country code.
+        "name": "A String", # Name of this country.
+      },
+    ],
+  }
+
+ + \ No newline at end of file diff --git a/docs/dyn/dfareporting_v2_5.creativeAssets.html b/docs/dyn/dfareporting_v2_5.creativeAssets.html new file mode 100644 index 00000000000..240ce6dc3ce --- /dev/null +++ b/docs/dyn/dfareporting_v2_5.creativeAssets.html @@ -0,0 +1,191 @@ + + + +

DCM/DFA Reporting And Trafficking API . creativeAssets

+

Instance Methods

+

+ insert(profileId, advertiserId, body=None, media_body=None)

+

Inserts a new creative asset.

+

Method Details

+
+ insert(profileId, advertiserId, body=None, media_body=None) +
Inserts a new creative asset.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  advertiserId: string, Advertiser ID of this creative. This is a required field. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # CreativeAssets contains properties of a creative asset file which will be uploaded or has already been uploaded. Refer to the creative sample code for how to upload assets and insert a creative.
+    "warnedValidationRules": [ # Rules validated during code generation that generated a warning. This is a read-only, auto-generated field.
+        # 
+        # Possible values are:
+        # - "ADMOB_REFERENCED"
+        # - "ASSET_FORMAT_UNSUPPORTED_DCM"
+        # - "ASSET_INVALID"
+        # - "CLICK_TAG_HARD_CODED"
+        # - "CLICK_TAG_INVALID"
+        # - "CLICK_TAG_IN_GWD"
+        # - "CLICK_TAG_MISSING"
+        # - "CLICK_TAG_MORE_THAN_ONE"
+        # - "CLICK_TAG_NON_TOP_LEVEL"
+        # - "COMPONENT_UNSUPPORTED_DCM"
+        # - "ENABLER_UNSUPPORTED_METHOD_DCM"
+        # - "EXTERNAL_FILE_REFERENCED"
+        # - "FILE_DETAIL_EMPTY"
+        # - "FILE_TYPE_INVALID"
+        # - "GWD_PROPERTIES_INVALID"
+        # - "HTML5_FEATURE_UNSUPPORTED"
+        # - "LINKED_FILE_NOT_FOUND"
+        # - "MAX_FLASH_VERSION_11"
+        # - "MRAID_REFERENCED"
+        # - "NOT_SSL_COMPLIANT"
+        # - "ORPHANED_ASSET"
+        # - "PRIMARY_HTML_MISSING"
+        # - "SVG_INVALID"
+        # - "ZIP_INVALID"
+      "A String",
+    ],
+    "clickTags": [ # List of detected click tags for assets. This is a read-only auto-generated field.
+      { # Creative Click Tag.
+        "eventName": "A String", # Advertiser event name associated with the click tag. This field is used by ENHANCED_BANNER, ENHANCED_IMAGE, and HTML5_BANNER creatives.
+        "name": "A String", # Parameter name for the specified click tag. For ENHANCED_IMAGE creative assets, this field must match the value of the creative asset's creativeAssetId.name field.
+        "value": "A String", # Parameter value for the specified click tag. This field contains a click-through url.
+      },
+    ],
+    "detectedFeatures": [ # List of feature dependencies for the creative asset that are detected by DCM. Feature dependencies are features that a browser must be able to support in order to render your HTML5 creative correctly. This is a read-only, auto-generated field.
+      "A String",
+    ],
+    "kind": "dfareporting#creativeAssetMetadata", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creativeAssetMetadata".
+    "assetIdentifier": { # Creative Asset ID. # ID of the creative asset. This is a required field.
+      "type": "A String", # Type of asset to upload. This is a required field. IMAGE is solely used for IMAGE creatives. Other image assets should use HTML_IMAGE.
+      "name": "A String", # Name of the creative asset. This is a required field while inserting an asset. After insertion, this assetIdentifier is used to identify the uploaded asset. Characters in the name must be alphanumeric or one of the following: ".-_ ". Spaces are allowed.
+    },
+  }
+
+  media_body: string, The filename of the media request body, or an instance of a MediaUpload object.
+
+Returns:
+  An object of the form:
+
+    { # CreativeAssets contains properties of a creative asset file which will be uploaded or has already been uploaded. Refer to the creative sample code for how to upload assets and insert a creative.
+      "warnedValidationRules": [ # Rules validated during code generation that generated a warning. This is a read-only, auto-generated field.
+          #
+          # Possible values are:
+          # - "ADMOB_REFERENCED"
+          # - "ASSET_FORMAT_UNSUPPORTED_DCM"
+          # - "ASSET_INVALID"
+          # - "CLICK_TAG_HARD_CODED"
+          # - "CLICK_TAG_INVALID"
+          # - "CLICK_TAG_IN_GWD"
+          # - "CLICK_TAG_MISSING"
+          # - "CLICK_TAG_MORE_THAN_ONE"
+          # - "CLICK_TAG_NON_TOP_LEVEL"
+          # - "COMPONENT_UNSUPPORTED_DCM"
+          # - "ENABLER_UNSUPPORTED_METHOD_DCM"
+          # - "EXTERNAL_FILE_REFERENCED"
+          # - "FILE_DETAIL_EMPTY"
+          # - "FILE_TYPE_INVALID"
+          # - "GWD_PROPERTIES_INVALID"
+          # - "HTML5_FEATURE_UNSUPPORTED"
+          # - "LINKED_FILE_NOT_FOUND"
+          # - "MAX_FLASH_VERSION_11"
+          # - "MRAID_REFERENCED"
+          # - "NOT_SSL_COMPLIANT"
+          # - "ORPHANED_ASSET"
+          # - "PRIMARY_HTML_MISSING"
+          # - "SVG_INVALID"
+          # - "ZIP_INVALID"
+        "A String",
+      ],
+      "clickTags": [ # List of detected click tags for assets. This is a read-only auto-generated field.
+        { # Creative Click Tag.
+          "eventName": "A String", # Advertiser event name associated with the click tag. This field is used by ENHANCED_BANNER, ENHANCED_IMAGE, and HTML5_BANNER creatives.
+          "name": "A String", # Parameter name for the specified click tag. For ENHANCED_IMAGE creative assets, this field must match the value of the creative asset's creativeAssetId.name field.
+          "value": "A String", # Parameter value for the specified click tag. This field contains a click-through url.
+        },
+      ],
+      "detectedFeatures": [ # List of feature dependencies for the creative asset that are detected by DCM. Feature dependencies are features that a browser must be able to support in order to render your HTML5 creative correctly. This is a read-only, auto-generated field.
+        "A String",
+      ],
+      "kind": "dfareporting#creativeAssetMetadata", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creativeAssetMetadata".
+      "assetIdentifier": { # Creative Asset ID. # ID of the creative asset. This is a required field.
+        "type": "A String", # Type of asset to upload. This is a required field. IMAGE is solely used for IMAGE creatives. Other image assets should use HTML_IMAGE.
+        "name": "A String", # Name of the creative asset. This is a required field while inserting an asset. After insertion, this assetIdentifier is used to identify the uploaded asset. Characters in the name must be alphanumeric or one of the following: ".-_ ". Spaces are allowed.
+      },
+    }
+
+ + \ No newline at end of file diff --git a/docs/dyn/dfareporting_v2_5.creativeFieldValues.html b/docs/dyn/dfareporting_v2_5.creativeFieldValues.html new file mode 100644 index 00000000000..aca8895e04f --- /dev/null +++ b/docs/dyn/dfareporting_v2_5.creativeFieldValues.html @@ -0,0 +1,261 @@ + + + +

DCM/DFA Reporting And Trafficking API . creativeFieldValues

+

Instance Methods

+

+ delete(profileId, creativeFieldId, id)

+

Deletes an existing creative field value.

+

+ get(profileId, creativeFieldId, id)

+

Gets one creative field value by ID.

+

+ insert(profileId, creativeFieldId, body)

+

Inserts a new creative field value.

+

+ list(profileId, creativeFieldId, searchString=None, sortField=None, ids=None, maxResults=None, pageToken=None, sortOrder=None)

+

Retrieves a list of creative field values, possibly filtered.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

+ patch(profileId, creativeFieldId, id, body)

+

Updates an existing creative field value. This method supports patch semantics.

+

+ update(profileId, creativeFieldId, body)

+

Updates an existing creative field value.

+

Method Details

+
+ delete(profileId, creativeFieldId, id) +
Deletes an existing creative field value.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  creativeFieldId: string, Creative field ID for this creative field value. (required)
+  id: string, Creative Field Value ID (required)
+
+
+ +
+ get(profileId, creativeFieldId, id) +
Gets one creative field value by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  creativeFieldId: string, Creative field ID for this creative field value. (required)
+  id: string, Creative Field Value ID (required)
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a creative field value.
+      "kind": "dfareporting#creativeFieldValue", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creativeFieldValue".
+      "id": "A String", # ID of this creative field value. This is a read-only, auto-generated field.
+      "value": "A String", # Value of this creative field value. It needs to be less than 256 characters in length and unique per creative field.
+    }
+
+ +
+ insert(profileId, creativeFieldId, body) +
Inserts a new creative field value.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  creativeFieldId: string, Creative field ID for this creative field value. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a creative field value.
+    "kind": "dfareporting#creativeFieldValue", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creativeFieldValue".
+    "id": "A String", # ID of this creative field value. This is a read-only, auto-generated field.
+    "value": "A String", # Value of this creative field value. It needs to be less than 256 characters in length and unique per creative field.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a creative field value.
+      "kind": "dfareporting#creativeFieldValue", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creativeFieldValue".
+      "id": "A String", # ID of this creative field value. This is a read-only, auto-generated field.
+      "value": "A String", # Value of this creative field value. It needs to be less than 256 characters in length and unique per creative field.
+    }
+
+ +
+ list(profileId, creativeFieldId, searchString=None, sortField=None, ids=None, maxResults=None, pageToken=None, sortOrder=None) +
Retrieves a list of creative field values, possibly filtered.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  creativeFieldId: string, Creative field ID for this creative field value. (required)
+  searchString: string, Allows searching for creative field values by their values. Wildcards (e.g. *) are not allowed.
+  sortField: string, Field by which to sort the list.
+    Allowed values
+      ID - 
+      VALUE - 
+  ids: string, Select only creative field values with these IDs. (repeated)
+  maxResults: integer, Maximum number of results to return.
+  pageToken: string, Value of the nextPageToken from the previous result page.
+  sortOrder: string, Order of sorted results, default is ASCENDING.
+    Allowed values
+      ASCENDING - 
+      DESCENDING - 
+
+Returns:
+  An object of the form:
+
+    { # Creative Field Value List Response
+    "nextPageToken": "A String", # Pagination token to be used for the next list operation.
+    "kind": "dfareporting#creativeFieldValuesListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creativeFieldValuesListResponse".
+    "creativeFieldValues": [ # Creative field value collection.
+      { # Contains properties of a creative field value.
+          "kind": "dfareporting#creativeFieldValue", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creativeFieldValue".
+          "id": "A String", # ID of this creative field value. This is a read-only, auto-generated field.
+          "value": "A String", # Value of this creative field value. It needs to be less than 256 characters in length and unique per creative field.
+        },
+    ],
+  }
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    
+
+ +
+ patch(profileId, creativeFieldId, id, body) +
Updates an existing creative field value. This method supports patch semantics.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  creativeFieldId: string, Creative field ID for this creative field value. (required)
+  id: string, Creative Field Value ID (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a creative field value.
+    "kind": "dfareporting#creativeFieldValue", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creativeFieldValue".
+    "id": "A String", # ID of this creative field value. This is a read-only, auto-generated field.
+    "value": "A String", # Value of this creative field value. It needs to be less than 256 characters in length and unique per creative field.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a creative field value.
+      "kind": "dfareporting#creativeFieldValue", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creativeFieldValue".
+      "id": "A String", # ID of this creative field value. This is a read-only, auto-generated field.
+      "value": "A String", # Value of this creative field value. It needs to be less than 256 characters in length and unique per creative field.
+    }
+
+ +
+ update(profileId, creativeFieldId, body) +
Updates an existing creative field value.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  creativeFieldId: string, Creative field ID for this creative field value. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a creative field value.
+    "kind": "dfareporting#creativeFieldValue", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creativeFieldValue".
+    "id": "A String", # ID of this creative field value. This is a read-only, auto-generated field.
+    "value": "A String", # Value of this creative field value. It needs to be less than 256 characters in length and unique per creative field.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a creative field value.
+      "kind": "dfareporting#creativeFieldValue", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creativeFieldValue".
+      "id": "A String", # ID of this creative field value. This is a read-only, auto-generated field.
+      "value": "A String", # Value of this creative field value. It needs to be less than 256 characters in length and unique per creative field.
+    }
+
+ + \ No newline at end of file diff --git a/docs/dyn/dfareporting_v2_5.creativeFields.html b/docs/dyn/dfareporting_v2_5.creativeFields.html new file mode 100644 index 00000000000..f52d3d7fbed --- /dev/null +++ b/docs/dyn/dfareporting_v2_5.creativeFields.html @@ -0,0 +1,344 @@ + + + +

DCM/DFA Reporting And Trafficking API . creativeFields

+

Instance Methods

+

+ delete(profileId, id)

+

Deletes an existing creative field.

+

+ get(profileId, id)

+

Gets one creative field by ID.

+

+ insert(profileId, body)

+

Inserts a new creative field.

+

+ list(profileId, searchString=None, pageToken=None, sortField=None, advertiserIds=None, ids=None, maxResults=None, sortOrder=None)

+

Retrieves a list of creative fields, possibly filtered.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

+ patch(profileId, id, body)

+

Updates an existing creative field. This method supports patch semantics.

+

+ update(profileId, body)

+

Updates an existing creative field.

+

Method Details

+
+ delete(profileId, id) +
Deletes an existing creative field.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Creative Field ID (required)
+
+
+ +
+ get(profileId, id) +
Gets one creative field by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Creative Field ID (required)
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a creative field.
+      "kind": "dfareporting#creativeField", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creativeField".
+      "subaccountId": "A String", # Subaccount ID of this creative field. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this creative field. This is a required field and must be less than 256 characters long and unique among creative fields of the same advertiser.
+      "advertiserId": "A String", # Advertiser ID of this creative field. This is a required field on insertion.
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "id": "A String", # ID of this creative field. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this creative field. This is a read-only field that can be left blank.
+    }
+
+ +
+ insert(profileId, body) +
Inserts a new creative field.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a creative field.
+    "kind": "dfareporting#creativeField", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creativeField".
+    "subaccountId": "A String", # Subaccount ID of this creative field. This is a read-only field that can be left blank.
+    "name": "A String", # Name of this creative field. This is a required field and must be less than 256 characters long and unique among creative fields of the same advertiser.
+    "advertiserId": "A String", # Advertiser ID of this creative field. This is a required field on insertion.
+    "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "id": "A String", # ID of this creative field. This is a read-only, auto-generated field.
+    "accountId": "A String", # Account ID of this creative field. This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a creative field.
+      "kind": "dfareporting#creativeField", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creativeField".
+      "subaccountId": "A String", # Subaccount ID of this creative field. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this creative field. This is a required field and must be less than 256 characters long and unique among creative fields of the same advertiser.
+      "advertiserId": "A String", # Advertiser ID of this creative field. This is a required field on insertion.
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "id": "A String", # ID of this creative field. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this creative field. This is a read-only field that can be left blank.
+    }
+
+ +
+ list(profileId, searchString=None, pageToken=None, sortField=None, advertiserIds=None, ids=None, maxResults=None, sortOrder=None) +
Retrieves a list of creative fields, possibly filtered.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  searchString: string, Allows searching for creative fields by name or ID. Wildcards (*) are allowed. For example, "creativefield*2015" will return creative fields with names like "creativefield June 2015", "creativefield April 2015", or simply "creativefield 2015". Most of the searches also add wild-cards implicitly at the start and the end of the search string. For example, a search string of "creativefield" will match creative fields with the name "my creativefield", "creativefield 2015", or simply "creativefield".
+  pageToken: string, Value of the nextPageToken from the previous result page.
+  sortField: string, Field by which to sort the list.
+    Allowed values
+      ID - 
+      NAME - 
+  advertiserIds: string, Select only creative fields that belong to these advertisers. (repeated)
+  ids: string, Select only creative fields with these IDs. (repeated)
+  maxResults: integer, Maximum number of results to return.
+  sortOrder: string, Order of sorted results, default is ASCENDING.
+    Allowed values
+      ASCENDING - 
+      DESCENDING - 
+
+Returns:
+  An object of the form:
+
+    { # Creative Field List Response
+    "nextPageToken": "A String", # Pagination token to be used for the next list operation.
+    "creativeFields": [ # Creative field collection.
+      { # Contains properties of a creative field.
+          "kind": "dfareporting#creativeField", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creativeField".
+          "subaccountId": "A String", # Subaccount ID of this creative field. This is a read-only field that can be left blank.
+          "name": "A String", # Name of this creative field. This is a required field and must be less than 256 characters long and unique among creative fields of the same advertiser.
+          "advertiserId": "A String", # Advertiser ID of this creative field. This is a required field on insertion.
+          "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "id": "A String", # ID of this creative field. This is a read-only, auto-generated field.
+          "accountId": "A String", # Account ID of this creative field. This is a read-only field that can be left blank.
+        },
+    ],
+    "kind": "dfareporting#creativeFieldsListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creativeFieldsListResponse".
+  }
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    
+
+ +
+ patch(profileId, id, body) +
Updates an existing creative field. This method supports patch semantics.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Creative Field ID (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a creative field.
+    "kind": "dfareporting#creativeField", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creativeField".
+    "subaccountId": "A String", # Subaccount ID of this creative field. This is a read-only field that can be left blank.
+    "name": "A String", # Name of this creative field. This is a required field and must be less than 256 characters long and unique among creative fields of the same advertiser.
+    "advertiserId": "A String", # Advertiser ID of this creative field. This is a required field on insertion.
+    "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "id": "A String", # ID of this creative field. This is a read-only, auto-generated field.
+    "accountId": "A String", # Account ID of this creative field. This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a creative field.
+      "kind": "dfareporting#creativeField", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creativeField".
+      "subaccountId": "A String", # Subaccount ID of this creative field. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this creative field. This is a required field and must be less than 256 characters long and unique among creative fields of the same advertiser.
+      "advertiserId": "A String", # Advertiser ID of this creative field. This is a required field on insertion.
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "id": "A String", # ID of this creative field. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this creative field. This is a read-only field that can be left blank.
+    }
+
+ +
+ update(profileId, body) +
Updates an existing creative field.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a creative field.
+    "kind": "dfareporting#creativeField", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creativeField".
+    "subaccountId": "A String", # Subaccount ID of this creative field. This is a read-only field that can be left blank.
+    "name": "A String", # Name of this creative field. This is a required field and must be less than 256 characters long and unique among creative fields of the same advertiser.
+    "advertiserId": "A String", # Advertiser ID of this creative field. This is a required field on insertion.
+    "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "id": "A String", # ID of this creative field. This is a read-only, auto-generated field.
+    "accountId": "A String", # Account ID of this creative field. This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a creative field.
+      "kind": "dfareporting#creativeField", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creativeField".
+      "subaccountId": "A String", # Subaccount ID of this creative field. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this creative field. This is a required field and must be less than 256 characters long and unique among creative fields of the same advertiser.
+      "advertiserId": "A String", # Advertiser ID of this creative field. This is a required field on insertion.
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "id": "A String", # ID of this creative field. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this creative field. This is a read-only field that can be left blank.
+    }
+
+ + \ No newline at end of file diff --git a/docs/dyn/dfareporting_v2_5.creativeGroups.html b/docs/dyn/dfareporting_v2_5.creativeGroups.html new file mode 100644 index 00000000000..36fa2d28f32 --- /dev/null +++ b/docs/dyn/dfareporting_v2_5.creativeGroups.html @@ -0,0 +1,364 @@ + + + +

DCM/DFA Reporting And Trafficking API . creativeGroups

+

Instance Methods

+

+ get(profileId, id)

+

Gets one creative group by ID.

+

+ insert(profileId, body)

+

Inserts a new creative group.

+

+ list(profileId, searchString=None, pageToken=None, sortField=None, advertiserIds=None, groupNumber=None, maxResults=None, ids=None, sortOrder=None)

+

Retrieves a list of creative groups, possibly filtered.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

+ patch(profileId, id, body)

+

Updates an existing creative group. This method supports patch semantics.

+

+ update(profileId, body)

+

Updates an existing creative group.

+

Method Details

+
+ get(profileId, id) +
Gets one creative group by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Creative group ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a creative group.
+      "kind": "dfareporting#creativeGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creativeGroup".
+      "subaccountId": "A String", # Subaccount ID of this creative group. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this creative group. This is a required field and must be less than 256 characters long and unique among creative groups of the same advertiser.
+      "groupNumber": 42, # Subgroup of the creative group. Assign your creative groups to one of the following subgroups in order to filter or manage them more easily. This field is required on insertion and is read-only after insertion.
+          # Acceptable values are:
+          # - 1
+          # - 2
+      "advertiserId": "A String", # Advertiser ID of this creative group. This is a required field on insertion.
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "id": "A String", # ID of this creative group. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this creative group. This is a read-only field that can be left blank.
+    }
+
+ +
+ insert(profileId, body) +
Inserts a new creative group.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a creative group.
+    "kind": "dfareporting#creativeGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creativeGroup".
+    "subaccountId": "A String", # Subaccount ID of this creative group. This is a read-only field that can be left blank.
+    "name": "A String", # Name of this creative group. This is a required field and must be less than 256 characters long and unique among creative groups of the same advertiser.
+    "groupNumber": 42, # Subgroup of the creative group. Assign your creative groups to one of the following subgroups in order to filter or manage them more easily. This field is required on insertion and is read-only after insertion.
+        # Acceptable values are:
+        # - 1
+        # - 2
+    "advertiserId": "A String", # Advertiser ID of this creative group. This is a required field on insertion.
+    "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "id": "A String", # ID of this creative group. This is a read-only, auto-generated field.
+    "accountId": "A String", # Account ID of this creative group. This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a creative group.
+      "kind": "dfareporting#creativeGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creativeGroup".
+      "subaccountId": "A String", # Subaccount ID of this creative group. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this creative group. This is a required field and must be less than 256 characters long and unique among creative groups of the same advertiser.
+      "groupNumber": 42, # Subgroup of the creative group. Assign your creative groups to one of the following subgroups in order to filter or manage them more easily. This field is required on insertion and is read-only after insertion.
+          # Acceptable values are:
+          # - 1
+          # - 2
+      "advertiserId": "A String", # Advertiser ID of this creative group. This is a required field on insertion.
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "id": "A String", # ID of this creative group. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this creative group. This is a read-only field that can be left blank.
+    }
+
+ +
+ list(profileId, searchString=None, pageToken=None, sortField=None, advertiserIds=None, groupNumber=None, maxResults=None, ids=None, sortOrder=None) +
Retrieves a list of creative groups, possibly filtered.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  searchString: string, Allows searching for creative groups by name or ID. Wildcards (*) are allowed. For example, "creativegroup*2015" will return creative groups with names like "creativegroup June 2015", "creativegroup April 2015", or simply "creativegroup 2015". Most of the searches also add wild-cards implicitly at the start and the end of the search string. For example, a search string of "creativegroup" will match creative groups with the name "my creativegroup", "creativegroup 2015", or simply "creativegroup".
+  pageToken: string, Value of the nextPageToken from the previous result page.
+  sortField: string, Field by which to sort the list.
+    Allowed values
+      ID - 
+      NAME - 
+  advertiserIds: string, Select only creative groups that belong to these advertisers. (repeated)
+  groupNumber: integer, Select only creative groups that belong to this subgroup.
+  maxResults: integer, Maximum number of results to return.
+  ids: string, Select only creative groups with these IDs. (repeated)
+  sortOrder: string, Order of sorted results, default is ASCENDING.
+    Allowed values
+      ASCENDING - 
+      DESCENDING - 
+
+Returns:
+  An object of the form:
+
+    { # Creative Group List Response
+    "nextPageToken": "A String", # Pagination token to be used for the next list operation.
+    "creativeGroups": [ # Creative group collection.
+      { # Contains properties of a creative group.
+          "kind": "dfareporting#creativeGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creativeGroup".
+          "subaccountId": "A String", # Subaccount ID of this creative group. This is a read-only field that can be left blank.
+          "name": "A String", # Name of this creative group. This is a required field and must be less than 256 characters long and unique among creative groups of the same advertiser.
+          "groupNumber": 42, # Subgroup of the creative group. Assign your creative groups to one of the following subgroups in order to filter or manage them more easily. This field is required on insertion and is read-only after insertion.
+              # Acceptable values are:
+              # - 1
+              # - 2
+          "advertiserId": "A String", # Advertiser ID of this creative group. This is a required field on insertion.
+          "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "id": "A String", # ID of this creative group. This is a read-only, auto-generated field.
+          "accountId": "A String", # Account ID of this creative group. This is a read-only field that can be left blank.
+        },
+    ],
+    "kind": "dfareporting#creativeGroupsListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creativeGroupsListResponse".
+  }
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    
+
+ +
+ patch(profileId, id, body) +
Updates an existing creative group. This method supports patch semantics.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Creative group ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a creative group.
+    "kind": "dfareporting#creativeGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creativeGroup".
+    "subaccountId": "A String", # Subaccount ID of this creative group. This is a read-only field that can be left blank.
+    "name": "A String", # Name of this creative group. This is a required field and must be less than 256 characters long and unique among creative groups of the same advertiser.
+    "groupNumber": 42, # Subgroup of the creative group. Assign your creative groups to one of the following subgroups in order to filter or manage them more easily. This field is required on insertion and is read-only after insertion.
+        # Acceptable values are:
+        # - 1
+        # - 2
+    "advertiserId": "A String", # Advertiser ID of this creative group. This is a required field on insertion.
+    "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "id": "A String", # ID of this creative group. This is a read-only, auto-generated field.
+    "accountId": "A String", # Account ID of this creative group. This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a creative group.
+      "kind": "dfareporting#creativeGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creativeGroup".
+      "subaccountId": "A String", # Subaccount ID of this creative group. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this creative group. This is a required field and must be less than 256 characters long and unique among creative groups of the same advertiser.
+      "groupNumber": 42, # Subgroup of the creative group. Assign your creative groups to one of the following subgroups in order to filter or manage them more easily. This field is required on insertion and is read-only after insertion.
+          # Acceptable values are:
+          # - 1
+          # - 2
+      "advertiserId": "A String", # Advertiser ID of this creative group. This is a required field on insertion.
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "id": "A String", # ID of this creative group. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this creative group. This is a read-only field that can be left blank.
+    }
+
+ +
+ update(profileId, body) +
Updates an existing creative group.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a creative group.
+    "kind": "dfareporting#creativeGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creativeGroup".
+    "subaccountId": "A String", # Subaccount ID of this creative group. This is a read-only field that can be left blank.
+    "name": "A String", # Name of this creative group. This is a required field and must be less than 256 characters long and unique among creative groups of the same advertiser.
+    "groupNumber": 42, # Subgroup of the creative group. Assign your creative groups to one of the following subgroups in order to filter or manage them more easily. This field is required on insertion and is read-only after insertion.
+        # Acceptable values are:
+        # - 1
+        # - 2
+    "advertiserId": "A String", # Advertiser ID of this creative group. This is a required field on insertion.
+    "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "id": "A String", # ID of this creative group. This is a read-only, auto-generated field.
+    "accountId": "A String", # Account ID of this creative group. This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a creative group.
+      "kind": "dfareporting#creativeGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creativeGroup".
+      "subaccountId": "A String", # Subaccount ID of this creative group. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this creative group. This is a required field and must be less than 256 characters long and unique among creative groups of the same advertiser.
+      "groupNumber": 42, # Subgroup of the creative group. Assign your creative groups to one of the following subgroups in order to filter or manage them more easily. This field is required on insertion and is read-only after insertion.
+          # Acceptable values are:
+          # - 1
+          # - 2
+      "advertiserId": "A String", # Advertiser ID of this creative group. This is a required field on insertion.
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "id": "A String", # ID of this creative group. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this creative group. This is a read-only field that can be left blank.
+    }
+
+ + \ No newline at end of file diff --git a/docs/dyn/dfareporting_v2_5.creatives.html b/docs/dyn/dfareporting_v2_5.creatives.html new file mode 100644 index 00000000000..cdcaa77ad7f --- /dev/null +++ b/docs/dyn/dfareporting_v2_5.creatives.html @@ -0,0 +1,2893 @@ + + + +

DCM/DFA Reporting And Trafficking API . creatives

+

Instance Methods

+

+ get(profileId, id)

+

Gets one creative by ID.

+

+ insert(profileId, body)

+

Inserts a new creative.

+

+ list(profileId, campaignId=None, advertiserId=None, sizeIds=None, archived=None, pageToken=None, sortOrder=None, renderingIds=None, maxResults=None, active=None, companionCreativeIds=None, types=None, searchString=None, ids=None, studioCreativeId=None, sortField=None, creativeFieldIds=None)

+

Retrieves a list of creatives, possibly filtered.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

+ patch(profileId, id, body)

+

Updates an existing creative. This method supports patch semantics.

+

+ update(profileId, body)

+

Updates an existing creative.

+

Method Details

+
+ get(profileId, id) +
Gets one creative by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Creative ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a Creative.
+      "thirdPartyUrls": [ # Third-party URLs for tracking in-stream video creative events. Applicable to the following creative types: all INSTREAM_VIDEO and all VPAID.
+        { # Third-party Tracking URL.
+          "url": "A String", # URL for the specified third-party URL type.
+          "thirdPartyUrlType": "A String", # Third-party URL type for in-stream video creatives.
+        },
+      ],
+      "artworkType": "A String", # Type of artwork used for the creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "latestTraffickedCreativeId": "A String", # Latest Studio trafficked creative ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "videoDescription": "A String", # Description of the video ad. Applicable to the following creative types: all INSTREAM_VIDEO and all VPAID.
+      "advertiserId": "A String", # Advertiser ID of this creative. This is a required field. Applicable to all creative types.
+      "requiredFlashPluginVersion": "A String", # The minimum required Flash plugin version for this creative. For example, 11.2.202.235. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "thirdPartyBackupImageImpressionsUrl": "A String", # Third-party URL used to record backup image impressions. Applicable to the following creative types: all RICH_MEDIA.
+      "timerCustomEvents": [ # List of timer events configured for the creative. For DISPLAY_IMAGE_GALLERY creatives, these are read-only and auto-generated from clickTags. Applicable to the following creative types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID. Applicable to DISPLAY when the primary asset is not HTML_IMAGE.
+        { # Creative Custom Event.
+          "targetType": "A String", # Target type used by the event.
+          "artworkType": "A String", # Artwork type used by the creative.This is a read-only field.
+          "videoReportingId": "A String", # Video reporting ID, used to differentiate multiple videos in a single creative. This is a read-only field.
+          "popupWindowProperties": { # Popup Window Properties. # Properties for rich media popup windows. This field is used only for exit events.
+            "showStatusBar": True or False, # Whether to display the browser status bar.
+            "showScrollBar": True or False, # Whether to display the browser scroll bar.
+            "showAddressBar": True or False, # Whether to display the browser address bar.
+            "showMenuBar": True or False, # Whether to display the browser menu bar.
+            "title": "A String", # Title of popup window.
+            "showToolBar": True or False, # Whether to display the browser tool bar.
+            "positionType": "A String", # Popup window position either centered or at specific coordinate.
+            "offset": { # Offset Position. # Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.
+              "top": 42, # Offset distance from top side of an asset or a window.
+              "left": 42, # Offset distance from left side of an asset or a window.
+            },
+            "dimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID
+              "width": 42, # Width of this size.
+              "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+              "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+              "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+              "height": 42, # Height of this size.
+            },
+          },
+          "advertiserCustomEventId": "A String", # Unique ID of this event used by DDM Reporting and Data Transfer. This is a read-only field.
+          "artworkLabel": "A String", # Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion.
+          "advertiserCustomEventType": "A String", # Type of the event. This is a read-only field.
+          "exitUrl": "A String", # Exit URL of the event. This field is used only for exit events.
+          "id": "A String", # ID of this event. This is a required field and should not be modified after insertion.
+          "advertiserCustomEventName": "A String", # User-entered name for the event.
+        },
+      ],
+      "renderingIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the rendering ID of this creative. This is a read-only field. Applicable to all creative types.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "fsCommand": { # FsCommand. # OpenWindow FSCommand of this creative. This lets the SWF file communicate with either Flash Player or the program hosting Flash Player, such as a web browser. This is only triggered if allowScriptAccess field is true. Applicable to the following creative types: FLASH_INPAGE.
+        "windowHeight": 42, # Height of the window.
+        "top": 42, # Distance from the top of the browser. Applicable when positionOption is DISTANCE_FROM_TOP_LEFT_CORNER.
+        "windowWidth": 42, # Width of the window.
+        "positionOption": "A String", # Position in the browser where the window will open.
+        "left": 42, # Distance from the left of the browser.Applicable when positionOption is DISTANCE_FROM_TOP_LEFT_CORNER.
+      },
+      "id": "A String", # ID of this creative. This is a read-only, auto-generated field. Applicable to all creative types.
+      "accountId": "A String", # Account ID of this creative. This field, if left unset, will be auto-generated for both insert and update operations. Applicable to all creative types.
+      "studioTraffickedCreativeId": "A String", # Studio trafficked creative ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "archived": True or False, # Whether the creative is archived. Applicable to all creative types.
+      "overrideCss": "A String", # Override CSS value for rich media creatives. Applicable to the following creative types: all RICH_MEDIA.
+      "authoringSource": "A String", # Source application where creative was authored. Presently, only DBM authored creatives will have this field set. Applicable to all creative types.
+      "requiredFlashVersion": 42, # The internal Flash version for this creative as calculated by DoubleClick Studio. This is a read-only field. Applicable to the following creative types: FLASH_INPAGE all RICH_MEDIA, and all VPAID. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+      "exitCustomEvents": [ # List of exit events configured for the creative. For DISPLAY and DISPLAY_IMAGE_GALLERY creatives, these are read-only and auto-generated from clickTags, For DISPLAY, an event is also created from the backupImageReportingLabel. Applicable to the following creative types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+        { # Creative Custom Event.
+          "targetType": "A String", # Target type used by the event.
+          "artworkType": "A String", # Artwork type used by the creative.This is a read-only field.
+          "videoReportingId": "A String", # Video reporting ID, used to differentiate multiple videos in a single creative. This is a read-only field.
+          "popupWindowProperties": { # Popup Window Properties. # Properties for rich media popup windows. This field is used only for exit events.
+            "showStatusBar": True or False, # Whether to display the browser status bar.
+            "showScrollBar": True or False, # Whether to display the browser scroll bar.
+            "showAddressBar": True or False, # Whether to display the browser address bar.
+            "showMenuBar": True or False, # Whether to display the browser menu bar.
+            "title": "A String", # Title of popup window.
+            "showToolBar": True or False, # Whether to display the browser tool bar.
+            "positionType": "A String", # Popup window position either centered or at specific coordinate.
+            "offset": { # Offset Position. # Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.
+              "top": 42, # Offset distance from top side of an asset or a window.
+              "left": 42, # Offset distance from left side of an asset or a window.
+            },
+            "dimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID
+              "width": 42, # Width of this size.
+              "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+              "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+              "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+              "height": 42, # Height of this size.
+            },
+          },
+          "advertiserCustomEventId": "A String", # Unique ID of this event used by DDM Reporting and Data Transfer. This is a read-only field.
+          "artworkLabel": "A String", # Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion.
+          "advertiserCustomEventType": "A String", # Type of the event. This is a read-only field.
+          "exitUrl": "A String", # Exit URL of the event. This field is used only for exit events.
+          "id": "A String", # ID of this event. This is a required field and should not be modified after insertion.
+          "advertiserCustomEventName": "A String", # User-entered name for the event.
+        },
+      ],
+      "renderingId": "A String", # ID of current rendering version. This is a read-only field. Applicable to all creative types.
+      "counterCustomEvents": [ # List of counter events configured for the creative. For DISPLAY_IMAGE_GALLERY creatives, these are read-only and auto-generated from clickTags. Applicable to the following creative types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID.
+        { # Creative Custom Event.
+          "targetType": "A String", # Target type used by the event.
+          "artworkType": "A String", # Artwork type used by the creative.This is a read-only field.
+          "videoReportingId": "A String", # Video reporting ID, used to differentiate multiple videos in a single creative. This is a read-only field.
+          "popupWindowProperties": { # Popup Window Properties. # Properties for rich media popup windows. This field is used only for exit events.
+            "showStatusBar": True or False, # Whether to display the browser status bar.
+            "showScrollBar": True or False, # Whether to display the browser scroll bar.
+            "showAddressBar": True or False, # Whether to display the browser address bar.
+            "showMenuBar": True or False, # Whether to display the browser menu bar.
+            "title": "A String", # Title of popup window.
+            "showToolBar": True or False, # Whether to display the browser tool bar.
+            "positionType": "A String", # Popup window position either centered or at specific coordinate.
+            "offset": { # Offset Position. # Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.
+              "top": 42, # Offset distance from top side of an asset or a window.
+              "left": 42, # Offset distance from left side of an asset or a window.
+            },
+            "dimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID
+              "width": 42, # Width of this size.
+              "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+              "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+              "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+              "height": 42, # Height of this size.
+            },
+          },
+          "advertiserCustomEventId": "A String", # Unique ID of this event used by DDM Reporting and Data Transfer. This is a read-only field.
+          "artworkLabel": "A String", # Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion.
+          "advertiserCustomEventType": "A String", # Type of the event. This is a read-only field.
+          "exitUrl": "A String", # Exit URL of the event. This field is used only for exit events.
+          "id": "A String", # ID of this event. This is a required field and should not be modified after insertion.
+          "advertiserCustomEventName": "A String", # User-entered name for the event.
+        },
+      ],
+      "backupImageReportingLabel": "A String", # Reporting label used for HTML5 banner backup image. Applicable to the following creative types: DISPLAY when the primary asset type is not HTML_IMAGE.
+      "version": 42, # The version number helps you keep track of multiple versions of your creative in your reports. The version number will always be auto-generated during insert operations to start at 1. For tracking creatives the version cannot be incremented and will always remain at 1. For all other creative types the version can be incremented only by 1 during update operations. In addition, the version will be automatically incremented by 1 when undergoing Rich Media creative merging. Applicable to all creative types.
+      "creativeFieldAssignments": [ # Creative field assignments for this creative. Applicable to all creative types.
+        { # Creative Field Assignment.
+          "creativeFieldId": "A String", # ID of the creative field.
+          "creativeFieldValueId": "A String", # ID of the creative field value.
+        },
+      ],
+      "backgroundColor": "A String", # The 6-character HTML color code, beginning with #, for the background of the window area where the Flash file is displayed. Default is white. Applicable to the following creative types: FLASH_INPAGE.
+      "customKeyValues": [ # Custom key-values for a Rich Media creative. Key-values let you customize the creative settings of a Rich Media ad running on your site without having to contact the advertiser. You can use key-values to dynamically change the look or functionality of a creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+        "A String",
+      ],
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this creative. This is a read-only field. Applicable to all creative types.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "htmlCode": "A String", # HTML code for the creative. This is a required field when applicable. This field is ignored if htmlCodeLocked is false. Applicable to the following creative types: all CUSTOM, FLASH_INPAGE, and HTML5_BANNER, and all RICH_MEDIA.
+      "size": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size associated with this creative. When inserting or updating a creative either the size ID field or size width and height fields can be used. This is a required field when applicable; however for IMAGE, FLASH_INPAGE creatives, and for DISPLAY creatives with a primary asset of type HTML_IMAGE, if left blank, this field will be automatically set using the actual size of the associated image assets. Applicable to the following creative types: DISPLAY, DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER, IMAGE, and all RICH_MEDIA.
+        "width": 42, # Width of this size.
+        "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+        "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+        "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+        "height": 42, # Height of this size.
+      },
+      "type": "A String", # Type of this creative.This is a required field. Applicable to all creative types.
+      "totalFileSize": "A String", # Combined size of all creative assets. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "thirdPartyRichMediaImpressionsUrl": "A String", # Third-party URL used to record rich media impressions. Applicable to the following creative types: all RICH_MEDIA.
+      "studioAdvertiserId": "A String", # Studio advertiser ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "creativeAssets": [ # Assets associated with a creative. Applicable to all but the following creative types: INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and REDIRECT
+        { # Creative Asset.
+          "mimeType": "A String", # Detected MIME type for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+          "artworkType": "A String", # Artwork type of rich media creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+          "positionLeftUnit": "A String", # Offset left unit for an asset. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+          "collapsedSize": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size of an asset when collapsed. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID. Additionally, applicable to assets whose displayType is ASSET_DISPLAY_TYPE_EXPANDING or ASSET_DISPLAY_TYPE_PEEL_DOWN.
+            "width": 42, # Width of this size.
+            "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+            "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+            "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+            "height": 42, # Height of this size.
+          },
+          "flashVersion": 42, # Flash version of the asset. This is a read-only field. Applicable to the following creative types: FLASH_INPAGE, all RICH_MEDIA, and all VPAID. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+          "pushdown": True or False, # Whether the asset pushes down other content. Applicable to the following creative types: all RICH_MEDIA. Additionally, only applicable when the asset offsets are 0, the collapsedSize.width matches size.width, and the collapsedSize.height is less than size.height.
+          "hideFlashObjects": True or False, # Whether to hide Flash objects flag for an asset. Applicable to the following creative types: all RICH_MEDIA.
+          "detectedFeatures": [ # List of feature dependencies for the creative asset that are detected by DCM. Feature dependencies are features that a browser must be able to support in order to render your HTML5 creative correctly. This is a read-only, auto-generated field. Applicable to the following creative types: HTML5_BANNER. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+            "A String",
+          ],
+          "duration": 42, # Duration in seconds for which an asset will be displayed. Applicable to the following creative types: INSTREAM_VIDEO and VPAID_LINEAR_VIDEO.
+          "positionTopUnit": "A String", # Offset top unit for an asset. This is a read-only field if the asset displayType is ASSET_DISPLAY_TYPE_OVERLAY. Applicable to the following creative types: all RICH_MEDIA.
+          "id": "A String", # Numeric ID of this creative asset. This is a required field and should not be modified. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.
+          "alignment": "A String", # Possible alignments for an asset. This is a read-only field. Applicable to the following creative types: RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL.
+          "size": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size associated with this creative asset. This is a required field when applicable; however for IMAGE and FLASH_INPAGE, creatives if left blank, this field will be automatically set using the actual size of the associated image asset. Applicable to the following creative types: DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER, IMAGE, and all RICH_MEDIA. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+            "width": 42, # Width of this size.
+            "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+            "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+            "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+            "height": 42, # Height of this size.
+          },
+          "horizontallyLocked": True or False, # Whether the asset is horizontally locked. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+          "startTimeType": "A String", # Initial wait time type before making the asset visible. Applicable to the following creative types: all RICH_MEDIA.
+          "displayType": "A String", # Type of rich media asset. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+          "expandedDimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Detected expanded dimension for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+            "width": 42, # Width of this size.
+            "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+            "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+            "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+            "height": 42, # Height of this size.
+          },
+          "verticallyLocked": True or False, # Whether the asset is vertically locked. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+          "role": "A String", # Role of the asset in relation to creative. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT. This is a required field.
+              # PRIMARY applies to DISPLAY, FLASH_INPAGE, HTML5_BANNER, IMAGE, DISPLAY_IMAGE_GALLERY, all RICH_MEDIA (which may contain multiple primary assets), and all VPAID creatives.
+              # BACKUP_IMAGE applies to FLASH_INPAGE, HTML5_BANNER, all RICH_MEDIA, and all VPAID creatives. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+              # ADDITIONAL_IMAGE and ADDITIONAL_FLASH apply to FLASH_INPAGE creatives.
+              # OTHER refers to assets from sources other than DCM, such as Studio uploaded assets, applicable to all RICH_MEDIA and all VPAID creatives.
+              # PARENT_VIDEO refers to videos uploaded by the user in DCM and is applicable to INSTREAM_VIDEO and VPAID_LINEAR_VIDEO creatives.
+              # TRANSCODED_VIDEO refers to videos transcoded by DCM from PARENT_VIDEO assets and is applicable to INSTREAM_VIDEO and VPAID_LINEAR_VIDEO creatives.
+              # ALTERNATE_VIDEO refers to the DCM representation of child asset videos from Studio, and is applicable to VPAID_LINEAR_VIDEO creatives. These cannot be added or removed within DCM.
+              # For VPAID_LINEAR_VIDEO creatives, PARENT_VIDEO, TRANSCODED_VIDEO and ALTERNATE_VIDEO assets that are marked active serve as backup in case the VPAID creative cannot be served. Only PARENT_VIDEO assets can be added or removed for an INSTREAM_VIDEO or VPAID_LINEAR_VIDEO creative.
+          "zipFilesize": "A String", # Size of zip file. This is a read-only field. Applicable to the following creative types: HTML5_BANNER.
+          "bitRate": 42, # Detected bit-rate for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+          "windowMode": "A String", # Window mode options for flash assets. Applicable to the following creative types: FLASH_INPAGE, RICH_MEDIA_DISPLAY_EXPANDING, RICH_MEDIA_IM_EXPAND, RICH_MEDIA_DISPLAY_BANNER, and RICH_MEDIA_INPAGE_FLOATING.
+          "progressiveServingUrl": "A String", # Progressive URL for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+          "durationType": "A String", # Duration type for which an asset will be displayed. Applicable to the following creative types: all RICH_MEDIA.
+          "videoDuration": 3.14, # Detected video duration for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+          "fileSize": "A String", # File size associated with this creative asset. This is a read-only field. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.
+          "zipFilename": "A String", # File name of zip file. This is a read-only field. Applicable to the following creative types: HTML5_BANNER.
+          "offset": { # Offset Position. # Offset position for an asset in collapsed mode. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID. Additionally, only applicable to assets whose displayType is ASSET_DISPLAY_TYPE_EXPANDING or ASSET_DISPLAY_TYPE_PEEL_DOWN.
+            "top": 42, # Offset distance from top side of an asset or a window.
+            "left": 42, # Offset distance from left side of an asset or a window.
+          },
+          "active": True or False, # Whether the video asset is active. This is a read-only field for VPAID_NON_LINEAR_VIDEO assets. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+          "originalBackup": True or False, # Whether the backup asset is original or changed by the user in DCM. Applicable to the following creative types: all RICH_MEDIA.
+          "hideSelectionBoxes": True or False, # Whether to hide selection boxes flag for an asset. Applicable to the following creative types: all RICH_MEDIA.
+          "streamingServingUrl": "A String", # Streaming URL for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+          "zIndex": 42, # zIndex value of an asset. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.Additionally, only applicable to assets whose displayType is NOT one of the following types: ASSET_DISPLAY_TYPE_INPAGE or ASSET_DISPLAY_TYPE_OVERLAY.
+          "childAssetType": "A String", # Rich media child asset type. This is a read-only field. Applicable to the following creative types: all VPAID.
+          "backupImageExit": { # Creative Custom Event. # Exit event configured for the backup image. Applicable to the following creative types: all RICH_MEDIA.
+            "targetType": "A String", # Target type used by the event.
+            "artworkType": "A String", # Artwork type used by the creative.This is a read-only field.
+            "videoReportingId": "A String", # Video reporting ID, used to differentiate multiple videos in a single creative. This is a read-only field.
+            "popupWindowProperties": { # Popup Window Properties. # Properties for rich media popup windows. This field is used only for exit events.
+              "showStatusBar": True or False, # Whether to display the browser status bar.
+              "showScrollBar": True or False, # Whether to display the browser scroll bar.
+              "showAddressBar": True or False, # Whether to display the browser address bar.
+              "showMenuBar": True or False, # Whether to display the browser menu bar.
+              "title": "A String", # Title of popup window.
+              "showToolBar": True or False, # Whether to display the browser tool bar.
+              "positionType": "A String", # Popup window position either centered or at specific coordinate.
+              "offset": { # Offset Position. # Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.
+                "top": 42, # Offset distance from top side of an asset or a window.
+                "left": 42, # Offset distance from left side of an asset or a window.
+              },
+              "dimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID
+                "width": 42, # Width of this size.
+                "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+                "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+                "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+                "height": 42, # Height of this size.
+              },
+            },
+            "advertiserCustomEventId": "A String", # Unique ID of this event used by DDM Reporting and Data Transfer. This is a read-only field.
+            "artworkLabel": "A String", # Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion.
+            "advertiserCustomEventType": "A String", # Type of the event. This is a read-only field.
+            "exitUrl": "A String", # Exit URL of the event. This field is used only for exit events.
+            "id": "A String", # ID of this event. This is a required field and should not be modified after insertion.
+            "advertiserCustomEventName": "A String", # User-entered name for the event.
+          },
+          "actionScript3": True or False, # Whether ActionScript3 is enabled for the flash asset. This is a read-only field. Applicable to the following creative type: FLASH_INPAGE. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+          "pushdownDuration": 3.14, # Pushdown duration in seconds for an asset. Must be between 0 and 9.99. Applicable to the following creative types: all RICH_MEDIA.Additionally, only applicable when the asset pushdown field is true, the offsets are 0, the collapsedSize.width matches size.width, and the collapsedSize.height is less than size.height.
+          "assetIdentifier": { # Creative Asset ID. # Identifier of this asset. This is the same identifier returned during creative asset insert operation. This is a required field. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.
+            "type": "A String", # Type of asset to upload. This is a required field. IMAGE is solely used for IMAGE creatives. Other image assets should use HTML_IMAGE.
+            "name": "A String", # Name of the creative asset. This is a required field while inserting an asset. After insertion, this assetIdentifier is used to identify the uploaded asset. Characters in the name must be alphanumeric or one of the following: ".-_ ". Spaces are allowed.
+          },
+          "transparency": True or False, # Whether the asset is transparent. Applicable to the following creative types: all RICH_MEDIA. Additionally, only applicable to HTML5 assets.
+          "sslCompliant": True or False, # Whether the asset is SSL-compliant. This is a read-only field. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.
+          "position": { # Offset Position. # Offset position for an asset. Applicable to the following creative types: all RICH_MEDIA.
+            "top": 42, # Offset distance from top side of an asset or a window.
+            "left": 42, # Offset distance from left side of an asset or a window.
+          },
+          "customStartTimeValue": 42, # Custom start time in seconds for making the asset visible. Applicable to the following creative types: all RICH_MEDIA.
+        },
+      ],
+      "redirectUrl": "A String", # URL of hosted image or hosted video or another ad tag. For INSTREAM_VIDEO_REDIRECT creatives this is the in-stream video redirect URL. The standard for a VAST (Video Ad Serving Template) ad response allows for a redirect link to another VAST 2.0 or 3.0 call. This is a required field when applicable. Applicable to the following creative types: DISPLAY_REDIRECT, INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and INSTREAM_VIDEO_REDIRECT
+      "videoDuration": 3.14, # Creative video duration in seconds. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO, all RICH_MEDIA, and all VPAID.
+      "htmlCodeLocked": True or False, # Whether HTML code is DCM-generated or manually entered. Set to true to ignore changes to htmlCode. Applicable to the following creative types: FLASH_INPAGE and HTML5_BANNER.
+      "convertFlashToHtml5": True or False, # Whether Flash assets associated with the creative need to be automatically converted to HTML5. This flag is enabled by default and users can choose to disable it if they don't want the system to generate and use HTML5 asset for this creative. Applicable to the following creative type: FLASH_INPAGE. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+      "clickTags": [ # Click tags of the creative. For DISPLAY, FLASH_INPAGE, and HTML5_BANNER creatives, this is a subset of detected click tags for the assets associated with this creative. After creating a flash asset, detected click tags will be returned in the creativeAssetMetadata. When inserting the creative, populate the creative clickTags field using the creativeAssetMetadata.clickTags field. For DISPLAY_IMAGE_GALLERY creatives, there should be exactly one entry in this list for each image creative asset. A click tag is matched with a corresponding creative asset by matching the clickTag.name field with the creativeAsset.assetIdentifier.name field. Applicable to the following creative types: DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+        { # Creative Click Tag.
+          "eventName": "A String", # Advertiser event name associated with the click tag. This field is used by ENHANCED_BANNER, ENHANCED_IMAGE, and HTML5_BANNER creatives.
+          "name": "A String", # Parameter name for the specified click tag. For ENHANCED_IMAGE creative assets, this field must match the value of the creative asset's creativeAssetId.name field.
+          "value": "A String", # Parameter value for the specified click tag. This field contains a click-through url.
+        },
+      ],
+      "commercialId": "A String", # Industry standard ID assigned to creative for reach and frequency. Applicable to the following creative types: all INSTREAM_VIDEO and all VPAID.
+      "active": True or False, # Whether the creative is active. Applicable to all creative types.
+      "compatibility": [ # Compatibilities associated with this creative. This is a read-only field. DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on desktop or on mobile devices or in mobile apps for regular or interstitial ads, respectively. APP and APP_INTERSTITIAL  are for rendering in mobile apps. Only pre-existing creatives may have these compatibilities since new creatives will either be assigned DISPLAY or DISPLAY_INTERSTITIAL instead. IN_STREAM_VIDEO refers to rendering in in-stream video ads developed with the VAST standard. Applicable to all creative types.
+          #
+          # Acceptable values are:
+          # - "APP"
+          # - "APP_INTERSTITIAL"
+          # - "IN_STREAM_VIDEO"
+          # - "DISPLAY"
+          # - "DISPLAY_INTERSTITIAL"
+        "A String",
+      ],
+      "adParameters": "A String", # Ad parameters user for VPAID creative. This is a read-only field. Applicable to the following creative types: all VPAID.
+      "adTagKeys": [ # Keywords for a Rich Media creative. Keywords let you customize the creative settings of a Rich Media ad running on your site without having to contact the advertiser. You can use keywords to dynamically change the look or functionality of a creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+        "A String",
+      ],
+      "kind": "dfareporting#creative", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creative".
+      "subaccountId": "A String", # Subaccount ID of this creative. This field, if left unset, will be auto-generated for both insert and update operations. Applicable to all creative types.
+      "name": "A String", # Name of the creative. This is a required field and must be less than 256 characters long. Applicable to all creative types.
+      "sslOverride": True or False, # Whether creative should be treated as SSL compliant even if the system scan shows it's not. Applicable to all creative types.
+      "lastModifiedInfo": { # Modification timestamp. # Creative last modification information. This is a read-only field. Applicable to all creative types.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "backupImageClickThroughUrl": "A String", # Click-through URL for backup image. Applicable to the following creative types: FLASH_INPAGE and HTML5_BANNER. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+      "sslCompliant": True or False, # Whether the creative is SSL-compliant. This is a read-only field. Applicable to all creative types.
+      "studioCreativeId": "A String", # Studio creative ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "authoringTool": "A String", # Authoring tool for HTML5 banner creatives. This is a read-only field. Applicable to the following creative types: HTML5_BANNER.
+      "allowScriptAccess": True or False, # Whether script access is allowed for this creative. This is a read-only and deprecated field which will automatically be set to true on update. Applicable to the following creative types: FLASH_INPAGE.
+      "companionCreatives": [ # List of companion creatives assigned to an in-Stream videocreative. Acceptable values include IDs of existing flash and image creatives. Applicable to the following creative types: all INSTREAM_VIDEO and all VPAID.
+        "A String",
+      ],
+      "auto_advance_images": True or False, # Whether images are automatically advanced for enhanced image creatives. Applicable to the following creative types: DISPLAY_IMAGE_GALLERY.
+      "backupImageFeatures": [ # List of feature dependencies that will cause a backup image to be served if the browser that serves the ad does not support them. Feature dependencies are features that a browser must be able to support in order to render your HTML5 creative asset correctly. This field is initially auto-generated to contain all features detected by DCM for all the assets of this creative and can then be modified by the client. To reset this field, copy over all the creativeAssets' detected features. Applicable to the following creative types: HTML5_BANNER. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+        "A String",
+      ],
+      "backupImageTargetWindow": { # Target Window. # Target window for backup image. Applicable to the following creative types: FLASH_INPAGE and HTML5_BANNER. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+        "customHtml": "A String", # User-entered value.
+        "targetWindowOption": "A String", # Type of browser window for which the backup image of the flash creative can be displayed.
+      },
+      "skippable": True or False, # Whether the user can choose to skip the creative. Applicable to the following creative types: all INSTREAM_VIDEO and all VPAID.
+    }
+
+ +
+ insert(profileId, body) +
Inserts a new creative.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a Creative.
+    "thirdPartyUrls": [ # Third-party URLs for tracking in-stream video creative events. Applicable to the following creative types: all INSTREAM_VIDEO and all VPAID.
+      { # Third-party Tracking URL.
+        "url": "A String", # URL for the specified third-party URL type.
+        "thirdPartyUrlType": "A String", # Third-party URL type for in-stream video creatives.
+      },
+    ],
+    "artworkType": "A String", # Type of artwork used for the creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+    "latestTraffickedCreativeId": "A String", # Latest Studio trafficked creative ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+    "videoDescription": "A String", # Description of the video ad. Applicable to the following creative types: all INSTREAM_VIDEO and all VPAID.
+    "advertiserId": "A String", # Advertiser ID of this creative. This is a required field. Applicable to all creative types.
+    "requiredFlashPluginVersion": "A String", # The minimum required Flash plugin version for this creative. For example, 11.2.202.235. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+    "thirdPartyBackupImageImpressionsUrl": "A String", # Third-party URL used to record backup image impressions. Applicable to the following creative types: all RICH_MEDIA.
+    "timerCustomEvents": [ # List of timer events configured for the creative. For DISPLAY_IMAGE_GALLERY creatives, these are read-only and auto-generated from clickTags. Applicable to the following creative types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID. Applicable to DISPLAY when the primary asset is not HTML_IMAGE.
+      { # Creative Custom Event.
+        "targetType": "A String", # Target type used by the event.
+        "artworkType": "A String", # Artwork type used by the creative.This is a read-only field.
+        "videoReportingId": "A String", # Video reporting ID, used to differentiate multiple videos in a single creative. This is a read-only field.
+        "popupWindowProperties": { # Popup Window Properties. # Properties for rich media popup windows. This field is used only for exit events.
+          "showStatusBar": True or False, # Whether to display the browser status bar.
+          "showScrollBar": True or False, # Whether to display the browser scroll bar.
+          "showAddressBar": True or False, # Whether to display the browser address bar.
+          "showMenuBar": True or False, # Whether to display the browser menu bar.
+          "title": "A String", # Title of popup window.
+          "showToolBar": True or False, # Whether to display the browser tool bar.
+          "positionType": "A String", # Popup window position either centered or at specific coordinate.
+          "offset": { # Offset Position. # Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.
+            "top": 42, # Offset distance from top side of an asset or a window.
+            "left": 42, # Offset distance from left side of an asset or a window.
+          },
+          "dimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID
+            "width": 42, # Width of this size.
+            "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+            "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+            "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+            "height": 42, # Height of this size.
+          },
+        },
+        "advertiserCustomEventId": "A String", # Unique ID of this event used by DDM Reporting and Data Transfer. This is a read-only field.
+        "artworkLabel": "A String", # Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion.
+        "advertiserCustomEventType": "A String", # Type of the event. This is a read-only field.
+        "exitUrl": "A String", # Exit URL of the event. This field is used only for exit events.
+        "id": "A String", # ID of this event. This is a required field and should not be modified after insertion.
+        "advertiserCustomEventName": "A String", # User-entered name for the event.
+      },
+    ],
+    "renderingIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the rendering ID of this creative. This is a read-only field. Applicable to all creative types.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "fsCommand": { # FsCommand. # OpenWindow FSCommand of this creative. This lets the SWF file communicate with either Flash Player or the program hosting Flash Player, such as a web browser. This is only triggered if allowScriptAccess field is true. Applicable to the following creative types: FLASH_INPAGE.
+      "windowHeight": 42, # Height of the window.
+      "top": 42, # Distance from the top of the browser. Applicable when positionOption is DISTANCE_FROM_TOP_LEFT_CORNER.
+      "windowWidth": 42, # Width of the window.
+      "positionOption": "A String", # Position in the browser where the window will open.
+      "left": 42, # Distance from the left of the browser.Applicable when positionOption is DISTANCE_FROM_TOP_LEFT_CORNER.
+    },
+    "id": "A String", # ID of this creative. This is a read-only, auto-generated field. Applicable to all creative types.
+    "accountId": "A String", # Account ID of this creative. This field, if left unset, will be auto-generated for both insert and update operations. Applicable to all creative types.
+    "studioTraffickedCreativeId": "A String", # Studio trafficked creative ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+    "archived": True or False, # Whether the creative is archived. Applicable to all creative types.
+    "overrideCss": "A String", # Override CSS value for rich media creatives. Applicable to the following creative types: all RICH_MEDIA.
+    "authoringSource": "A String", # Source application where creative was authored. Presently, only DBM authored creatives will have this field set. Applicable to all creative types.
+    "requiredFlashVersion": 42, # The internal Flash version for this creative as calculated by DoubleClick Studio. This is a read-only field. Applicable to the following creative types: FLASH_INPAGE all RICH_MEDIA, and all VPAID. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+    "exitCustomEvents": [ # List of exit events configured for the creative. For DISPLAY and DISPLAY_IMAGE_GALLERY creatives, these are read-only and auto-generated from clickTags, For DISPLAY, an event is also created from the backupImageReportingLabel. Applicable to the following creative types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+      { # Creative Custom Event.
+        "targetType": "A String", # Target type used by the event.
+        "artworkType": "A String", # Artwork type used by the creative.This is a read-only field.
+        "videoReportingId": "A String", # Video reporting ID, used to differentiate multiple videos in a single creative. This is a read-only field.
+        "popupWindowProperties": { # Popup Window Properties. # Properties for rich media popup windows. This field is used only for exit events.
+          "showStatusBar": True or False, # Whether to display the browser status bar.
+          "showScrollBar": True or False, # Whether to display the browser scroll bar.
+          "showAddressBar": True or False, # Whether to display the browser address bar.
+          "showMenuBar": True or False, # Whether to display the browser menu bar.
+          "title": "A String", # Title of popup window.
+          "showToolBar": True or False, # Whether to display the browser tool bar.
+          "positionType": "A String", # Popup window position either centered or at specific coordinate.
+          "offset": { # Offset Position. # Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.
+            "top": 42, # Offset distance from top side of an asset or a window.
+            "left": 42, # Offset distance from left side of an asset or a window.
+          },
+          "dimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID
+            "width": 42, # Width of this size.
+            "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+            "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+            "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+            "height": 42, # Height of this size.
+          },
+        },
+        "advertiserCustomEventId": "A String", # Unique ID of this event used by DDM Reporting and Data Transfer. This is a read-only field.
+        "artworkLabel": "A String", # Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion.
+        "advertiserCustomEventType": "A String", # Type of the event. This is a read-only field.
+        "exitUrl": "A String", # Exit URL of the event. This field is used only for exit events.
+        "id": "A String", # ID of this event. This is a required field and should not be modified after insertion.
+        "advertiserCustomEventName": "A String", # User-entered name for the event.
+      },
+    ],
+    "renderingId": "A String", # ID of current rendering version. This is a read-only field. Applicable to all creative types.
+    "counterCustomEvents": [ # List of counter events configured for the creative. For DISPLAY_IMAGE_GALLERY creatives, these are read-only and auto-generated from clickTags. Applicable to the following creative types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID.
+      { # Creative Custom Event.
+        "targetType": "A String", # Target type used by the event.
+        "artworkType": "A String", # Artwork type used by the creative.This is a read-only field.
+        "videoReportingId": "A String", # Video reporting ID, used to differentiate multiple videos in a single creative. This is a read-only field.
+        "popupWindowProperties": { # Popup Window Properties. # Properties for rich media popup windows. This field is used only for exit events.
+          "showStatusBar": True or False, # Whether to display the browser status bar.
+          "showScrollBar": True or False, # Whether to display the browser scroll bar.
+          "showAddressBar": True or False, # Whether to display the browser address bar.
+          "showMenuBar": True or False, # Whether to display the browser menu bar.
+          "title": "A String", # Title of popup window.
+          "showToolBar": True or False, # Whether to display the browser tool bar.
+          "positionType": "A String", # Popup window position either centered or at specific coordinate.
+          "offset": { # Offset Position. # Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.
+            "top": 42, # Offset distance from top side of an asset or a window.
+            "left": 42, # Offset distance from left side of an asset or a window.
+          },
+          "dimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID
+            "width": 42, # Width of this size.
+            "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+            "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+            "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+            "height": 42, # Height of this size.
+          },
+        },
+        "advertiserCustomEventId": "A String", # Unique ID of this event used by DDM Reporting and Data Transfer. This is a read-only field.
+        "artworkLabel": "A String", # Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion.
+        "advertiserCustomEventType": "A String", # Type of the event. This is a read-only field.
+        "exitUrl": "A String", # Exit URL of the event. This field is used only for exit events.
+        "id": "A String", # ID of this event. This is a required field and should not be modified after insertion.
+        "advertiserCustomEventName": "A String", # User-entered name for the event.
+      },
+    ],
+    "backupImageReportingLabel": "A String", # Reporting label used for HTML5 banner backup image. Applicable to the following creative types: DISPLAY when the primary asset type is not HTML_IMAGE.
+    "version": 42, # The version number helps you keep track of multiple versions of your creative in your reports. The version number will always be auto-generated during insert operations to start at 1. For tracking creatives the version cannot be incremented and will always remain at 1. For all other creative types the version can be incremented only by 1 during update operations. In addition, the version will be automatically incremented by 1 when undergoing Rich Media creative merging. Applicable to all creative types.
+    "creativeFieldAssignments": [ # Creative field assignments for this creative. Applicable to all creative types.
+      { # Creative Field Assignment.
+        "creativeFieldId": "A String", # ID of the creative field.
+        "creativeFieldValueId": "A String", # ID of the creative field value.
+      },
+    ],
+    "backgroundColor": "A String", # The 6-character HTML color code, beginning with #, for the background of the window area where the Flash file is displayed. Default is white. Applicable to the following creative types: FLASH_INPAGE.
+    "customKeyValues": [ # Custom key-values for a Rich Media creative. Key-values let you customize the creative settings of a Rich Media ad running on your site without having to contact the advertiser. You can use key-values to dynamically change the look or functionality of a creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "A String",
+    ],
+    "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this creative. This is a read-only field. Applicable to all creative types.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "htmlCode": "A String", # HTML code for the creative. This is a required field when applicable. This field is ignored if htmlCodeLocked is false. Applicable to the following creative types: all CUSTOM, FLASH_INPAGE, and HTML5_BANNER, and all RICH_MEDIA.
+    "size": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size associated with this creative. When inserting or updating a creative either the size ID field or size width and height fields can be used. This is a required field when applicable; however for IMAGE, FLASH_INPAGE creatives, and for DISPLAY creatives with a primary asset of type HTML_IMAGE, if left blank, this field will be automatically set using the actual size of the associated image assets. Applicable to the following creative types: DISPLAY, DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER, IMAGE, and all RICH_MEDIA.
+      "width": 42, # Width of this size.
+      "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+      "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+      "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+      "height": 42, # Height of this size.
+    },
+    "type": "A String", # Type of this creative.This is a required field. Applicable to all creative types.
+    "totalFileSize": "A String", # Combined size of all creative assets. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+    "thirdPartyRichMediaImpressionsUrl": "A String", # Third-party URL used to record rich media impressions. Applicable to the following creative types: all RICH_MEDIA.
+    "studioAdvertiserId": "A String", # Studio advertiser ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+    "creativeAssets": [ # Assets associated with a creative. Applicable to all but the following creative types: INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and REDIRECT
+      { # Creative Asset.
+        "mimeType": "A String", # Detected MIME type for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+        "artworkType": "A String", # Artwork type of rich media creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+        "positionLeftUnit": "A String", # Offset left unit for an asset. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+        "collapsedSize": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size of an asset when collapsed. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID. Additionally, applicable to assets whose displayType is ASSET_DISPLAY_TYPE_EXPANDING or ASSET_DISPLAY_TYPE_PEEL_DOWN.
+          "width": 42, # Width of this size.
+          "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+          "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+          "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+          "height": 42, # Height of this size.
+        },
+        "flashVersion": 42, # Flash version of the asset. This is a read-only field. Applicable to the following creative types: FLASH_INPAGE, all RICH_MEDIA, and all VPAID. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+        "pushdown": True or False, # Whether the asset pushes down other content. Applicable to the following creative types: all RICH_MEDIA. Additionally, only applicable when the asset offsets are 0, the collapsedSize.width matches size.width, and the collapsedSize.height is less than size.height.
+        "hideFlashObjects": True or False, # Whether to hide Flash objects flag for an asset. Applicable to the following creative types: all RICH_MEDIA.
+        "detectedFeatures": [ # List of feature dependencies for the creative asset that are detected by DCM. Feature dependencies are features that a browser must be able to support in order to render your HTML5 creative correctly. This is a read-only, auto-generated field. Applicable to the following creative types: HTML5_BANNER. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+          "A String",
+        ],
+        "duration": 42, # Duration in seconds for which an asset will be displayed. Applicable to the following creative types: INSTREAM_VIDEO and VPAID_LINEAR_VIDEO.
+        "positionTopUnit": "A String", # Offset top unit for an asset. This is a read-only field if the asset displayType is ASSET_DISPLAY_TYPE_OVERLAY. Applicable to the following creative types: all RICH_MEDIA.
+        "id": "A String", # Numeric ID of this creative asset. This is a required field and should not be modified. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.
+        "alignment": "A String", # Possible alignments for an asset. This is a read-only field. Applicable to the following creative types: RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL.
+        "size": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size associated with this creative asset. This is a required field when applicable; however for IMAGE and FLASH_INPAGE, creatives if left blank, this field will be automatically set using the actual size of the associated image asset. Applicable to the following creative types: DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER, IMAGE, and all RICH_MEDIA. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+          "width": 42, # Width of this size.
+          "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+          "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+          "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+          "height": 42, # Height of this size.
+        },
+        "horizontallyLocked": True or False, # Whether the asset is horizontally locked. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+        "startTimeType": "A String", # Initial wait time type before making the asset visible. Applicable to the following creative types: all RICH_MEDIA.
+        "displayType": "A String", # Type of rich media asset. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+        "expandedDimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Detected expanded dimension for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+          "width": 42, # Width of this size.
+          "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+          "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+          "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+          "height": 42, # Height of this size.
+        },
+        "verticallyLocked": True or False, # Whether the asset is vertically locked. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+        "role": "A String", # Role of the asset in relation to creative. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT. This is a required field.
+            # PRIMARY applies to DISPLAY, FLASH_INPAGE, HTML5_BANNER, IMAGE, DISPLAY_IMAGE_GALLERY, all RICH_MEDIA (which may contain multiple primary assets), and all VPAID creatives.
+            # BACKUP_IMAGE applies to FLASH_INPAGE, HTML5_BANNER, all RICH_MEDIA, and all VPAID creatives. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+            # ADDITIONAL_IMAGE and ADDITIONAL_FLASH apply to FLASH_INPAGE creatives.
+            # OTHER refers to assets from sources other than DCM, such as Studio uploaded assets, applicable to all RICH_MEDIA and all VPAID creatives.
+            # PARENT_VIDEO refers to videos uploaded by the user in DCM and is applicable to INSTREAM_VIDEO and VPAID_LINEAR_VIDEO creatives.
+            # TRANSCODED_VIDEO refers to videos transcoded by DCM from PARENT_VIDEO assets and is applicable to INSTREAM_VIDEO and VPAID_LINEAR_VIDEO creatives.
+            # ALTERNATE_VIDEO refers to the DCM representation of child asset videos from Studio, and is applicable to VPAID_LINEAR_VIDEO creatives. These cannot be added or removed within DCM.
+            # For VPAID_LINEAR_VIDEO creatives, PARENT_VIDEO, TRANSCODED_VIDEO and ALTERNATE_VIDEO assets that are marked active serve as backup in case the VPAID creative cannot be served. Only PARENT_VIDEO assets can be added or removed for an INSTREAM_VIDEO or VPAID_LINEAR_VIDEO creative.
+        "zipFilesize": "A String", # Size of zip file. This is a read-only field. Applicable to the following creative types: HTML5_BANNER.
+        "bitRate": 42, # Detected bit-rate for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+        "windowMode": "A String", # Window mode options for flash assets. Applicable to the following creative types: FLASH_INPAGE, RICH_MEDIA_DISPLAY_EXPANDING, RICH_MEDIA_IM_EXPAND, RICH_MEDIA_DISPLAY_BANNER, and RICH_MEDIA_INPAGE_FLOATING.
+        "progressiveServingUrl": "A String", # Progressive URL for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+        "durationType": "A String", # Duration type for which an asset will be displayed. Applicable to the following creative types: all RICH_MEDIA.
+        "videoDuration": 3.14, # Detected video duration for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+        "fileSize": "A String", # File size associated with this creative asset. This is a read-only field. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.
+        "zipFilename": "A String", # File name of zip file. This is a read-only field. Applicable to the following creative types: HTML5_BANNER.
+        "offset": { # Offset Position. # Offset position for an asset in collapsed mode. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID. Additionally, only applicable to assets whose displayType is ASSET_DISPLAY_TYPE_EXPANDING or ASSET_DISPLAY_TYPE_PEEL_DOWN.
+          "top": 42, # Offset distance from top side of an asset or a window.
+          "left": 42, # Offset distance from left side of an asset or a window.
+        },
+        "active": True or False, # Whether the video asset is active. This is a read-only field for VPAID_NON_LINEAR_VIDEO assets. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+        "originalBackup": True or False, # Whether the backup asset is original or changed by the user in DCM. Applicable to the following creative types: all RICH_MEDIA.
+        "hideSelectionBoxes": True or False, # Whether to hide selection boxes flag for an asset. Applicable to the following creative types: all RICH_MEDIA.
+        "streamingServingUrl": "A String", # Streaming URL for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+        "zIndex": 42, # zIndex value of an asset. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.Additionally, only applicable to assets whose displayType is NOT one of the following types: ASSET_DISPLAY_TYPE_INPAGE or ASSET_DISPLAY_TYPE_OVERLAY.
+        "childAssetType": "A String", # Rich media child asset type. This is a read-only field. Applicable to the following creative types: all VPAID.
+        "backupImageExit": { # Creative Custom Event. # Exit event configured for the backup image. Applicable to the following creative types: all RICH_MEDIA.
+          "targetType": "A String", # Target type used by the event.
+          "artworkType": "A String", # Artwork type used by the creative.This is a read-only field.
+          "videoReportingId": "A String", # Video reporting ID, used to differentiate multiple videos in a single creative. This is a read-only field.
+          "popupWindowProperties": { # Popup Window Properties. # Properties for rich media popup windows. This field is used only for exit events.
+            "showStatusBar": True or False, # Whether to display the browser status bar.
+            "showScrollBar": True or False, # Whether to display the browser scroll bar.
+            "showAddressBar": True or False, # Whether to display the browser address bar.
+            "showMenuBar": True or False, # Whether to display the browser menu bar.
+            "title": "A String", # Title of popup window.
+            "showToolBar": True or False, # Whether to display the browser tool bar.
+            "positionType": "A String", # Popup window position either centered or at specific coordinate.
+            "offset": { # Offset Position. # Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.
+              "top": 42, # Offset distance from top side of an asset or a window.
+              "left": 42, # Offset distance from left side of an asset or a window.
+            },
+            "dimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID
+              "width": 42, # Width of this size.
+              "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+              "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+              "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+              "height": 42, # Height of this size.
+            },
+          },
+          "advertiserCustomEventId": "A String", # Unique ID of this event used by DDM Reporting and Data Transfer. This is a read-only field.
+          "artworkLabel": "A String", # Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion.
+          "advertiserCustomEventType": "A String", # Type of the event. This is a read-only field.
+          "exitUrl": "A String", # Exit URL of the event. This field is used only for exit events.
+          "id": "A String", # ID of this event. This is a required field and should not be modified after insertion.
+          "advertiserCustomEventName": "A String", # User-entered name for the event.
+        },
+        "actionScript3": True or False, # Whether ActionScript3 is enabled for the flash asset. This is a read-only field. Applicable to the following creative type: FLASH_INPAGE. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+        "pushdownDuration": 3.14, # Pushdown duration in seconds for an asset. Must be between 0 and 9.99. Applicable to the following creative types: all RICH_MEDIA.Additionally, only applicable when the asset pushdown field is true, the offsets are 0, the collapsedSize.width matches size.width, and the collapsedSize.height is less than size.height.
+        "assetIdentifier": { # Creative Asset ID. # Identifier of this asset. This is the same identifier returned during creative asset insert operation. This is a required field. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.
+          "type": "A String", # Type of asset to upload. This is a required field. IMAGE is solely used for IMAGE creatives. Other image assets should use HTML_IMAGE.
+          "name": "A String", # Name of the creative asset. This is a required field while inserting an asset. After insertion, this assetIdentifier is used to identify the uploaded asset. Characters in the name must be alphanumeric or one of the following: ".-_ ". Spaces are allowed.
+        },
+        "transparency": True or False, # Whether the asset is transparent. Applicable to the following creative types: all RICH_MEDIA. Additionally, only applicable to HTML5 assets.
+        "sslCompliant": True or False, # Whether the asset is SSL-compliant. This is a read-only field. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.
+        "position": { # Offset Position. # Offset position for an asset. Applicable to the following creative types: all RICH_MEDIA.
+          "top": 42, # Offset distance from top side of an asset or a window.
+          "left": 42, # Offset distance from left side of an asset or a window.
+        },
+        "customStartTimeValue": 42, # Custom start time in seconds for making the asset visible. Applicable to the following creative types: all RICH_MEDIA.
+      },
+    ],
+    "redirectUrl": "A String", # URL of hosted image or hosted video or another ad tag. For INSTREAM_VIDEO_REDIRECT creatives this is the in-stream video redirect URL. The standard for a VAST (Video Ad Serving Template) ad response allows for a redirect link to another VAST 2.0 or 3.0 call. This is a required field when applicable. Applicable to the following creative types: DISPLAY_REDIRECT, INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and INSTREAM_VIDEO_REDIRECT
+    "videoDuration": 3.14, # Creative video duration in seconds. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO, all RICH_MEDIA, and all VPAID.
+    "htmlCodeLocked": True or False, # Whether HTML code is DCM-generated or manually entered. Set to true to ignore changes to htmlCode. Applicable to the following creative types: FLASH_INPAGE and HTML5_BANNER.
+    "convertFlashToHtml5": True or False, # Whether Flash assets associated with the creative need to be automatically converted to HTML5. This flag is enabled by default and users can choose to disable it if they don't want the system to generate and use HTML5 asset for this creative. Applicable to the following creative type: FLASH_INPAGE. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+    "clickTags": [ # Click tags of the creative. For DISPLAY, FLASH_INPAGE, and HTML5_BANNER creatives, this is a subset of detected click tags for the assets associated with this creative. After creating a flash asset, detected click tags will be returned in the creativeAssetMetadata. When inserting the creative, populate the creative clickTags field using the creativeAssetMetadata.clickTags field. For DISPLAY_IMAGE_GALLERY creatives, there should be exactly one entry in this list for each image creative asset. A click tag is matched with a corresponding creative asset by matching the clickTag.name field with the creativeAsset.assetIdentifier.name field. Applicable to the following creative types: DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+      { # Creative Click Tag.
+        "eventName": "A String", # Advertiser event name associated with the click tag. This field is used by ENHANCED_BANNER, ENHANCED_IMAGE, and HTML5_BANNER creatives.
+        "name": "A String", # Parameter name for the specified click tag. For ENHANCED_IMAGE creative assets, this field must match the value of the creative asset's creativeAssetId.name field.
+        "value": "A String", # Parameter value for the specified click tag. This field contains a click-through url.
+      },
+    ],
+    "commercialId": "A String", # Industry standard ID assigned to creative for reach and frequency. Applicable to the following creative types: all INSTREAM_VIDEO and all VPAID.
+    "active": True or False, # Whether the creative is active. Applicable to all creative types.
+    "compatibility": [ # Compatibilities associated with this creative. This is a read-only field. DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on desktop or on mobile devices or in mobile apps for regular or interstitial ads, respectively. APP and APP_INTERSTITIAL  are for rendering in mobile apps. Only pre-existing creatives may have these compatibilities since new creatives will either be assigned DISPLAY or DISPLAY_INTERSTITIAL instead. IN_STREAM_VIDEO refers to rendering in in-stream video ads developed with the VAST standard. Applicable to all creative types.
+        # 
+        # Acceptable values are:
+        # - "APP"
+        # - "APP_INTERSTITIAL"
+        # - "IN_STREAM_VIDEO"
+        # - "DISPLAY"
+        # - "DISPLAY_INTERSTITIAL"
+      "A String",
+    ],
+    "adParameters": "A String", # Ad parameters user for VPAID creative. This is a read-only field. Applicable to the following creative types: all VPAID.
+    "adTagKeys": [ # Keywords for a Rich Media creative. Keywords let you customize the creative settings of a Rich Media ad running on your site without having to contact the advertiser. You can use keywords to dynamically change the look or functionality of a creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "A String",
+    ],
+    "kind": "dfareporting#creative", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creative".
+    "subaccountId": "A String", # Subaccount ID of this creative. This field, if left unset, will be auto-generated for both insert and update operations. Applicable to all creative types.
+    "name": "A String", # Name of the creative. This is a required field and must be less than 256 characters long. Applicable to all creative types.
+    "sslOverride": True or False, # Whether creative should be treated as SSL compliant even if the system scan shows it's not. Applicable to all creative types.
+    "lastModifiedInfo": { # Modification timestamp. # Creative last modification information. This is a read-only field. Applicable to all creative types.
+      "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+    },
+    "backupImageClickThroughUrl": "A String", # Click-through URL for backup image. Applicable to the following creative types: FLASH_INPAGE and HTML5_BANNER. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+    "sslCompliant": True or False, # Whether the creative is SSL-compliant. This is a read-only field. Applicable to all creative types.
+    "studioCreativeId": "A String", # Studio creative ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+    "authoringTool": "A String", # Authoring tool for HTML5 banner creatives. This is a read-only field. Applicable to the following creative types: HTML5_BANNER.
+    "allowScriptAccess": True or False, # Whether script access is allowed for this creative. This is a read-only and deprecated field which will automatically be set to true on update. Applicable to the following creative types: FLASH_INPAGE.
+    "companionCreatives": [ # List of companion creatives assigned to an in-Stream videocreative. Acceptable values include IDs of existing flash and image creatives. Applicable to the following creative types: all INSTREAM_VIDEO and all VPAID.
+      "A String",
+    ],
+    "auto_advance_images": True or False, # Whether images are automatically advanced for enhanced image creatives. Applicable to the following creative types: DISPLAY_IMAGE_GALLERY.
+    "backupImageFeatures": [ # List of feature dependencies that will cause a backup image to be served if the browser that serves the ad does not support them. Feature dependencies are features that a browser must be able to support in order to render your HTML5 creative asset correctly. This field is initially auto-generated to contain all features detected by DCM for all the assets of this creative and can then be modified by the client. To reset this field, copy over all the creativeAssets' detected features. Applicable to the following creative types: HTML5_BANNER. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+      "A String",
+    ],
+    "backupImageTargetWindow": { # Target Window. # Target window for backup image. Applicable to the following creative types: FLASH_INPAGE and HTML5_BANNER. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+      "customHtml": "A String", # User-entered value.
+      "targetWindowOption": "A String", # Type of browser window for which the backup image of the flash creative can be displayed.
+    },
+    "skippable": True or False, # Whether the user can choose to skip the creative. Applicable to the following creative types: all INSTREAM_VIDEO and all VPAID.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a Creative.
+      "thirdPartyUrls": [ # Third-party URLs for tracking in-stream video creative events. Applicable to the following creative types: all INSTREAM_VIDEO and all VPAID.
+        { # Third-party Tracking URL.
+          "url": "A String", # URL for the specified third-party URL type.
+          "thirdPartyUrlType": "A String", # Third-party URL type for in-stream video creatives.
+        },
+      ],
+      "artworkType": "A String", # Type of artwork used for the creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "latestTraffickedCreativeId": "A String", # Latest Studio trafficked creative ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "videoDescription": "A String", # Description of the video ad. Applicable to the following creative types: all INSTREAM_VIDEO and all VPAID.
+      "advertiserId": "A String", # Advertiser ID of this creative. This is a required field. Applicable to all creative types.
+      "requiredFlashPluginVersion": "A String", # The minimum required Flash plugin version for this creative. For example, 11.2.202.235. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "thirdPartyBackupImageImpressionsUrl": "A String", # Third-party URL used to record backup image impressions. Applicable to the following creative types: all RICH_MEDIA.
+      "timerCustomEvents": [ # List of timer events configured for the creative. For DISPLAY_IMAGE_GALLERY creatives, these are read-only and auto-generated from clickTags. Applicable to the following creative types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID. Applicable to DISPLAY when the primary asset is not HTML_IMAGE.
+        { # Creative Custom Event.
+          "targetType": "A String", # Target type used by the event.
+          "artworkType": "A String", # Artwork type used by the creative.This is a read-only field.
+          "videoReportingId": "A String", # Video reporting ID, used to differentiate multiple videos in a single creative. This is a read-only field.
+          "popupWindowProperties": { # Popup Window Properties. # Properties for rich media popup windows. This field is used only for exit events.
+            "showStatusBar": True or False, # Whether to display the browser status bar.
+            "showScrollBar": True or False, # Whether to display the browser scroll bar.
+            "showAddressBar": True or False, # Whether to display the browser address bar.
+            "showMenuBar": True or False, # Whether to display the browser menu bar.
+            "title": "A String", # Title of popup window.
+            "showToolBar": True or False, # Whether to display the browser tool bar.
+            "positionType": "A String", # Popup window position either centered or at specific coordinate.
+            "offset": { # Offset Position. # Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.
+              "top": 42, # Offset distance from top side of an asset or a window.
+              "left": 42, # Offset distance from left side of an asset or a window.
+            },
+            "dimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID
+              "width": 42, # Width of this size.
+              "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+              "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+              "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+              "height": 42, # Height of this size.
+            },
+          },
+          "advertiserCustomEventId": "A String", # Unique ID of this event used by DDM Reporting and Data Transfer. This is a read-only field.
+          "artworkLabel": "A String", # Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion.
+          "advertiserCustomEventType": "A String", # Type of the event. This is a read-only field.
+          "exitUrl": "A String", # Exit URL of the event. This field is used only for exit events.
+          "id": "A String", # ID of this event. This is a required field and should not be modified after insertion.
+          "advertiserCustomEventName": "A String", # User-entered name for the event.
+        },
+      ],
+      "renderingIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the rendering ID of this creative. This is a read-only field. Applicable to all creative types.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "fsCommand": { # FsCommand. # OpenWindow FSCommand of this creative. This lets the SWF file communicate with either Flash Player or the program hosting Flash Player, such as a web browser. This is only triggered if allowScriptAccess field is true. Applicable to the following creative types: FLASH_INPAGE.
+        "windowHeight": 42, # Height of the window.
+        "top": 42, # Distance from the top of the browser. Applicable when positionOption is DISTANCE_FROM_TOP_LEFT_CORNER.
+        "windowWidth": 42, # Width of the window.
+        "positionOption": "A String", # Position in the browser where the window will open.
+        "left": 42, # Distance from the left of the browser.Applicable when positionOption is DISTANCE_FROM_TOP_LEFT_CORNER.
+      },
+      "id": "A String", # ID of this creative. This is a read-only, auto-generated field. Applicable to all creative types.
+      "accountId": "A String", # Account ID of this creative. This field, if left unset, will be auto-generated for both insert and update operations. Applicable to all creative types.
+      "studioTraffickedCreativeId": "A String", # Studio trafficked creative ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "archived": True or False, # Whether the creative is archived. Applicable to all creative types.
+      "overrideCss": "A String", # Override CSS value for rich media creatives. Applicable to the following creative types: all RICH_MEDIA.
+      "authoringSource": "A String", # Source application where creative was authored. Presently, only DBM authored creatives will have this field set. Applicable to all creative types.
+      "requiredFlashVersion": 42, # The internal Flash version for this creative as calculated by DoubleClick Studio. This is a read-only field. Applicable to the following creative types: FLASH_INPAGE all RICH_MEDIA, and all VPAID. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+      "exitCustomEvents": [ # List of exit events configured for the creative. For DISPLAY and DISPLAY_IMAGE_GALLERY creatives, these are read-only and auto-generated from clickTags, For DISPLAY, an event is also created from the backupImageReportingLabel. Applicable to the following creative types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+        { # Creative Custom Event.
+          "targetType": "A String", # Target type used by the event.
+          "artworkType": "A String", # Artwork type used by the creative.This is a read-only field.
+          "videoReportingId": "A String", # Video reporting ID, used to differentiate multiple videos in a single creative. This is a read-only field.
+          "popupWindowProperties": { # Popup Window Properties. # Properties for rich media popup windows. This field is used only for exit events.
+            "showStatusBar": True or False, # Whether to display the browser status bar.
+            "showScrollBar": True or False, # Whether to display the browser scroll bar.
+            "showAddressBar": True or False, # Whether to display the browser address bar.
+            "showMenuBar": True or False, # Whether to display the browser menu bar.
+            "title": "A String", # Title of popup window.
+            "showToolBar": True or False, # Whether to display the browser tool bar.
+            "positionType": "A String", # Popup window position either centered or at specific coordinate.
+            "offset": { # Offset Position. # Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.
+              "top": 42, # Offset distance from top side of an asset or a window.
+              "left": 42, # Offset distance from left side of an asset or a window.
+            },
+            "dimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID
+              "width": 42, # Width of this size.
+              "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+              "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+              "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+              "height": 42, # Height of this size.
+            },
+          },
+          "advertiserCustomEventId": "A String", # Unique ID of this event used by DDM Reporting and Data Transfer. This is a read-only field.
+          "artworkLabel": "A String", # Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion.
+          "advertiserCustomEventType": "A String", # Type of the event. This is a read-only field.
+          "exitUrl": "A String", # Exit URL of the event. This field is used only for exit events.
+          "id": "A String", # ID of this event. This is a required field and should not be modified after insertion.
+          "advertiserCustomEventName": "A String", # User-entered name for the event.
+        },
+      ],
+      "renderingId": "A String", # ID of current rendering version. This is a read-only field. Applicable to all creative types.
+      "counterCustomEvents": [ # List of counter events configured for the creative. For DISPLAY_IMAGE_GALLERY creatives, these are read-only and auto-generated from clickTags. Applicable to the following creative types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID.
+        { # Creative Custom Event.
+          "targetType": "A String", # Target type used by the event.
+          "artworkType": "A String", # Artwork type used by the creative.This is a read-only field.
+          "videoReportingId": "A String", # Video reporting ID, used to differentiate multiple videos in a single creative. This is a read-only field.
+          "popupWindowProperties": { # Popup Window Properties. # Properties for rich media popup windows. This field is used only for exit events.
+            "showStatusBar": True or False, # Whether to display the browser status bar.
+            "showScrollBar": True or False, # Whether to display the browser scroll bar.
+            "showAddressBar": True or False, # Whether to display the browser address bar.
+            "showMenuBar": True or False, # Whether to display the browser menu bar.
+            "title": "A String", # Title of popup window.
+            "showToolBar": True or False, # Whether to display the browser tool bar.
+            "positionType": "A String", # Popup window position either centered or at specific coordinate.
+            "offset": { # Offset Position. # Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.
+              "top": 42, # Offset distance from top side of an asset or a window.
+              "left": 42, # Offset distance from left side of an asset or a window.
+            },
+            "dimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID
+              "width": 42, # Width of this size.
+              "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+              "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+              "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+              "height": 42, # Height of this size.
+            },
+          },
+          "advertiserCustomEventId": "A String", # Unique ID of this event used by DDM Reporting and Data Transfer. This is a read-only field.
+          "artworkLabel": "A String", # Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion.
+          "advertiserCustomEventType": "A String", # Type of the event. This is a read-only field.
+          "exitUrl": "A String", # Exit URL of the event. This field is used only for exit events.
+          "id": "A String", # ID of this event. This is a required field and should not be modified after insertion.
+          "advertiserCustomEventName": "A String", # User-entered name for the event.
+        },
+      ],
+      "backupImageReportingLabel": "A String", # Reporting label used for HTML5 banner backup image. Applicable to the following creative types: DISPLAY when the primary asset type is not HTML_IMAGE.
+      "version": 42, # The version number helps you keep track of multiple versions of your creative in your reports. The version number will always be auto-generated during insert operations to start at 1. For tracking creatives the version cannot be incremented and will always remain at 1. For all other creative types the version can be incremented only by 1 during update operations. In addition, the version will be automatically incremented by 1 when undergoing Rich Media creative merging. Applicable to all creative types.
+      "creativeFieldAssignments": [ # Creative field assignments for this creative. Applicable to all creative types.
+        { # Creative Field Assignment.
+          "creativeFieldId": "A String", # ID of the creative field.
+          "creativeFieldValueId": "A String", # ID of the creative field value.
+        },
+      ],
+      "backgroundColor": "A String", # The 6-character HTML color code, beginning with #, for the background of the window area where the Flash file is displayed. Default is white. Applicable to the following creative types: FLASH_INPAGE.
+      "customKeyValues": [ # Custom key-values for a Rich Media creative. Key-values let you customize the creative settings of a Rich Media ad running on your site without having to contact the advertiser. You can use key-values to dynamically change the look or functionality of a creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+        "A String",
+      ],
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this creative. This is a read-only field. Applicable to all creative types.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "htmlCode": "A String", # HTML code for the creative. This is a required field when applicable. This field is ignored if htmlCodeLocked is false. Applicable to the following creative types: all CUSTOM, FLASH_INPAGE, and HTML5_BANNER, and all RICH_MEDIA.
+      "size": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size associated with this creative. When inserting or updating a creative either the size ID field or size width and height fields can be used. This is a required field when applicable; however for IMAGE, FLASH_INPAGE creatives, and for DISPLAY creatives with a primary asset of type HTML_IMAGE, if left blank, this field will be automatically set using the actual size of the associated image assets. Applicable to the following creative types: DISPLAY, DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER, IMAGE, and all RICH_MEDIA.
+        "width": 42, # Width of this size.
+        "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+        "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+        "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+        "height": 42, # Height of this size.
+      },
+      "type": "A String", # Type of this creative.This is a required field. Applicable to all creative types.
+      "totalFileSize": "A String", # Combined size of all creative assets. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "thirdPartyRichMediaImpressionsUrl": "A String", # Third-party URL used to record rich media impressions. Applicable to the following creative types: all RICH_MEDIA.
+      "studioAdvertiserId": "A String", # Studio advertiser ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "creativeAssets": [ # Assets associated with a creative. Applicable to all but the following creative types: INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and REDIRECT
+        { # Creative Asset.
+          "mimeType": "A String", # Detected MIME type for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+          "artworkType": "A String", # Artwork type of rich media creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+          "positionLeftUnit": "A String", # Offset left unit for an asset. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+          "collapsedSize": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size of an asset when collapsed. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID. Additionally, applicable to assets whose displayType is ASSET_DISPLAY_TYPE_EXPANDING or ASSET_DISPLAY_TYPE_PEEL_DOWN.
+            "width": 42, # Width of this size.
+            "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+            "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+            "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+            "height": 42, # Height of this size.
+          },
+          "flashVersion": 42, # Flash version of the asset. This is a read-only field. Applicable to the following creative types: FLASH_INPAGE, all RICH_MEDIA, and all VPAID. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+          "pushdown": True or False, # Whether the asset pushes down other content. Applicable to the following creative types: all RICH_MEDIA. Additionally, only applicable when the asset offsets are 0, the collapsedSize.width matches size.width, and the collapsedSize.height is less than size.height.
+          "hideFlashObjects": True or False, # Whether to hide Flash objects flag for an asset. Applicable to the following creative types: all RICH_MEDIA.
+          "detectedFeatures": [ # List of feature dependencies for the creative asset that are detected by DCM. Feature dependencies are features that a browser must be able to support in order to render your HTML5 creative correctly. This is a read-only, auto-generated field. Applicable to the following creative types: HTML5_BANNER. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+            "A String",
+          ],
+          "duration": 42, # Duration in seconds for which an asset will be displayed. Applicable to the following creative types: INSTREAM_VIDEO and VPAID_LINEAR_VIDEO.
+          "positionTopUnit": "A String", # Offset top unit for an asset. This is a read-only field if the asset displayType is ASSET_DISPLAY_TYPE_OVERLAY. Applicable to the following creative types: all RICH_MEDIA.
+          "id": "A String", # Numeric ID of this creative asset. This is a required field and should not be modified. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.
+          "alignment": "A String", # Possible alignments for an asset. This is a read-only field. Applicable to the following creative types: RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL.
+          "size": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size associated with this creative asset. This is a required field when applicable; however for IMAGE and FLASH_INPAGE, creatives if left blank, this field will be automatically set using the actual size of the associated image asset. Applicable to the following creative types: DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER, IMAGE, and all RICH_MEDIA. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+            "width": 42, # Width of this size.
+            "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+            "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+            "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+            "height": 42, # Height of this size.
+          },
+          "horizontallyLocked": True or False, # Whether the asset is horizontally locked. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+          "startTimeType": "A String", # Initial wait time type before making the asset visible. Applicable to the following creative types: all RICH_MEDIA.
+          "displayType": "A String", # Type of rich media asset. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+          "expandedDimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Detected expanded dimension for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+            "width": 42, # Width of this size.
+            "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+            "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+            "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+            "height": 42, # Height of this size.
+          },
+          "verticallyLocked": True or False, # Whether the asset is vertically locked. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+          "role": "A String", # Role of the asset in relation to creative. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT. This is a required field.
+              # PRIMARY applies to DISPLAY, FLASH_INPAGE, HTML5_BANNER, IMAGE, DISPLAY_IMAGE_GALLERY, all RICH_MEDIA (which may contain multiple primary assets), and all VPAID creatives.
+              # BACKUP_IMAGE applies to FLASH_INPAGE, HTML5_BANNER, all RICH_MEDIA, and all VPAID creatives. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+              # ADDITIONAL_IMAGE and ADDITIONAL_FLASH apply to FLASH_INPAGE creatives.
+              # OTHER refers to assets from sources other than DCM, such as Studio uploaded assets, applicable to all RICH_MEDIA and all VPAID creatives.
+              # PARENT_VIDEO refers to videos uploaded by the user in DCM and is applicable to INSTREAM_VIDEO and VPAID_LINEAR_VIDEO creatives.
+              # TRANSCODED_VIDEO refers to videos transcoded by DCM from PARENT_VIDEO assets and is applicable to INSTREAM_VIDEO and VPAID_LINEAR_VIDEO creatives.
+              # ALTERNATE_VIDEO refers to the DCM representation of child asset videos from Studio, and is applicable to VPAID_LINEAR_VIDEO creatives. These cannot be added or removed within DCM.
+              # For VPAID_LINEAR_VIDEO creatives, PARENT_VIDEO, TRANSCODED_VIDEO and ALTERNATE_VIDEO assets that are marked active serve as backup in case the VPAID creative cannot be served. Only PARENT_VIDEO assets can be added or removed for an INSTREAM_VIDEO or VPAID_LINEAR_VIDEO creative.
+          "zipFilesize": "A String", # Size of zip file. This is a read-only field. Applicable to the following creative types: HTML5_BANNER.
+          "bitRate": 42, # Detected bit-rate for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+          "windowMode": "A String", # Window mode options for flash assets. Applicable to the following creative types: FLASH_INPAGE, RICH_MEDIA_DISPLAY_EXPANDING, RICH_MEDIA_IM_EXPAND, RICH_MEDIA_DISPLAY_BANNER, and RICH_MEDIA_INPAGE_FLOATING.
+          "progressiveServingUrl": "A String", # Progressive URL for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+          "durationType": "A String", # Duration type for which an asset will be displayed. Applicable to the following creative types: all RICH_MEDIA.
+          "videoDuration": 3.14, # Detected video duration for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+          "fileSize": "A String", # File size associated with this creative asset. This is a read-only field. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.
+          "zipFilename": "A String", # File name of zip file. This is a read-only field. Applicable to the following creative types: HTML5_BANNER.
+          "offset": { # Offset Position. # Offset position for an asset in collapsed mode. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID. Additionally, only applicable to assets whose displayType is ASSET_DISPLAY_TYPE_EXPANDING or ASSET_DISPLAY_TYPE_PEEL_DOWN.
+            "top": 42, # Offset distance from top side of an asset or a window.
+            "left": 42, # Offset distance from left side of an asset or a window.
+          },
+          "active": True or False, # Whether the video asset is active. This is a read-only field for VPAID_NON_LINEAR_VIDEO assets. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+          "originalBackup": True or False, # Whether the backup asset is original or changed by the user in DCM. Applicable to the following creative types: all RICH_MEDIA.
+          "hideSelectionBoxes": True or False, # Whether to hide selection boxes flag for an asset. Applicable to the following creative types: all RICH_MEDIA.
+          "streamingServingUrl": "A String", # Streaming URL for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+          "zIndex": 42, # zIndex value of an asset. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.Additionally, only applicable to assets whose displayType is NOT one of the following types: ASSET_DISPLAY_TYPE_INPAGE or ASSET_DISPLAY_TYPE_OVERLAY.
+          "childAssetType": "A String", # Rich media child asset type. This is a read-only field. Applicable to the following creative types: all VPAID.
+          "backupImageExit": { # Creative Custom Event. # Exit event configured for the backup image. Applicable to the following creative types: all RICH_MEDIA.
+            "targetType": "A String", # Target type used by the event.
+            "artworkType": "A String", # Artwork type used by the creative.This is a read-only field.
+            "videoReportingId": "A String", # Video reporting ID, used to differentiate multiple videos in a single creative. This is a read-only field.
+            "popupWindowProperties": { # Popup Window Properties. # Properties for rich media popup windows. This field is used only for exit events.
+              "showStatusBar": True or False, # Whether to display the browser status bar.
+              "showScrollBar": True or False, # Whether to display the browser scroll bar.
+              "showAddressBar": True or False, # Whether to display the browser address bar.
+              "showMenuBar": True or False, # Whether to display the browser menu bar.
+              "title": "A String", # Title of popup window.
+              "showToolBar": True or False, # Whether to display the browser tool bar.
+              "positionType": "A String", # Popup window position either centered or at specific coordinate.
+              "offset": { # Offset Position. # Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.
+                "top": 42, # Offset distance from top side of an asset or a window.
+                "left": 42, # Offset distance from left side of an asset or a window.
+              },
+              "dimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID
+                "width": 42, # Width of this size.
+                "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+                "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+                "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+                "height": 42, # Height of this size.
+              },
+            },
+            "advertiserCustomEventId": "A String", # Unique ID of this event used by DDM Reporting and Data Transfer. This is a read-only field.
+            "artworkLabel": "A String", # Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion.
+            "advertiserCustomEventType": "A String", # Type of the event. This is a read-only field.
+            "exitUrl": "A String", # Exit URL of the event. This field is used only for exit events.
+            "id": "A String", # ID of this event. This is a required field and should not be modified after insertion.
+            "advertiserCustomEventName": "A String", # User-entered name for the event.
+          },
+          "actionScript3": True or False, # Whether ActionScript3 is enabled for the flash asset. This is a read-only field. Applicable to the following creative type: FLASH_INPAGE. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+          "pushdownDuration": 3.14, # Pushdown duration in seconds for an asset. Must be between 0 and 9.99. Applicable to the following creative types: all RICH_MEDIA.Additionally, only applicable when the asset pushdown field is true, the offsets are 0, the collapsedSize.width matches size.width, and the collapsedSize.height is less than size.height.
+          "assetIdentifier": { # Creative Asset ID. # Identifier of this asset. This is the same identifier returned during creative asset insert operation. This is a required field. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.
+            "type": "A String", # Type of asset to upload. This is a required field. IMAGE is solely used for IMAGE creatives. Other image assets should use HTML_IMAGE.
+            "name": "A String", # Name of the creative asset. This is a required field while inserting an asset. After insertion, this assetIdentifier is used to identify the uploaded asset. Characters in the name must be alphanumeric or one of the following: ".-_ ". Spaces are allowed.
+          },
+          "transparency": True or False, # Whether the asset is transparent. Applicable to the following creative types: all RICH_MEDIA. Additionally, only applicable to HTML5 assets.
+          "sslCompliant": True or False, # Whether the asset is SSL-compliant. This is a read-only field. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.
+          "position": { # Offset Position. # Offset position for an asset. Applicable to the following creative types: all RICH_MEDIA.
+            "top": 42, # Offset distance from top side of an asset or a window.
+            "left": 42, # Offset distance from left side of an asset or a window.
+          },
+          "customStartTimeValue": 42, # Custom start time in seconds for making the asset visible. Applicable to the following creative types: all RICH_MEDIA.
+        },
+      ],
+      "redirectUrl": "A String", # URL of hosted image or hosted video or another ad tag. For INSTREAM_VIDEO_REDIRECT creatives this is the in-stream video redirect URL. The standard for a VAST (Video Ad Serving Template) ad response allows for a redirect link to another VAST 2.0 or 3.0 call. This is a required field when applicable. Applicable to the following creative types: DISPLAY_REDIRECT, INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and INSTREAM_VIDEO_REDIRECT
+      "videoDuration": 3.14, # Creative video duration in seconds. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO, all RICH_MEDIA, and all VPAID.
+      "htmlCodeLocked": True or False, # Whether HTML code is DCM-generated or manually entered. Set to true to ignore changes to htmlCode. Applicable to the following creative types: FLASH_INPAGE and HTML5_BANNER.
+      "convertFlashToHtml5": True or False, # Whether Flash assets associated with the creative need to be automatically converted to HTML5. This flag is enabled by default and users can choose to disable it if they don't want the system to generate and use HTML5 asset for this creative. Applicable to the following creative type: FLASH_INPAGE. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+      "clickTags": [ # Click tags of the creative. For DISPLAY, FLASH_INPAGE, and HTML5_BANNER creatives, this is a subset of detected click tags for the assets associated with this creative. After creating a flash asset, detected click tags will be returned in the creativeAssetMetadata. When inserting the creative, populate the creative clickTags field using the creativeAssetMetadata.clickTags field. For DISPLAY_IMAGE_GALLERY creatives, there should be exactly one entry in this list for each image creative asset. A click tag is matched with a corresponding creative asset by matching the clickTag.name field with the creativeAsset.assetIdentifier.name field. Applicable to the following creative types: DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+        { # Creative Click Tag.
+          "eventName": "A String", # Advertiser event name associated with the click tag. This field is used by ENHANCED_BANNER, ENHANCED_IMAGE, and HTML5_BANNER creatives.
+          "name": "A String", # Parameter name for the specified click tag. For ENHANCED_IMAGE creative assets, this field must match the value of the creative asset's creativeAssetId.name field.
+          "value": "A String", # Parameter value for the specified click tag. This field contains a click-through url.
+        },
+      ],
+      "commercialId": "A String", # Industry standard ID assigned to creative for reach and frequency. Applicable to the following creative types: all INSTREAM_VIDEO and all VPAID.
+      "active": True or False, # Whether the creative is active. Applicable to all creative types.
+      "compatibility": [ # Compatibilities associated with this creative. This is a read-only field. DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on desktop or on mobile devices or in mobile apps for regular or interstitial ads, respectively. APP and APP_INTERSTITIAL  are for rendering in mobile apps. Only pre-existing creatives may have these compatibilities since new creatives will either be assigned DISPLAY or DISPLAY_INTERSTITIAL instead. IN_STREAM_VIDEO refers to rendering in in-stream video ads developed with the VAST standard. Applicable to all creative types.
+          #
+          # Acceptable values are:
+          # - "APP"
+          # - "APP_INTERSTITIAL"
+          # - "IN_STREAM_VIDEO"
+          # - "DISPLAY"
+          # - "DISPLAY_INTERSTITIAL"
+        "A String",
+      ],
+      "adParameters": "A String", # Ad parameters user for VPAID creative. This is a read-only field. Applicable to the following creative types: all VPAID.
+      "adTagKeys": [ # Keywords for a Rich Media creative. Keywords let you customize the creative settings of a Rich Media ad running on your site without having to contact the advertiser. You can use keywords to dynamically change the look or functionality of a creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+        "A String",
+      ],
+      "kind": "dfareporting#creative", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creative".
+      "subaccountId": "A String", # Subaccount ID of this creative. This field, if left unset, will be auto-generated for both insert and update operations. Applicable to all creative types.
+      "name": "A String", # Name of the creative. This is a required field and must be less than 256 characters long. Applicable to all creative types.
+      "sslOverride": True or False, # Whether creative should be treated as SSL compliant even if the system scan shows it's not. Applicable to all creative types.
+      "lastModifiedInfo": { # Modification timestamp. # Creative last modification information. This is a read-only field. Applicable to all creative types.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "backupImageClickThroughUrl": "A String", # Click-through URL for backup image. Applicable to the following creative types: FLASH_INPAGE and HTML5_BANNER. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+      "sslCompliant": True or False, # Whether the creative is SSL-compliant. This is a read-only field. Applicable to all creative types.
+      "studioCreativeId": "A String", # Studio creative ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "authoringTool": "A String", # Authoring tool for HTML5 banner creatives. This is a read-only field. Applicable to the following creative types: HTML5_BANNER.
+      "allowScriptAccess": True or False, # Whether script access is allowed for this creative. This is a read-only and deprecated field which will automatically be set to true on update. Applicable to the following creative types: FLASH_INPAGE.
+      "companionCreatives": [ # List of companion creatives assigned to an in-Stream videocreative. Acceptable values include IDs of existing flash and image creatives. Applicable to the following creative types: all INSTREAM_VIDEO and all VPAID.
+        "A String",
+      ],
+      "auto_advance_images": True or False, # Whether images are automatically advanced for enhanced image creatives. Applicable to the following creative types: DISPLAY_IMAGE_GALLERY.
+      "backupImageFeatures": [ # List of feature dependencies that will cause a backup image to be served if the browser that serves the ad does not support them. Feature dependencies are features that a browser must be able to support in order to render your HTML5 creative asset correctly. This field is initially auto-generated to contain all features detected by DCM for all the assets of this creative and can then be modified by the client. To reset this field, copy over all the creativeAssets' detected features. Applicable to the following creative types: HTML5_BANNER. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+        "A String",
+      ],
+      "backupImageTargetWindow": { # Target Window. # Target window for backup image. Applicable to the following creative types: FLASH_INPAGE and HTML5_BANNER. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+        "customHtml": "A String", # User-entered value.
+        "targetWindowOption": "A String", # Type of browser window for which the backup image of the flash creative can be displayed.
+      },
+      "skippable": True or False, # Whether the user can choose to skip the creative. Applicable to the following creative types: all INSTREAM_VIDEO and all VPAID.
+    }
+
+ +
+ list(profileId, campaignId=None, advertiserId=None, sizeIds=None, archived=None, pageToken=None, sortOrder=None, renderingIds=None, maxResults=None, active=None, companionCreativeIds=None, types=None, searchString=None, ids=None, studioCreativeId=None, sortField=None, creativeFieldIds=None) +
Retrieves a list of creatives, possibly filtered.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  campaignId: string, Select only creatives with this campaign ID.
+  advertiserId: string, Select only creatives with this advertiser ID.
+  sizeIds: string, Select only creatives with these size IDs. (repeated)
+  archived: boolean, Select only archived creatives. Leave blank to select archived and unarchived creatives.
+  pageToken: string, Value of the nextPageToken from the previous result page.
+  sortOrder: string, Order of sorted results, default is ASCENDING.
+    Allowed values
+      ASCENDING - 
+      DESCENDING - 
+  renderingIds: string, Select only creatives with these rendering IDs. (repeated)
+  maxResults: integer, Maximum number of results to return.
+  active: boolean, Select only active creatives. Leave blank to select active and inactive creatives.
+  companionCreativeIds: string, Select only in-stream video creatives with these companion IDs. (repeated)
+  types: string, Select only creatives with these creative types. (repeated)
+    Allowed values
+      BRAND_SAFE_DEFAULT_INSTREAM_VIDEO - 
+      CUSTOM_DISPLAY - 
+      CUSTOM_DISPLAY_INTERSTITIAL - 
+      DISPLAY - 
+      DISPLAY_IMAGE_GALLERY - 
+      DISPLAY_REDIRECT - 
+      FLASH_INPAGE - 
+      HTML5_BANNER - 
+      IMAGE - 
+      INSTREAM_VIDEO - 
+      INSTREAM_VIDEO_REDIRECT - 
+      INTERNAL_REDIRECT - 
+      INTERSTITIAL_INTERNAL_REDIRECT - 
+      RICH_MEDIA_DISPLAY_BANNER - 
+      RICH_MEDIA_DISPLAY_EXPANDING - 
+      RICH_MEDIA_DISPLAY_INTERSTITIAL - 
+      RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL - 
+      RICH_MEDIA_IM_EXPAND - 
+      RICH_MEDIA_INPAGE_FLOATING - 
+      RICH_MEDIA_MOBILE_IN_APP - 
+      RICH_MEDIA_PEEL_DOWN - 
+      TRACKING_TEXT - 
+      VPAID_LINEAR_VIDEO - 
+      VPAID_NON_LINEAR_VIDEO - 
+  searchString: string, Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "creative*2015" will return objects with names like "creative June 2015", "creative April 2015", or simply "creative 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "creative" will match objects with name "my creative", "creative 2015", or simply "creative".
+  ids: string, Select only creatives with these IDs. (repeated)
+  studioCreativeId: string, Select only creatives corresponding to this Studio creative ID.
+  sortField: string, Field by which to sort the list.
+    Allowed values
+      ID - 
+      NAME - 
+  creativeFieldIds: string, Select only creatives with these creative field IDs. (repeated)
+
+Returns:
+  An object of the form:
+
+    { # Creative List Response
+    "nextPageToken": "A String", # Pagination token to be used for the next list operation.
+    "kind": "dfareporting#creativesListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creativesListResponse".
+    "creatives": [ # Creative collection.
+      { # Contains properties of a Creative.
+          "thirdPartyUrls": [ # Third-party URLs for tracking in-stream video creative events. Applicable to the following creative types: all INSTREAM_VIDEO and all VPAID.
+            { # Third-party Tracking URL.
+              "url": "A String", # URL for the specified third-party URL type.
+              "thirdPartyUrlType": "A String", # Third-party URL type for in-stream video creatives.
+            },
+          ],
+          "artworkType": "A String", # Type of artwork used for the creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+          "latestTraffickedCreativeId": "A String", # Latest Studio trafficked creative ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+          "videoDescription": "A String", # Description of the video ad. Applicable to the following creative types: all INSTREAM_VIDEO and all VPAID.
+          "advertiserId": "A String", # Advertiser ID of this creative. This is a required field. Applicable to all creative types.
+          "requiredFlashPluginVersion": "A String", # The minimum required Flash plugin version for this creative. For example, 11.2.202.235. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+          "thirdPartyBackupImageImpressionsUrl": "A String", # Third-party URL used to record backup image impressions. Applicable to the following creative types: all RICH_MEDIA.
+          "timerCustomEvents": [ # List of timer events configured for the creative. For DISPLAY_IMAGE_GALLERY creatives, these are read-only and auto-generated from clickTags. Applicable to the following creative types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID. Applicable to DISPLAY when the primary asset is not HTML_IMAGE.
+            { # Creative Custom Event.
+              "targetType": "A String", # Target type used by the event.
+              "artworkType": "A String", # Artwork type used by the creative.This is a read-only field.
+              "videoReportingId": "A String", # Video reporting ID, used to differentiate multiple videos in a single creative. This is a read-only field.
+              "popupWindowProperties": { # Popup Window Properties. # Properties for rich media popup windows. This field is used only for exit events.
+                "showStatusBar": True or False, # Whether to display the browser status bar.
+                "showScrollBar": True or False, # Whether to display the browser scroll bar.
+                "showAddressBar": True or False, # Whether to display the browser address bar.
+                "showMenuBar": True or False, # Whether to display the browser menu bar.
+                "title": "A String", # Title of popup window.
+                "showToolBar": True or False, # Whether to display the browser tool bar.
+                "positionType": "A String", # Popup window position either centered or at specific coordinate.
+                "offset": { # Offset Position. # Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.
+                  "top": 42, # Offset distance from top side of an asset or a window.
+                  "left": 42, # Offset distance from left side of an asset or a window.
+                },
+                "dimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID
+                  "width": 42, # Width of this size.
+                  "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+                  "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+                  "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+                  "height": 42, # Height of this size.
+                },
+              },
+              "advertiserCustomEventId": "A String", # Unique ID of this event used by DDM Reporting and Data Transfer. This is a read-only field.
+              "artworkLabel": "A String", # Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion.
+              "advertiserCustomEventType": "A String", # Type of the event. This is a read-only field.
+              "exitUrl": "A String", # Exit URL of the event. This field is used only for exit events.
+              "id": "A String", # ID of this event. This is a required field and should not be modified after insertion.
+              "advertiserCustomEventName": "A String", # User-entered name for the event.
+            },
+          ],
+          "renderingIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the rendering ID of this creative. This is a read-only field. Applicable to all creative types.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "fsCommand": { # FsCommand. # OpenWindow FSCommand of this creative. This lets the SWF file communicate with either Flash Player or the program hosting Flash Player, such as a web browser. This is only triggered if allowScriptAccess field is true. Applicable to the following creative types: FLASH_INPAGE.
+            "windowHeight": 42, # Height of the window.
+            "top": 42, # Distance from the top of the browser. Applicable when positionOption is DISTANCE_FROM_TOP_LEFT_CORNER.
+            "windowWidth": 42, # Width of the window.
+            "positionOption": "A String", # Position in the browser where the window will open.
+            "left": 42, # Distance from the left of the browser.Applicable when positionOption is DISTANCE_FROM_TOP_LEFT_CORNER.
+          },
+          "id": "A String", # ID of this creative. This is a read-only, auto-generated field. Applicable to all creative types.
+          "accountId": "A String", # Account ID of this creative. This field, if left unset, will be auto-generated for both insert and update operations. Applicable to all creative types.
+          "studioTraffickedCreativeId": "A String", # Studio trafficked creative ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+          "archived": True or False, # Whether the creative is archived. Applicable to all creative types.
+          "overrideCss": "A String", # Override CSS value for rich media creatives. Applicable to the following creative types: all RICH_MEDIA.
+          "authoringSource": "A String", # Source application where creative was authored. Presently, only DBM authored creatives will have this field set. Applicable to all creative types.
+          "requiredFlashVersion": 42, # The internal Flash version for this creative as calculated by DoubleClick Studio. This is a read-only field. Applicable to the following creative types: FLASH_INPAGE all RICH_MEDIA, and all VPAID. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+          "exitCustomEvents": [ # List of exit events configured for the creative. For DISPLAY and DISPLAY_IMAGE_GALLERY creatives, these are read-only and auto-generated from clickTags, For DISPLAY, an event is also created from the backupImageReportingLabel. Applicable to the following creative types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+            { # Creative Custom Event.
+              "targetType": "A String", # Target type used by the event.
+              "artworkType": "A String", # Artwork type used by the creative.This is a read-only field.
+              "videoReportingId": "A String", # Video reporting ID, used to differentiate multiple videos in a single creative. This is a read-only field.
+              "popupWindowProperties": { # Popup Window Properties. # Properties for rich media popup windows. This field is used only for exit events.
+                "showStatusBar": True or False, # Whether to display the browser status bar.
+                "showScrollBar": True or False, # Whether to display the browser scroll bar.
+                "showAddressBar": True or False, # Whether to display the browser address bar.
+                "showMenuBar": True or False, # Whether to display the browser menu bar.
+                "title": "A String", # Title of popup window.
+                "showToolBar": True or False, # Whether to display the browser tool bar.
+                "positionType": "A String", # Popup window position either centered or at specific coordinate.
+                "offset": { # Offset Position. # Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.
+                  "top": 42, # Offset distance from top side of an asset or a window.
+                  "left": 42, # Offset distance from left side of an asset or a window.
+                },
+                "dimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID
+                  "width": 42, # Width of this size.
+                  "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+                  "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+                  "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+                  "height": 42, # Height of this size.
+                },
+              },
+              "advertiserCustomEventId": "A String", # Unique ID of this event used by DDM Reporting and Data Transfer. This is a read-only field.
+              "artworkLabel": "A String", # Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion.
+              "advertiserCustomEventType": "A String", # Type of the event. This is a read-only field.
+              "exitUrl": "A String", # Exit URL of the event. This field is used only for exit events.
+              "id": "A String", # ID of this event. This is a required field and should not be modified after insertion.
+              "advertiserCustomEventName": "A String", # User-entered name for the event.
+            },
+          ],
+          "renderingId": "A String", # ID of current rendering version. This is a read-only field. Applicable to all creative types.
+          "counterCustomEvents": [ # List of counter events configured for the creative. For DISPLAY_IMAGE_GALLERY creatives, these are read-only and auto-generated from clickTags. Applicable to the following creative types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID.
+            { # Creative Custom Event.
+              "targetType": "A String", # Target type used by the event.
+              "artworkType": "A String", # Artwork type used by the creative.This is a read-only field.
+              "videoReportingId": "A String", # Video reporting ID, used to differentiate multiple videos in a single creative. This is a read-only field.
+              "popupWindowProperties": { # Popup Window Properties. # Properties for rich media popup windows. This field is used only for exit events.
+                "showStatusBar": True or False, # Whether to display the browser status bar.
+                "showScrollBar": True or False, # Whether to display the browser scroll bar.
+                "showAddressBar": True or False, # Whether to display the browser address bar.
+                "showMenuBar": True or False, # Whether to display the browser menu bar.
+                "title": "A String", # Title of popup window.
+                "showToolBar": True or False, # Whether to display the browser tool bar.
+                "positionType": "A String", # Popup window position either centered or at specific coordinate.
+                "offset": { # Offset Position. # Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.
+                  "top": 42, # Offset distance from top side of an asset or a window.
+                  "left": 42, # Offset distance from left side of an asset or a window.
+                },
+                "dimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID
+                  "width": 42, # Width of this size.
+                  "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+                  "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+                  "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+                  "height": 42, # Height of this size.
+                },
+              },
+              "advertiserCustomEventId": "A String", # Unique ID of this event used by DDM Reporting and Data Transfer. This is a read-only field.
+              "artworkLabel": "A String", # Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion.
+              "advertiserCustomEventType": "A String", # Type of the event. This is a read-only field.
+              "exitUrl": "A String", # Exit URL of the event. This field is used only for exit events.
+              "id": "A String", # ID of this event. This is a required field and should not be modified after insertion.
+              "advertiserCustomEventName": "A String", # User-entered name for the event.
+            },
+          ],
+          "backupImageReportingLabel": "A String", # Reporting label used for HTML5 banner backup image. Applicable to the following creative types: DISPLAY when the primary asset type is not HTML_IMAGE.
+          "version": 42, # The version number helps you keep track of multiple versions of your creative in your reports. The version number will always be auto-generated during insert operations to start at 1. For tracking creatives the version cannot be incremented and will always remain at 1. For all other creative types the version can be incremented only by 1 during update operations. In addition, the version will be automatically incremented by 1 when undergoing Rich Media creative merging. Applicable to all creative types.
+          "creativeFieldAssignments": [ # Creative field assignments for this creative. Applicable to all creative types.
+            { # Creative Field Assignment.
+              "creativeFieldId": "A String", # ID of the creative field.
+              "creativeFieldValueId": "A String", # ID of the creative field value.
+            },
+          ],
+          "backgroundColor": "A String", # The 6-character HTML color code, beginning with #, for the background of the window area where the Flash file is displayed. Default is white. Applicable to the following creative types: FLASH_INPAGE.
+          "customKeyValues": [ # Custom key-values for a Rich Media creative. Key-values let you customize the creative settings of a Rich Media ad running on your site without having to contact the advertiser. You can use key-values to dynamically change the look or functionality of a creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+            "A String",
+          ],
+          "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this creative. This is a read-only field. Applicable to all creative types.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "htmlCode": "A String", # HTML code for the creative. This is a required field when applicable. This field is ignored if htmlCodeLocked is false. Applicable to the following creative types: all CUSTOM, FLASH_INPAGE, and HTML5_BANNER, and all RICH_MEDIA.
+          "size": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size associated with this creative. When inserting or updating a creative either the size ID field or size width and height fields can be used. This is a required field when applicable; however for IMAGE, FLASH_INPAGE creatives, and for DISPLAY creatives with a primary asset of type HTML_IMAGE, if left blank, this field will be automatically set using the actual size of the associated image assets. Applicable to the following creative types: DISPLAY, DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER, IMAGE, and all RICH_MEDIA.
+            "width": 42, # Width of this size.
+            "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+            "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+            "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+            "height": 42, # Height of this size.
+          },
+          "type": "A String", # Type of this creative.This is a required field. Applicable to all creative types.
+          "totalFileSize": "A String", # Combined size of all creative assets. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+          "thirdPartyRichMediaImpressionsUrl": "A String", # Third-party URL used to record rich media impressions. Applicable to the following creative types: all RICH_MEDIA.
+          "studioAdvertiserId": "A String", # Studio advertiser ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+          "creativeAssets": [ # Assets associated with a creative. Applicable to all but the following creative types: INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and REDIRECT
+            { # Creative Asset.
+              "mimeType": "A String", # Detected MIME type for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+              "artworkType": "A String", # Artwork type of rich media creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+              "positionLeftUnit": "A String", # Offset left unit for an asset. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+              "collapsedSize": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size of an asset when collapsed. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID. Additionally, applicable to assets whose displayType is ASSET_DISPLAY_TYPE_EXPANDING or ASSET_DISPLAY_TYPE_PEEL_DOWN.
+                "width": 42, # Width of this size.
+                "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+                "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+                "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+                "height": 42, # Height of this size.
+              },
+              "flashVersion": 42, # Flash version of the asset. This is a read-only field. Applicable to the following creative types: FLASH_INPAGE, all RICH_MEDIA, and all VPAID. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+              "pushdown": True or False, # Whether the asset pushes down other content. Applicable to the following creative types: all RICH_MEDIA. Additionally, only applicable when the asset offsets are 0, the collapsedSize.width matches size.width, and the collapsedSize.height is less than size.height.
+              "hideFlashObjects": True or False, # Whether to hide Flash objects flag for an asset. Applicable to the following creative types: all RICH_MEDIA.
+              "detectedFeatures": [ # List of feature dependencies for the creative asset that are detected by DCM. Feature dependencies are features that a browser must be able to support in order to render your HTML5 creative correctly. This is a read-only, auto-generated field. Applicable to the following creative types: HTML5_BANNER. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+                "A String",
+              ],
+              "duration": 42, # Duration in seconds for which an asset will be displayed. Applicable to the following creative types: INSTREAM_VIDEO and VPAID_LINEAR_VIDEO.
+              "positionTopUnit": "A String", # Offset top unit for an asset. This is a read-only field if the asset displayType is ASSET_DISPLAY_TYPE_OVERLAY. Applicable to the following creative types: all RICH_MEDIA.
+              "id": "A String", # Numeric ID of this creative asset. This is a required field and should not be modified. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.
+              "alignment": "A String", # Possible alignments for an asset. This is a read-only field. Applicable to the following creative types: RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL.
+              "size": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size associated with this creative asset. This is a required field when applicable; however for IMAGE and FLASH_INPAGE, creatives if left blank, this field will be automatically set using the actual size of the associated image asset. Applicable to the following creative types: DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER, IMAGE, and all RICH_MEDIA. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+                "width": 42, # Width of this size.
+                "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+                "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+                "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+                "height": 42, # Height of this size.
+              },
+              "horizontallyLocked": True or False, # Whether the asset is horizontally locked. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+              "startTimeType": "A String", # Initial wait time type before making the asset visible. Applicable to the following creative types: all RICH_MEDIA.
+              "displayType": "A String", # Type of rich media asset. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+              "expandedDimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Detected expanded dimension for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+                "width": 42, # Width of this size.
+                "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+                "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+                "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+                "height": 42, # Height of this size.
+              },
+              "verticallyLocked": True or False, # Whether the asset is vertically locked. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+              "role": "A String", # Role of the asset in relation to creative. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT. This is a required field.
+                  # PRIMARY applies to DISPLAY, FLASH_INPAGE, HTML5_BANNER, IMAGE, DISPLAY_IMAGE_GALLERY, all RICH_MEDIA (which may contain multiple primary assets), and all VPAID creatives.
+                  # BACKUP_IMAGE applies to FLASH_INPAGE, HTML5_BANNER, all RICH_MEDIA, and all VPAID creatives. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+                  # ADDITIONAL_IMAGE and ADDITIONAL_FLASH apply to FLASH_INPAGE creatives.
+                  # OTHER refers to assets from sources other than DCM, such as Studio uploaded assets, applicable to all RICH_MEDIA and all VPAID creatives.
+                  # PARENT_VIDEO refers to videos uploaded by the user in DCM and is applicable to INSTREAM_VIDEO and VPAID_LINEAR_VIDEO creatives.
+                  # TRANSCODED_VIDEO refers to videos transcoded by DCM from PARENT_VIDEO assets and is applicable to INSTREAM_VIDEO and VPAID_LINEAR_VIDEO creatives.
+                  # ALTERNATE_VIDEO refers to the DCM representation of child asset videos from Studio, and is applicable to VPAID_LINEAR_VIDEO creatives. These cannot be added or removed within DCM.
+                  # For VPAID_LINEAR_VIDEO creatives, PARENT_VIDEO, TRANSCODED_VIDEO and ALTERNATE_VIDEO assets that are marked active serve as backup in case the VPAID creative cannot be served. Only PARENT_VIDEO assets can be added or removed for an INSTREAM_VIDEO or VPAID_LINEAR_VIDEO creative.
+              "zipFilesize": "A String", # Size of zip file. This is a read-only field. Applicable to the following creative types: HTML5_BANNER.
+              "bitRate": 42, # Detected bit-rate for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+              "windowMode": "A String", # Window mode options for flash assets. Applicable to the following creative types: FLASH_INPAGE, RICH_MEDIA_DISPLAY_EXPANDING, RICH_MEDIA_IM_EXPAND, RICH_MEDIA_DISPLAY_BANNER, and RICH_MEDIA_INPAGE_FLOATING.
+              "progressiveServingUrl": "A String", # Progressive URL for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+              "durationType": "A String", # Duration type for which an asset will be displayed. Applicable to the following creative types: all RICH_MEDIA.
+              "videoDuration": 3.14, # Detected video duration for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+              "fileSize": "A String", # File size associated with this creative asset. This is a read-only field. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.
+              "zipFilename": "A String", # File name of zip file. This is a read-only field. Applicable to the following creative types: HTML5_BANNER.
+              "offset": { # Offset Position. # Offset position for an asset in collapsed mode. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID. Additionally, only applicable to assets whose displayType is ASSET_DISPLAY_TYPE_EXPANDING or ASSET_DISPLAY_TYPE_PEEL_DOWN.
+                "top": 42, # Offset distance from top side of an asset or a window.
+                "left": 42, # Offset distance from left side of an asset or a window.
+              },
+              "active": True or False, # Whether the video asset is active. This is a read-only field for VPAID_NON_LINEAR_VIDEO assets. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+              "originalBackup": True or False, # Whether the backup asset is original or changed by the user in DCM. Applicable to the following creative types: all RICH_MEDIA.
+              "hideSelectionBoxes": True or False, # Whether to hide selection boxes flag for an asset. Applicable to the following creative types: all RICH_MEDIA.
+              "streamingServingUrl": "A String", # Streaming URL for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+              "zIndex": 42, # zIndex value of an asset. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.Additionally, only applicable to assets whose displayType is NOT one of the following types: ASSET_DISPLAY_TYPE_INPAGE or ASSET_DISPLAY_TYPE_OVERLAY.
+              "childAssetType": "A String", # Rich media child asset type. This is a read-only field. Applicable to the following creative types: all VPAID.
+              "backupImageExit": { # Creative Custom Event. # Exit event configured for the backup image. Applicable to the following creative types: all RICH_MEDIA.
+                "targetType": "A String", # Target type used by the event.
+                "artworkType": "A String", # Artwork type used by the creative.This is a read-only field.
+                "videoReportingId": "A String", # Video reporting ID, used to differentiate multiple videos in a single creative. This is a read-only field.
+                "popupWindowProperties": { # Popup Window Properties. # Properties for rich media popup windows. This field is used only for exit events.
+                  "showStatusBar": True or False, # Whether to display the browser status bar.
+                  "showScrollBar": True or False, # Whether to display the browser scroll bar.
+                  "showAddressBar": True or False, # Whether to display the browser address bar.
+                  "showMenuBar": True or False, # Whether to display the browser menu bar.
+                  "title": "A String", # Title of popup window.
+                  "showToolBar": True or False, # Whether to display the browser tool bar.
+                  "positionType": "A String", # Popup window position either centered or at specific coordinate.
+                  "offset": { # Offset Position. # Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.
+                    "top": 42, # Offset distance from top side of an asset or a window.
+                    "left": 42, # Offset distance from left side of an asset or a window.
+                  },
+                  "dimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID
+                    "width": 42, # Width of this size.
+                    "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+                    "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+                    "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+                    "height": 42, # Height of this size.
+                  },
+                },
+                "advertiserCustomEventId": "A String", # Unique ID of this event used by DDM Reporting and Data Transfer. This is a read-only field.
+                "artworkLabel": "A String", # Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion.
+                "advertiserCustomEventType": "A String", # Type of the event. This is a read-only field.
+                "exitUrl": "A String", # Exit URL of the event. This field is used only for exit events.
+                "id": "A String", # ID of this event. This is a required field and should not be modified after insertion.
+                "advertiserCustomEventName": "A String", # User-entered name for the event.
+              },
+              "actionScript3": True or False, # Whether ActionScript3 is enabled for the flash asset. This is a read-only field. Applicable to the following creative type: FLASH_INPAGE. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+              "pushdownDuration": 3.14, # Pushdown duration in seconds for an asset. Must be between 0 and 9.99. Applicable to the following creative types: all RICH_MEDIA.Additionally, only applicable when the asset pushdown field is true, the offsets are 0, the collapsedSize.width matches size.width, and the collapsedSize.height is less than size.height.
+              "assetIdentifier": { # Creative Asset ID. # Identifier of this asset. This is the same identifier returned during creative asset insert operation. This is a required field. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.
+                "type": "A String", # Type of asset to upload. This is a required field. IMAGE is solely used for IMAGE creatives. Other image assets should use HTML_IMAGE.
+                "name": "A String", # Name of the creative asset. This is a required field while inserting an asset. After insertion, this assetIdentifier is used to identify the uploaded asset. Characters in the name must be alphanumeric or one of the following: ".-_ ". Spaces are allowed.
+              },
+              "transparency": True or False, # Whether the asset is transparent. Applicable to the following creative types: all RICH_MEDIA. Additionally, only applicable to HTML5 assets.
+              "sslCompliant": True or False, # Whether the asset is SSL-compliant. This is a read-only field. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.
+              "position": { # Offset Position. # Offset position for an asset. Applicable to the following creative types: all RICH_MEDIA.
+                "top": 42, # Offset distance from top side of an asset or a window.
+                "left": 42, # Offset distance from left side of an asset or a window.
+              },
+              "customStartTimeValue": 42, # Custom start time in seconds for making the asset visible. Applicable to the following creative types: all RICH_MEDIA.
+            },
+          ],
+          "redirectUrl": "A String", # URL of hosted image or hosted video or another ad tag. For INSTREAM_VIDEO_REDIRECT creatives this is the in-stream video redirect URL. The standard for a VAST (Video Ad Serving Template) ad response allows for a redirect link to another VAST 2.0 or 3.0 call. This is a required field when applicable. Applicable to the following creative types: DISPLAY_REDIRECT, INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and INSTREAM_VIDEO_REDIRECT
+          "videoDuration": 3.14, # Creative video duration in seconds. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO, all RICH_MEDIA, and all VPAID.
+          "htmlCodeLocked": True or False, # Whether HTML code is DCM-generated or manually entered. Set to true to ignore changes to htmlCode. Applicable to the following creative types: FLASH_INPAGE and HTML5_BANNER.
+          "convertFlashToHtml5": True or False, # Whether Flash assets associated with the creative need to be automatically converted to HTML5. This flag is enabled by default and users can choose to disable it if they don't want the system to generate and use HTML5 asset for this creative. Applicable to the following creative type: FLASH_INPAGE. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+          "clickTags": [ # Click tags of the creative. For DISPLAY, FLASH_INPAGE, and HTML5_BANNER creatives, this is a subset of detected click tags for the assets associated with this creative. After creating a flash asset, detected click tags will be returned in the creativeAssetMetadata. When inserting the creative, populate the creative clickTags field using the creativeAssetMetadata.clickTags field. For DISPLAY_IMAGE_GALLERY creatives, there should be exactly one entry in this list for each image creative asset. A click tag is matched with a corresponding creative asset by matching the clickTag.name field with the creativeAsset.assetIdentifier.name field. Applicable to the following creative types: DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+            { # Creative Click Tag.
+              "eventName": "A String", # Advertiser event name associated with the click tag. This field is used by ENHANCED_BANNER, ENHANCED_IMAGE, and HTML5_BANNER creatives.
+              "name": "A String", # Parameter name for the specified click tag. For ENHANCED_IMAGE creative assets, this field must match the value of the creative asset's creativeAssetId.name field.
+              "value": "A String", # Parameter value for the specified click tag. This field contains a click-through url.
+            },
+          ],
+          "commercialId": "A String", # Industry standard ID assigned to creative for reach and frequency. Applicable to the following creative types: all INSTREAM_VIDEO and all VPAID.
+          "active": True or False, # Whether the creative is active. Applicable to all creative types.
+          "compatibility": [ # Compatibilities associated with this creative. This is a read-only field. DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on desktop or on mobile devices or in mobile apps for regular or interstitial ads, respectively. APP and APP_INTERSTITIAL  are for rendering in mobile apps. Only pre-existing creatives may have these compatibilities since new creatives will either be assigned DISPLAY or DISPLAY_INTERSTITIAL instead. IN_STREAM_VIDEO refers to rendering in in-stream video ads developed with the VAST standard. Applicable to all creative types.
+              #
+              # Acceptable values are:
+              # - "APP"
+              # - "APP_INTERSTITIAL"
+              # - "IN_STREAM_VIDEO"
+              # - "DISPLAY"
+              # - "DISPLAY_INTERSTITIAL"
+            "A String",
+          ],
+          "adParameters": "A String", # Ad parameters user for VPAID creative. This is a read-only field. Applicable to the following creative types: all VPAID.
+          "adTagKeys": [ # Keywords for a Rich Media creative. Keywords let you customize the creative settings of a Rich Media ad running on your site without having to contact the advertiser. You can use keywords to dynamically change the look or functionality of a creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+            "A String",
+          ],
+          "kind": "dfareporting#creative", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creative".
+          "subaccountId": "A String", # Subaccount ID of this creative. This field, if left unset, will be auto-generated for both insert and update operations. Applicable to all creative types.
+          "name": "A String", # Name of the creative. This is a required field and must be less than 256 characters long. Applicable to all creative types.
+          "sslOverride": True or False, # Whether creative should be treated as SSL compliant even if the system scan shows it's not. Applicable to all creative types.
+          "lastModifiedInfo": { # Modification timestamp. # Creative last modification information. This is a read-only field. Applicable to all creative types.
+            "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+          },
+          "backupImageClickThroughUrl": "A String", # Click-through URL for backup image. Applicable to the following creative types: FLASH_INPAGE and HTML5_BANNER. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+          "sslCompliant": True or False, # Whether the creative is SSL-compliant. This is a read-only field. Applicable to all creative types.
+          "studioCreativeId": "A String", # Studio creative ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+          "authoringTool": "A String", # Authoring tool for HTML5 banner creatives. This is a read-only field. Applicable to the following creative types: HTML5_BANNER.
+          "allowScriptAccess": True or False, # Whether script access is allowed for this creative. This is a read-only and deprecated field which will automatically be set to true on update. Applicable to the following creative types: FLASH_INPAGE.
+          "companionCreatives": [ # List of companion creatives assigned to an in-Stream videocreative. Acceptable values include IDs of existing flash and image creatives. Applicable to the following creative types: all INSTREAM_VIDEO and all VPAID.
+            "A String",
+          ],
+          "auto_advance_images": True or False, # Whether images are automatically advanced for enhanced image creatives. Applicable to the following creative types: DISPLAY_IMAGE_GALLERY.
+          "backupImageFeatures": [ # List of feature dependencies that will cause a backup image to be served if the browser that serves the ad does not support them. Feature dependencies are features that a browser must be able to support in order to render your HTML5 creative asset correctly. This field is initially auto-generated to contain all features detected by DCM for all the assets of this creative and can then be modified by the client. To reset this field, copy over all the creativeAssets' detected features. Applicable to the following creative types: HTML5_BANNER. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+            "A String",
+          ],
+          "backupImageTargetWindow": { # Target Window. # Target window for backup image. Applicable to the following creative types: FLASH_INPAGE and HTML5_BANNER. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+            "customHtml": "A String", # User-entered value.
+            "targetWindowOption": "A String", # Type of browser window for which the backup image of the flash creative can be displayed.
+          },
+          "skippable": True or False, # Whether the user can choose to skip the creative. Applicable to the following creative types: all INSTREAM_VIDEO and all VPAID.
+        },
+    ],
+  }
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    
+
+ +
+ patch(profileId, id, body) +
Updates an existing creative. This method supports patch semantics.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Creative ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a Creative.
+    "thirdPartyUrls": [ # Third-party URLs for tracking in-stream video creative events. Applicable to the following creative types: all INSTREAM_VIDEO and all VPAID.
+      { # Third-party Tracking URL.
+        "url": "A String", # URL for the specified third-party URL type.
+        "thirdPartyUrlType": "A String", # Third-party URL type for in-stream video creatives.
+      },
+    ],
+    "artworkType": "A String", # Type of artwork used for the creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+    "latestTraffickedCreativeId": "A String", # Latest Studio trafficked creative ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+    "videoDescription": "A String", # Description of the video ad. Applicable to the following creative types: all INSTREAM_VIDEO and all VPAID.
+    "advertiserId": "A String", # Advertiser ID of this creative. This is a required field. Applicable to all creative types.
+    "requiredFlashPluginVersion": "A String", # The minimum required Flash plugin version for this creative. For example, 11.2.202.235. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+    "thirdPartyBackupImageImpressionsUrl": "A String", # Third-party URL used to record backup image impressions. Applicable to the following creative types: all RICH_MEDIA.
+    "timerCustomEvents": [ # List of timer events configured for the creative. For DISPLAY_IMAGE_GALLERY creatives, these are read-only and auto-generated from clickTags. Applicable to the following creative types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID. Applicable to DISPLAY when the primary asset is not HTML_IMAGE.
+      { # Creative Custom Event.
+        "targetType": "A String", # Target type used by the event.
+        "artworkType": "A String", # Artwork type used by the creative.This is a read-only field.
+        "videoReportingId": "A String", # Video reporting ID, used to differentiate multiple videos in a single creative. This is a read-only field.
+        "popupWindowProperties": { # Popup Window Properties. # Properties for rich media popup windows. This field is used only for exit events.
+          "showStatusBar": True or False, # Whether to display the browser status bar.
+          "showScrollBar": True or False, # Whether to display the browser scroll bar.
+          "showAddressBar": True or False, # Whether to display the browser address bar.
+          "showMenuBar": True or False, # Whether to display the browser menu bar.
+          "title": "A String", # Title of popup window.
+          "showToolBar": True or False, # Whether to display the browser tool bar.
+          "positionType": "A String", # Popup window position either centered or at specific coordinate.
+          "offset": { # Offset Position. # Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.
+            "top": 42, # Offset distance from top side of an asset or a window.
+            "left": 42, # Offset distance from left side of an asset or a window.
+          },
+          "dimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID
+            "width": 42, # Width of this size.
+            "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+            "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+            "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+            "height": 42, # Height of this size.
+          },
+        },
+        "advertiserCustomEventId": "A String", # Unique ID of this event used by DDM Reporting and Data Transfer. This is a read-only field.
+        "artworkLabel": "A String", # Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion.
+        "advertiserCustomEventType": "A String", # Type of the event. This is a read-only field.
+        "exitUrl": "A String", # Exit URL of the event. This field is used only for exit events.
+        "id": "A String", # ID of this event. This is a required field and should not be modified after insertion.
+        "advertiserCustomEventName": "A String", # User-entered name for the event.
+      },
+    ],
+    "renderingIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the rendering ID of this creative. This is a read-only field. Applicable to all creative types.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "fsCommand": { # FsCommand. # OpenWindow FSCommand of this creative. This lets the SWF file communicate with either Flash Player or the program hosting Flash Player, such as a web browser. This is only triggered if allowScriptAccess field is true. Applicable to the following creative types: FLASH_INPAGE.
+      "windowHeight": 42, # Height of the window.
+      "top": 42, # Distance from the top of the browser. Applicable when positionOption is DISTANCE_FROM_TOP_LEFT_CORNER.
+      "windowWidth": 42, # Width of the window.
+      "positionOption": "A String", # Position in the browser where the window will open.
+      "left": 42, # Distance from the left of the browser.Applicable when positionOption is DISTANCE_FROM_TOP_LEFT_CORNER.
+    },
+    "id": "A String", # ID of this creative. This is a read-only, auto-generated field. Applicable to all creative types.
+    "accountId": "A String", # Account ID of this creative. This field, if left unset, will be auto-generated for both insert and update operations. Applicable to all creative types.
+    "studioTraffickedCreativeId": "A String", # Studio trafficked creative ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+    "archived": True or False, # Whether the creative is archived. Applicable to all creative types.
+    "overrideCss": "A String", # Override CSS value for rich media creatives. Applicable to the following creative types: all RICH_MEDIA.
+    "authoringSource": "A String", # Source application where creative was authored. Presently, only DBM authored creatives will have this field set. Applicable to all creative types.
+    "requiredFlashVersion": 42, # The internal Flash version for this creative as calculated by DoubleClick Studio. This is a read-only field. Applicable to the following creative types: FLASH_INPAGE all RICH_MEDIA, and all VPAID. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+    "exitCustomEvents": [ # List of exit events configured for the creative. For DISPLAY and DISPLAY_IMAGE_GALLERY creatives, these are read-only and auto-generated from clickTags, For DISPLAY, an event is also created from the backupImageReportingLabel. Applicable to the following creative types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+      { # Creative Custom Event.
+        "targetType": "A String", # Target type used by the event.
+        "artworkType": "A String", # Artwork type used by the creative.This is a read-only field.
+        "videoReportingId": "A String", # Video reporting ID, used to differentiate multiple videos in a single creative. This is a read-only field.
+        "popupWindowProperties": { # Popup Window Properties. # Properties for rich media popup windows. This field is used only for exit events.
+          "showStatusBar": True or False, # Whether to display the browser status bar.
+          "showScrollBar": True or False, # Whether to display the browser scroll bar.
+          "showAddressBar": True or False, # Whether to display the browser address bar.
+          "showMenuBar": True or False, # Whether to display the browser menu bar.
+          "title": "A String", # Title of popup window.
+          "showToolBar": True or False, # Whether to display the browser tool bar.
+          "positionType": "A String", # Popup window position either centered or at specific coordinate.
+          "offset": { # Offset Position. # Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.
+            "top": 42, # Offset distance from top side of an asset or a window.
+            "left": 42, # Offset distance from left side of an asset or a window.
+          },
+          "dimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID
+            "width": 42, # Width of this size.
+            "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+            "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+            "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+            "height": 42, # Height of this size.
+          },
+        },
+        "advertiserCustomEventId": "A String", # Unique ID of this event used by DDM Reporting and Data Transfer. This is a read-only field.
+        "artworkLabel": "A String", # Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion.
+        "advertiserCustomEventType": "A String", # Type of the event. This is a read-only field.
+        "exitUrl": "A String", # Exit URL of the event. This field is used only for exit events.
+        "id": "A String", # ID of this event. This is a required field and should not be modified after insertion.
+        "advertiserCustomEventName": "A String", # User-entered name for the event.
+      },
+    ],
+    "renderingId": "A String", # ID of current rendering version. This is a read-only field. Applicable to all creative types.
+    "counterCustomEvents": [ # List of counter events configured for the creative. For DISPLAY_IMAGE_GALLERY creatives, these are read-only and auto-generated from clickTags. Applicable to the following creative types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID.
+      { # Creative Custom Event.
+        "targetType": "A String", # Target type used by the event.
+        "artworkType": "A String", # Artwork type used by the creative.This is a read-only field.
+        "videoReportingId": "A String", # Video reporting ID, used to differentiate multiple videos in a single creative. This is a read-only field.
+        "popupWindowProperties": { # Popup Window Properties. # Properties for rich media popup windows. This field is used only for exit events.
+          "showStatusBar": True or False, # Whether to display the browser status bar.
+          "showScrollBar": True or False, # Whether to display the browser scroll bar.
+          "showAddressBar": True or False, # Whether to display the browser address bar.
+          "showMenuBar": True or False, # Whether to display the browser menu bar.
+          "title": "A String", # Title of popup window.
+          "showToolBar": True or False, # Whether to display the browser tool bar.
+          "positionType": "A String", # Popup window position either centered or at specific coordinate.
+          "offset": { # Offset Position. # Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.
+            "top": 42, # Offset distance from top side of an asset or a window.
+            "left": 42, # Offset distance from left side of an asset or a window.
+          },
+          "dimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID
+            "width": 42, # Width of this size.
+            "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+            "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+            "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+            "height": 42, # Height of this size.
+          },
+        },
+        "advertiserCustomEventId": "A String", # Unique ID of this event used by DDM Reporting and Data Transfer. This is a read-only field.
+        "artworkLabel": "A String", # Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion.
+        "advertiserCustomEventType": "A String", # Type of the event. This is a read-only field.
+        "exitUrl": "A String", # Exit URL of the event. This field is used only for exit events.
+        "id": "A String", # ID of this event. This is a required field and should not be modified after insertion.
+        "advertiserCustomEventName": "A String", # User-entered name for the event.
+      },
+    ],
+    "backupImageReportingLabel": "A String", # Reporting label used for HTML5 banner backup image. Applicable to the following creative types: DISPLAY when the primary asset type is not HTML_IMAGE.
+    "version": 42, # The version number helps you keep track of multiple versions of your creative in your reports. The version number will always be auto-generated during insert operations to start at 1. For tracking creatives the version cannot be incremented and will always remain at 1. For all other creative types the version can be incremented only by 1 during update operations. In addition, the version will be automatically incremented by 1 when undergoing Rich Media creative merging. Applicable to all creative types.
+    "creativeFieldAssignments": [ # Creative field assignments for this creative. Applicable to all creative types.
+      { # Creative Field Assignment.
+        "creativeFieldId": "A String", # ID of the creative field.
+        "creativeFieldValueId": "A String", # ID of the creative field value.
+      },
+    ],
+    "backgroundColor": "A String", # The 6-character HTML color code, beginning with #, for the background of the window area where the Flash file is displayed. Default is white. Applicable to the following creative types: FLASH_INPAGE.
+    "customKeyValues": [ # Custom key-values for a Rich Media creative. Key-values let you customize the creative settings of a Rich Media ad running on your site without having to contact the advertiser. You can use key-values to dynamically change the look or functionality of a creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "A String",
+    ],
+    "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this creative. This is a read-only field. Applicable to all creative types.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "htmlCode": "A String", # HTML code for the creative. This is a required field when applicable. This field is ignored if htmlCodeLocked is false. Applicable to the following creative types: all CUSTOM, FLASH_INPAGE, and HTML5_BANNER, and all RICH_MEDIA.
+    "size": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size associated with this creative. When inserting or updating a creative either the size ID field or size width and height fields can be used. This is a required field when applicable; however for IMAGE, FLASH_INPAGE creatives, and for DISPLAY creatives with a primary asset of type HTML_IMAGE, if left blank, this field will be automatically set using the actual size of the associated image assets. Applicable to the following creative types: DISPLAY, DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER, IMAGE, and all RICH_MEDIA.
+      "width": 42, # Width of this size.
+      "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+      "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+      "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+      "height": 42, # Height of this size.
+    },
+    "type": "A String", # Type of this creative.This is a required field. Applicable to all creative types.
+    "totalFileSize": "A String", # Combined size of all creative assets. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+    "thirdPartyRichMediaImpressionsUrl": "A String", # Third-party URL used to record rich media impressions. Applicable to the following creative types: all RICH_MEDIA.
+    "studioAdvertiserId": "A String", # Studio advertiser ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+    "creativeAssets": [ # Assets associated with a creative. Applicable to all but the following creative types: INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and REDIRECT
+      { # Creative Asset.
+        "mimeType": "A String", # Detected MIME type for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+        "artworkType": "A String", # Artwork type of rich media creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+        "positionLeftUnit": "A String", # Offset left unit for an asset. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+        "collapsedSize": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size of an asset when collapsed. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID. Additionally, applicable to assets whose displayType is ASSET_DISPLAY_TYPE_EXPANDING or ASSET_DISPLAY_TYPE_PEEL_DOWN.
+          "width": 42, # Width of this size.
+          "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+          "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+          "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+          "height": 42, # Height of this size.
+        },
+        "flashVersion": 42, # Flash version of the asset. This is a read-only field. Applicable to the following creative types: FLASH_INPAGE, all RICH_MEDIA, and all VPAID. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+        "pushdown": True or False, # Whether the asset pushes down other content. Applicable to the following creative types: all RICH_MEDIA. Additionally, only applicable when the asset offsets are 0, the collapsedSize.width matches size.width, and the collapsedSize.height is less than size.height.
+        "hideFlashObjects": True or False, # Whether to hide Flash objects flag for an asset. Applicable to the following creative types: all RICH_MEDIA.
+        "detectedFeatures": [ # List of feature dependencies for the creative asset that are detected by DCM. Feature dependencies are features that a browser must be able to support in order to render your HTML5 creative correctly. This is a read-only, auto-generated field. Applicable to the following creative types: HTML5_BANNER. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+          "A String",
+        ],
+        "duration": 42, # Duration in seconds for which an asset will be displayed. Applicable to the following creative types: INSTREAM_VIDEO and VPAID_LINEAR_VIDEO.
+        "positionTopUnit": "A String", # Offset top unit for an asset. This is a read-only field if the asset displayType is ASSET_DISPLAY_TYPE_OVERLAY. Applicable to the following creative types: all RICH_MEDIA.
+        "id": "A String", # Numeric ID of this creative asset. This is a required field and should not be modified. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.
+        "alignment": "A String", # Possible alignments for an asset. This is a read-only field. Applicable to the following creative types: RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL.
+        "size": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size associated with this creative asset. This is a required field when applicable; however for IMAGE and FLASH_INPAGE, creatives if left blank, this field will be automatically set using the actual size of the associated image asset. Applicable to the following creative types: DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER, IMAGE, and all RICH_MEDIA. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+          "width": 42, # Width of this size.
+          "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+          "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+          "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+          "height": 42, # Height of this size.
+        },
+        "horizontallyLocked": True or False, # Whether the asset is horizontally locked. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+        "startTimeType": "A String", # Initial wait time type before making the asset visible. Applicable to the following creative types: all RICH_MEDIA.
+        "displayType": "A String", # Type of rich media asset. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+        "expandedDimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Detected expanded dimension for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+          "width": 42, # Width of this size.
+          "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+          "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+          "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+          "height": 42, # Height of this size.
+        },
+        "verticallyLocked": True or False, # Whether the asset is vertically locked. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+        "role": "A String", # Role of the asset in relation to creative. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT. This is a required field.
+            # PRIMARY applies to DISPLAY, FLASH_INPAGE, HTML5_BANNER, IMAGE, DISPLAY_IMAGE_GALLERY, all RICH_MEDIA (which may contain multiple primary assets), and all VPAID creatives.
+            # BACKUP_IMAGE applies to FLASH_INPAGE, HTML5_BANNER, all RICH_MEDIA, and all VPAID creatives. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+            # ADDITIONAL_IMAGE and ADDITIONAL_FLASH apply to FLASH_INPAGE creatives.
+            # OTHER refers to assets from sources other than DCM, such as Studio uploaded assets, applicable to all RICH_MEDIA and all VPAID creatives.
+            # PARENT_VIDEO refers to videos uploaded by the user in DCM and is applicable to INSTREAM_VIDEO and VPAID_LINEAR_VIDEO creatives.
+            # TRANSCODED_VIDEO refers to videos transcoded by DCM from PARENT_VIDEO assets and is applicable to INSTREAM_VIDEO and VPAID_LINEAR_VIDEO creatives.
+            # ALTERNATE_VIDEO refers to the DCM representation of child asset videos from Studio, and is applicable to VPAID_LINEAR_VIDEO creatives. These cannot be added or removed within DCM.
+            # For VPAID_LINEAR_VIDEO creatives, PARENT_VIDEO, TRANSCODED_VIDEO and ALTERNATE_VIDEO assets that are marked active serve as backup in case the VPAID creative cannot be served. Only PARENT_VIDEO assets can be added or removed for an INSTREAM_VIDEO or VPAID_LINEAR_VIDEO creative.
+        "zipFilesize": "A String", # Size of zip file. This is a read-only field. Applicable to the following creative types: HTML5_BANNER.
+        "bitRate": 42, # Detected bit-rate for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+        "windowMode": "A String", # Window mode options for flash assets. Applicable to the following creative types: FLASH_INPAGE, RICH_MEDIA_DISPLAY_EXPANDING, RICH_MEDIA_IM_EXPAND, RICH_MEDIA_DISPLAY_BANNER, and RICH_MEDIA_INPAGE_FLOATING.
+        "progressiveServingUrl": "A String", # Progressive URL for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+        "durationType": "A String", # Duration type for which an asset will be displayed. Applicable to the following creative types: all RICH_MEDIA.
+        "videoDuration": 3.14, # Detected video duration for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+        "fileSize": "A String", # File size associated with this creative asset. This is a read-only field. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.
+        "zipFilename": "A String", # File name of zip file. This is a read-only field. Applicable to the following creative types: HTML5_BANNER.
+        "offset": { # Offset Position. # Offset position for an asset in collapsed mode. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID. Additionally, only applicable to assets whose displayType is ASSET_DISPLAY_TYPE_EXPANDING or ASSET_DISPLAY_TYPE_PEEL_DOWN.
+          "top": 42, # Offset distance from top side of an asset or a window.
+          "left": 42, # Offset distance from left side of an asset or a window.
+        },
+        "active": True or False, # Whether the video asset is active. This is a read-only field for VPAID_NON_LINEAR_VIDEO assets. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+        "originalBackup": True or False, # Whether the backup asset is original or changed by the user in DCM. Applicable to the following creative types: all RICH_MEDIA.
+        "hideSelectionBoxes": True or False, # Whether to hide selection boxes flag for an asset. Applicable to the following creative types: all RICH_MEDIA.
+        "streamingServingUrl": "A String", # Streaming URL for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+        "zIndex": 42, # zIndex value of an asset. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.Additionally, only applicable to assets whose displayType is NOT one of the following types: ASSET_DISPLAY_TYPE_INPAGE or ASSET_DISPLAY_TYPE_OVERLAY.
+        "childAssetType": "A String", # Rich media child asset type. This is a read-only field. Applicable to the following creative types: all VPAID.
+        "backupImageExit": { # Creative Custom Event. # Exit event configured for the backup image. Applicable to the following creative types: all RICH_MEDIA.
+          "targetType": "A String", # Target type used by the event.
+          "artworkType": "A String", # Artwork type used by the creative.This is a read-only field.
+          "videoReportingId": "A String", # Video reporting ID, used to differentiate multiple videos in a single creative. This is a read-only field.
+          "popupWindowProperties": { # Popup Window Properties. # Properties for rich media popup windows. This field is used only for exit events.
+            "showStatusBar": True or False, # Whether to display the browser status bar.
+            "showScrollBar": True or False, # Whether to display the browser scroll bar.
+            "showAddressBar": True or False, # Whether to display the browser address bar.
+            "showMenuBar": True or False, # Whether to display the browser menu bar.
+            "title": "A String", # Title of popup window.
+            "showToolBar": True or False, # Whether to display the browser tool bar.
+            "positionType": "A String", # Popup window position either centered or at specific coordinate.
+            "offset": { # Offset Position. # Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.
+              "top": 42, # Offset distance from top side of an asset or a window.
+              "left": 42, # Offset distance from left side of an asset or a window.
+            },
+            "dimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID
+              "width": 42, # Width of this size.
+              "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+              "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+              "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+              "height": 42, # Height of this size.
+            },
+          },
+          "advertiserCustomEventId": "A String", # Unique ID of this event used by DDM Reporting and Data Transfer. This is a read-only field.
+          "artworkLabel": "A String", # Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion.
+          "advertiserCustomEventType": "A String", # Type of the event. This is a read-only field.
+          "exitUrl": "A String", # Exit URL of the event. This field is used only for exit events.
+          "id": "A String", # ID of this event. This is a required field and should not be modified after insertion.
+          "advertiserCustomEventName": "A String", # User-entered name for the event.
+        },
+        "actionScript3": True or False, # Whether ActionScript3 is enabled for the flash asset. This is a read-only field. Applicable to the following creative type: FLASH_INPAGE. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+        "pushdownDuration": 3.14, # Pushdown duration in seconds for an asset. Must be between 0 and 9.99. Applicable to the following creative types: all RICH_MEDIA.Additionally, only applicable when the asset pushdown field is true, the offsets are 0, the collapsedSize.width matches size.width, and the collapsedSize.height is less than size.height.
+        "assetIdentifier": { # Creative Asset ID. # Identifier of this asset. This is the same identifier returned during creative asset insert operation. This is a required field. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.
+          "type": "A String", # Type of asset to upload. This is a required field. IMAGE is solely used for IMAGE creatives. Other image assets should use HTML_IMAGE.
+          "name": "A String", # Name of the creative asset. This is a required field while inserting an asset. After insertion, this assetIdentifier is used to identify the uploaded asset. Characters in the name must be alphanumeric or one of the following: ".-_ ". Spaces are allowed.
+        },
+        "transparency": True or False, # Whether the asset is transparent. Applicable to the following creative types: all RICH_MEDIA. Additionally, only applicable to HTML5 assets.
+        "sslCompliant": True or False, # Whether the asset is SSL-compliant. This is a read-only field. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.
+        "position": { # Offset Position. # Offset position for an asset. Applicable to the following creative types: all RICH_MEDIA.
+          "top": 42, # Offset distance from top side of an asset or a window.
+          "left": 42, # Offset distance from left side of an asset or a window.
+        },
+        "customStartTimeValue": 42, # Custom start time in seconds for making the asset visible. Applicable to the following creative types: all RICH_MEDIA.
+      },
+    ],
+    "redirectUrl": "A String", # URL of hosted image or hosted video or another ad tag. For INSTREAM_VIDEO_REDIRECT creatives this is the in-stream video redirect URL. The standard for a VAST (Video Ad Serving Template) ad response allows for a redirect link to another VAST 2.0 or 3.0 call. This is a required field when applicable. Applicable to the following creative types: DISPLAY_REDIRECT, INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and INSTREAM_VIDEO_REDIRECT
+    "videoDuration": 3.14, # Creative video duration in seconds. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO, all RICH_MEDIA, and all VPAID.
+    "htmlCodeLocked": True or False, # Whether HTML code is DCM-generated or manually entered. Set to true to ignore changes to htmlCode. Applicable to the following creative types: FLASH_INPAGE and HTML5_BANNER.
+    "convertFlashToHtml5": True or False, # Whether Flash assets associated with the creative need to be automatically converted to HTML5. This flag is enabled by default and users can choose to disable it if they don't want the system to generate and use HTML5 asset for this creative. Applicable to the following creative type: FLASH_INPAGE. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+    "clickTags": [ # Click tags of the creative. For DISPLAY, FLASH_INPAGE, and HTML5_BANNER creatives, this is a subset of detected click tags for the assets associated with this creative. After creating a flash asset, detected click tags will be returned in the creativeAssetMetadata. When inserting the creative, populate the creative clickTags field using the creativeAssetMetadata.clickTags field. For DISPLAY_IMAGE_GALLERY creatives, there should be exactly one entry in this list for each image creative asset. A click tag is matched with a corresponding creative asset by matching the clickTag.name field with the creativeAsset.assetIdentifier.name field. Applicable to the following creative types: DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+      { # Creative Click Tag.
+        "eventName": "A String", # Advertiser event name associated with the click tag. This field is used by ENHANCED_BANNER, ENHANCED_IMAGE, and HTML5_BANNER creatives.
+        "name": "A String", # Parameter name for the specified click tag. For ENHANCED_IMAGE creative assets, this field must match the value of the creative asset's creativeAssetId.name field.
+        "value": "A String", # Parameter value for the specified click tag. This field contains a click-through url.
+      },
+    ],
+    "commercialId": "A String", # Industry standard ID assigned to creative for reach and frequency. Applicable to the following creative types: all INSTREAM_VIDEO and all VPAID.
+    "active": True or False, # Whether the creative is active. Applicable to all creative types.
+    "compatibility": [ # Compatibilities associated with this creative. This is a read-only field. DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on desktop or on mobile devices or in mobile apps for regular or interstitial ads, respectively. APP and APP_INTERSTITIAL  are for rendering in mobile apps. Only pre-existing creatives may have these compatibilities since new creatives will either be assigned DISPLAY or DISPLAY_INTERSTITIAL instead. IN_STREAM_VIDEO refers to rendering in in-stream video ads developed with the VAST standard. Applicable to all creative types.
+        # 
+        # Acceptable values are:
+        # - "APP"
+        # - "APP_INTERSTITIAL"
+        # - "IN_STREAM_VIDEO"
+        # - "DISPLAY"
+        # - "DISPLAY_INTERSTITIAL"
+      "A String",
+    ],
+    "adParameters": "A String", # Ad parameters user for VPAID creative. This is a read-only field. Applicable to the following creative types: all VPAID.
+    "adTagKeys": [ # Keywords for a Rich Media creative. Keywords let you customize the creative settings of a Rich Media ad running on your site without having to contact the advertiser. You can use keywords to dynamically change the look or functionality of a creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "A String",
+    ],
+    "kind": "dfareporting#creative", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creative".
+    "subaccountId": "A String", # Subaccount ID of this creative. This field, if left unset, will be auto-generated for both insert and update operations. Applicable to all creative types.
+    "name": "A String", # Name of the creative. This is a required field and must be less than 256 characters long. Applicable to all creative types.
+    "sslOverride": True or False, # Whether creative should be treated as SSL compliant even if the system scan shows it's not. Applicable to all creative types.
+    "lastModifiedInfo": { # Modification timestamp. # Creative last modification information. This is a read-only field. Applicable to all creative types.
+      "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+    },
+    "backupImageClickThroughUrl": "A String", # Click-through URL for backup image. Applicable to the following creative types: FLASH_INPAGE and HTML5_BANNER. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+    "sslCompliant": True or False, # Whether the creative is SSL-compliant. This is a read-only field. Applicable to all creative types.
+    "studioCreativeId": "A String", # Studio creative ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+    "authoringTool": "A String", # Authoring tool for HTML5 banner creatives. This is a read-only field. Applicable to the following creative types: HTML5_BANNER.
+    "allowScriptAccess": True or False, # Whether script access is allowed for this creative. This is a read-only and deprecated field which will automatically be set to true on update. Applicable to the following creative types: FLASH_INPAGE.
+    "companionCreatives": [ # List of companion creatives assigned to an in-Stream videocreative. Acceptable values include IDs of existing flash and image creatives. Applicable to the following creative types: all INSTREAM_VIDEO and all VPAID.
+      "A String",
+    ],
+    "auto_advance_images": True or False, # Whether images are automatically advanced for enhanced image creatives. Applicable to the following creative types: DISPLAY_IMAGE_GALLERY.
+    "backupImageFeatures": [ # List of feature dependencies that will cause a backup image to be served if the browser that serves the ad does not support them. Feature dependencies are features that a browser must be able to support in order to render your HTML5 creative asset correctly. This field is initially auto-generated to contain all features detected by DCM for all the assets of this creative and can then be modified by the client. To reset this field, copy over all the creativeAssets' detected features. Applicable to the following creative types: HTML5_BANNER. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+      "A String",
+    ],
+    "backupImageTargetWindow": { # Target Window. # Target window for backup image. Applicable to the following creative types: FLASH_INPAGE and HTML5_BANNER. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+      "customHtml": "A String", # User-entered value.
+      "targetWindowOption": "A String", # Type of browser window for which the backup image of the flash creative can be displayed.
+    },
+    "skippable": True or False, # Whether the user can choose to skip the creative. Applicable to the following creative types: all INSTREAM_VIDEO and all VPAID.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a Creative.
+      "thirdPartyUrls": [ # Third-party URLs for tracking in-stream video creative events. Applicable to the following creative types: all INSTREAM_VIDEO and all VPAID.
+        { # Third-party Tracking URL.
+          "url": "A String", # URL for the specified third-party URL type.
+          "thirdPartyUrlType": "A String", # Third-party URL type for in-stream video creatives.
+        },
+      ],
+      "artworkType": "A String", # Type of artwork used for the creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "latestTraffickedCreativeId": "A String", # Latest Studio trafficked creative ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "videoDescription": "A String", # Description of the video ad. Applicable to the following creative types: all INSTREAM_VIDEO and all VPAID.
+      "advertiserId": "A String", # Advertiser ID of this creative. This is a required field. Applicable to all creative types.
+      "requiredFlashPluginVersion": "A String", # The minimum required Flash plugin version for this creative. For example, 11.2.202.235. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "thirdPartyBackupImageImpressionsUrl": "A String", # Third-party URL used to record backup image impressions. Applicable to the following creative types: all RICH_MEDIA.
+      "timerCustomEvents": [ # List of timer events configured for the creative. For DISPLAY_IMAGE_GALLERY creatives, these are read-only and auto-generated from clickTags. Applicable to the following creative types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID. Applicable to DISPLAY when the primary asset is not HTML_IMAGE.
+        { # Creative Custom Event.
+          "targetType": "A String", # Target type used by the event.
+          "artworkType": "A String", # Artwork type used by the creative.This is a read-only field.
+          "videoReportingId": "A String", # Video reporting ID, used to differentiate multiple videos in a single creative. This is a read-only field.
+          "popupWindowProperties": { # Popup Window Properties. # Properties for rich media popup windows. This field is used only for exit events.
+            "showStatusBar": True or False, # Whether to display the browser status bar.
+            "showScrollBar": True or False, # Whether to display the browser scroll bar.
+            "showAddressBar": True or False, # Whether to display the browser address bar.
+            "showMenuBar": True or False, # Whether to display the browser menu bar.
+            "title": "A String", # Title of popup window.
+            "showToolBar": True or False, # Whether to display the browser tool bar.
+            "positionType": "A String", # Popup window position either centered or at specific coordinate.
+            "offset": { # Offset Position. # Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.
+              "top": 42, # Offset distance from top side of an asset or a window.
+              "left": 42, # Offset distance from left side of an asset or a window.
+            },
+            "dimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID
+              "width": 42, # Width of this size.
+              "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+              "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+              "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+              "height": 42, # Height of this size.
+            },
+          },
+          "advertiserCustomEventId": "A String", # Unique ID of this event used by DDM Reporting and Data Transfer. This is a read-only field.
+          "artworkLabel": "A String", # Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion.
+          "advertiserCustomEventType": "A String", # Type of the event. This is a read-only field.
+          "exitUrl": "A String", # Exit URL of the event. This field is used only for exit events.
+          "id": "A String", # ID of this event. This is a required field and should not be modified after insertion.
+          "advertiserCustomEventName": "A String", # User-entered name for the event.
+        },
+      ],
+      "renderingIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the rendering ID of this creative. This is a read-only field. Applicable to all creative types.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "fsCommand": { # FsCommand. # OpenWindow FSCommand of this creative. This lets the SWF file communicate with either Flash Player or the program hosting Flash Player, such as a web browser. This is only triggered if allowScriptAccess field is true. Applicable to the following creative types: FLASH_INPAGE.
+        "windowHeight": 42, # Height of the window.
+        "top": 42, # Distance from the top of the browser. Applicable when positionOption is DISTANCE_FROM_TOP_LEFT_CORNER.
+        "windowWidth": 42, # Width of the window.
+        "positionOption": "A String", # Position in the browser where the window will open.
+        "left": 42, # Distance from the left of the browser.Applicable when positionOption is DISTANCE_FROM_TOP_LEFT_CORNER.
+      },
+      "id": "A String", # ID of this creative. This is a read-only, auto-generated field. Applicable to all creative types.
+      "accountId": "A String", # Account ID of this creative. This field, if left unset, will be auto-generated for both insert and update operations. Applicable to all creative types.
+      "studioTraffickedCreativeId": "A String", # Studio trafficked creative ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "archived": True or False, # Whether the creative is archived. Applicable to all creative types.
+      "overrideCss": "A String", # Override CSS value for rich media creatives. Applicable to the following creative types: all RICH_MEDIA.
+      "authoringSource": "A String", # Source application where creative was authored. Presently, only DBM authored creatives will have this field set. Applicable to all creative types.
+      "requiredFlashVersion": 42, # The internal Flash version for this creative as calculated by DoubleClick Studio. This is a read-only field. Applicable to the following creative types: FLASH_INPAGE all RICH_MEDIA, and all VPAID. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+      "exitCustomEvents": [ # List of exit events configured for the creative. For DISPLAY and DISPLAY_IMAGE_GALLERY creatives, these are read-only and auto-generated from clickTags, For DISPLAY, an event is also created from the backupImageReportingLabel. Applicable to the following creative types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+        { # Creative Custom Event.
+          "targetType": "A String", # Target type used by the event.
+          "artworkType": "A String", # Artwork type used by the creative.This is a read-only field.
+          "videoReportingId": "A String", # Video reporting ID, used to differentiate multiple videos in a single creative. This is a read-only field.
+          "popupWindowProperties": { # Popup Window Properties. # Properties for rich media popup windows. This field is used only for exit events.
+            "showStatusBar": True or False, # Whether to display the browser status bar.
+            "showScrollBar": True or False, # Whether to display the browser scroll bar.
+            "showAddressBar": True or False, # Whether to display the browser address bar.
+            "showMenuBar": True or False, # Whether to display the browser menu bar.
+            "title": "A String", # Title of popup window.
+            "showToolBar": True or False, # Whether to display the browser tool bar.
+            "positionType": "A String", # Popup window position either centered or at specific coordinate.
+            "offset": { # Offset Position. # Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.
+              "top": 42, # Offset distance from top side of an asset or a window.
+              "left": 42, # Offset distance from left side of an asset or a window.
+            },
+            "dimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID
+              "width": 42, # Width of this size.
+              "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+              "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+              "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+              "height": 42, # Height of this size.
+            },
+          },
+          "advertiserCustomEventId": "A String", # Unique ID of this event used by DDM Reporting and Data Transfer. This is a read-only field.
+          "artworkLabel": "A String", # Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion.
+          "advertiserCustomEventType": "A String", # Type of the event. This is a read-only field.
+          "exitUrl": "A String", # Exit URL of the event. This field is used only for exit events.
+          "id": "A String", # ID of this event. This is a required field and should not be modified after insertion.
+          "advertiserCustomEventName": "A String", # User-entered name for the event.
+        },
+      ],
+      "renderingId": "A String", # ID of current rendering version. This is a read-only field. Applicable to all creative types.
+      "counterCustomEvents": [ # List of counter events configured for the creative. For DISPLAY_IMAGE_GALLERY creatives, these are read-only and auto-generated from clickTags. Applicable to the following creative types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID.
+        { # Creative Custom Event.
+          "targetType": "A String", # Target type used by the event.
+          "artworkType": "A String", # Artwork type used by the creative.This is a read-only field.
+          "videoReportingId": "A String", # Video reporting ID, used to differentiate multiple videos in a single creative. This is a read-only field.
+          "popupWindowProperties": { # Popup Window Properties. # Properties for rich media popup windows. This field is used only for exit events.
+            "showStatusBar": True or False, # Whether to display the browser status bar.
+            "showScrollBar": True or False, # Whether to display the browser scroll bar.
+            "showAddressBar": True or False, # Whether to display the browser address bar.
+            "showMenuBar": True or False, # Whether to display the browser menu bar.
+            "title": "A String", # Title of popup window.
+            "showToolBar": True or False, # Whether to display the browser tool bar.
+            "positionType": "A String", # Popup window position either centered or at specific coordinate.
+            "offset": { # Offset Position. # Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.
+              "top": 42, # Offset distance from top side of an asset or a window.
+              "left": 42, # Offset distance from left side of an asset or a window.
+            },
+            "dimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID
+              "width": 42, # Width of this size.
+              "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+              "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+              "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+              "height": 42, # Height of this size.
+            },
+          },
+          "advertiserCustomEventId": "A String", # Unique ID of this event used by DDM Reporting and Data Transfer. This is a read-only field.
+          "artworkLabel": "A String", # Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion.
+          "advertiserCustomEventType": "A String", # Type of the event. This is a read-only field.
+          "exitUrl": "A String", # Exit URL of the event. This field is used only for exit events.
+          "id": "A String", # ID of this event. This is a required field and should not be modified after insertion.
+          "advertiserCustomEventName": "A String", # User-entered name for the event.
+        },
+      ],
+      "backupImageReportingLabel": "A String", # Reporting label used for HTML5 banner backup image. Applicable to the following creative types: DISPLAY when the primary asset type is not HTML_IMAGE.
+      "version": 42, # The version number helps you keep track of multiple versions of your creative in your reports. The version number will always be auto-generated during insert operations to start at 1. For tracking creatives the version cannot be incremented and will always remain at 1. For all other creative types the version can be incremented only by 1 during update operations. In addition, the version will be automatically incremented by 1 when undergoing Rich Media creative merging. Applicable to all creative types.
+      "creativeFieldAssignments": [ # Creative field assignments for this creative. Applicable to all creative types.
+        { # Creative Field Assignment.
+          "creativeFieldId": "A String", # ID of the creative field.
+          "creativeFieldValueId": "A String", # ID of the creative field value.
+        },
+      ],
+      "backgroundColor": "A String", # The 6-character HTML color code, beginning with #, for the background of the window area where the Flash file is displayed. Default is white. Applicable to the following creative types: FLASH_INPAGE.
+      "customKeyValues": [ # Custom key-values for a Rich Media creative. Key-values let you customize the creative settings of a Rich Media ad running on your site without having to contact the advertiser. You can use key-values to dynamically change the look or functionality of a creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+        "A String",
+      ],
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this creative. This is a read-only field. Applicable to all creative types.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "htmlCode": "A String", # HTML code for the creative. This is a required field when applicable. This field is ignored if htmlCodeLocked is false. Applicable to the following creative types: all CUSTOM, FLASH_INPAGE, and HTML5_BANNER, and all RICH_MEDIA.
+      "size": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size associated with this creative. When inserting or updating a creative either the size ID field or size width and height fields can be used. This is a required field when applicable; however for IMAGE, FLASH_INPAGE creatives, and for DISPLAY creatives with a primary asset of type HTML_IMAGE, if left blank, this field will be automatically set using the actual size of the associated image assets. Applicable to the following creative types: DISPLAY, DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER, IMAGE, and all RICH_MEDIA.
+        "width": 42, # Width of this size.
+        "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+        "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+        "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+        "height": 42, # Height of this size.
+      },
+      "type": "A String", # Type of this creative.This is a required field. Applicable to all creative types.
+      "totalFileSize": "A String", # Combined size of all creative assets. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "thirdPartyRichMediaImpressionsUrl": "A String", # Third-party URL used to record rich media impressions. Applicable to the following creative types: all RICH_MEDIA.
+      "studioAdvertiserId": "A String", # Studio advertiser ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "creativeAssets": [ # Assets associated with a creative. Applicable to all but the following creative types: INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and REDIRECT
+        { # Creative Asset.
+          "mimeType": "A String", # Detected MIME type for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+          "artworkType": "A String", # Artwork type of rich media creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+          "positionLeftUnit": "A String", # Offset left unit for an asset. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+          "collapsedSize": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size of an asset when collapsed. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID. Additionally, applicable to assets whose displayType is ASSET_DISPLAY_TYPE_EXPANDING or ASSET_DISPLAY_TYPE_PEEL_DOWN.
+            "width": 42, # Width of this size.
+            "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+            "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+            "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+            "height": 42, # Height of this size.
+          },
+          "flashVersion": 42, # Flash version of the asset. This is a read-only field. Applicable to the following creative types: FLASH_INPAGE, all RICH_MEDIA, and all VPAID. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+          "pushdown": True or False, # Whether the asset pushes down other content. Applicable to the following creative types: all RICH_MEDIA. Additionally, only applicable when the asset offsets are 0, the collapsedSize.width matches size.width, and the collapsedSize.height is less than size.height.
+          "hideFlashObjects": True or False, # Whether to hide Flash objects flag for an asset. Applicable to the following creative types: all RICH_MEDIA.
+          "detectedFeatures": [ # List of feature dependencies for the creative asset that are detected by DCM. Feature dependencies are features that a browser must be able to support in order to render your HTML5 creative correctly. This is a read-only, auto-generated field. Applicable to the following creative types: HTML5_BANNER. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+            "A String",
+          ],
+          "duration": 42, # Duration in seconds for which an asset will be displayed. Applicable to the following creative types: INSTREAM_VIDEO and VPAID_LINEAR_VIDEO.
+          "positionTopUnit": "A String", # Offset top unit for an asset. This is a read-only field if the asset displayType is ASSET_DISPLAY_TYPE_OVERLAY. Applicable to the following creative types: all RICH_MEDIA.
+          "id": "A String", # Numeric ID of this creative asset. This is a required field and should not be modified. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.
+          "alignment": "A String", # Possible alignments for an asset. This is a read-only field. Applicable to the following creative types: RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL.
+          "size": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size associated with this creative asset. This is a required field when applicable; however for IMAGE and FLASH_INPAGE, creatives if left blank, this field will be automatically set using the actual size of the associated image asset. Applicable to the following creative types: DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER, IMAGE, and all RICH_MEDIA. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+            "width": 42, # Width of this size.
+            "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+            "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+            "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+            "height": 42, # Height of this size.
+          },
+          "horizontallyLocked": True or False, # Whether the asset is horizontally locked. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+          "startTimeType": "A String", # Initial wait time type before making the asset visible. Applicable to the following creative types: all RICH_MEDIA.
+          "displayType": "A String", # Type of rich media asset. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+          "expandedDimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Detected expanded dimension for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+            "width": 42, # Width of this size.
+            "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+            "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+            "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+            "height": 42, # Height of this size.
+          },
+          "verticallyLocked": True or False, # Whether the asset is vertically locked. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+          "role": "A String", # Role of the asset in relation to creative. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT. This is a required field.
+              # PRIMARY applies to DISPLAY, FLASH_INPAGE, HTML5_BANNER, IMAGE, DISPLAY_IMAGE_GALLERY, all RICH_MEDIA (which may contain multiple primary assets), and all VPAID creatives.
+              # BACKUP_IMAGE applies to FLASH_INPAGE, HTML5_BANNER, all RICH_MEDIA, and all VPAID creatives. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+              # ADDITIONAL_IMAGE and ADDITIONAL_FLASH apply to FLASH_INPAGE creatives.
+              # OTHER refers to assets from sources other than DCM, such as Studio uploaded assets, applicable to all RICH_MEDIA and all VPAID creatives.
+              # PARENT_VIDEO refers to videos uploaded by the user in DCM and is applicable to INSTREAM_VIDEO and VPAID_LINEAR_VIDEO creatives.
+              # TRANSCODED_VIDEO refers to videos transcoded by DCM from PARENT_VIDEO assets and is applicable to INSTREAM_VIDEO and VPAID_LINEAR_VIDEO creatives.
+              # ALTERNATE_VIDEO refers to the DCM representation of child asset videos from Studio, and is applicable to VPAID_LINEAR_VIDEO creatives. These cannot be added or removed within DCM.
+              # For VPAID_LINEAR_VIDEO creatives, PARENT_VIDEO, TRANSCODED_VIDEO and ALTERNATE_VIDEO assets that are marked active serve as backup in case the VPAID creative cannot be served. Only PARENT_VIDEO assets can be added or removed for an INSTREAM_VIDEO or VPAID_LINEAR_VIDEO creative.
+          "zipFilesize": "A String", # Size of zip file. This is a read-only field. Applicable to the following creative types: HTML5_BANNER.
+          "bitRate": 42, # Detected bit-rate for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+          "windowMode": "A String", # Window mode options for flash assets. Applicable to the following creative types: FLASH_INPAGE, RICH_MEDIA_DISPLAY_EXPANDING, RICH_MEDIA_IM_EXPAND, RICH_MEDIA_DISPLAY_BANNER, and RICH_MEDIA_INPAGE_FLOATING.
+          "progressiveServingUrl": "A String", # Progressive URL for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+          "durationType": "A String", # Duration type for which an asset will be displayed. Applicable to the following creative types: all RICH_MEDIA.
+          "videoDuration": 3.14, # Detected video duration for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+          "fileSize": "A String", # File size associated with this creative asset. This is a read-only field. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.
+          "zipFilename": "A String", # File name of zip file. This is a read-only field. Applicable to the following creative types: HTML5_BANNER.
+          "offset": { # Offset Position. # Offset position for an asset in collapsed mode. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID. Additionally, only applicable to assets whose displayType is ASSET_DISPLAY_TYPE_EXPANDING or ASSET_DISPLAY_TYPE_PEEL_DOWN.
+            "top": 42, # Offset distance from top side of an asset or a window.
+            "left": 42, # Offset distance from left side of an asset or a window.
+          },
+          "active": True or False, # Whether the video asset is active. This is a read-only field for VPAID_NON_LINEAR_VIDEO assets. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+          "originalBackup": True or False, # Whether the backup asset is original or changed by the user in DCM. Applicable to the following creative types: all RICH_MEDIA.
+          "hideSelectionBoxes": True or False, # Whether to hide selection boxes flag for an asset. Applicable to the following creative types: all RICH_MEDIA.
+          "streamingServingUrl": "A String", # Streaming URL for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+          "zIndex": 42, # zIndex value of an asset. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.Additionally, only applicable to assets whose displayType is NOT one of the following types: ASSET_DISPLAY_TYPE_INPAGE or ASSET_DISPLAY_TYPE_OVERLAY.
+          "childAssetType": "A String", # Rich media child asset type. This is a read-only field. Applicable to the following creative types: all VPAID.
+          "backupImageExit": { # Creative Custom Event. # Exit event configured for the backup image. Applicable to the following creative types: all RICH_MEDIA.
+            "targetType": "A String", # Target type used by the event.
+            "artworkType": "A String", # Artwork type used by the creative.This is a read-only field.
+            "videoReportingId": "A String", # Video reporting ID, used to differentiate multiple videos in a single creative. This is a read-only field.
+            "popupWindowProperties": { # Popup Window Properties. # Properties for rich media popup windows. This field is used only for exit events.
+              "showStatusBar": True or False, # Whether to display the browser status bar.
+              "showScrollBar": True or False, # Whether to display the browser scroll bar.
+              "showAddressBar": True or False, # Whether to display the browser address bar.
+              "showMenuBar": True or False, # Whether to display the browser menu bar.
+              "title": "A String", # Title of popup window.
+              "showToolBar": True or False, # Whether to display the browser tool bar.
+              "positionType": "A String", # Popup window position either centered or at specific coordinate.
+              "offset": { # Offset Position. # Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.
+                "top": 42, # Offset distance from top side of an asset or a window.
+                "left": 42, # Offset distance from left side of an asset or a window.
+              },
+              "dimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID
+                "width": 42, # Width of this size.
+                "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+                "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+                "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+                "height": 42, # Height of this size.
+              },
+            },
+            "advertiserCustomEventId": "A String", # Unique ID of this event used by DDM Reporting and Data Transfer. This is a read-only field.
+            "artworkLabel": "A String", # Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion.
+            "advertiserCustomEventType": "A String", # Type of the event. This is a read-only field.
+            "exitUrl": "A String", # Exit URL of the event. This field is used only for exit events.
+            "id": "A String", # ID of this event. This is a required field and should not be modified after insertion.
+            "advertiserCustomEventName": "A String", # User-entered name for the event.
+          },
+          "actionScript3": True or False, # Whether ActionScript3 is enabled for the flash asset. This is a read-only field. Applicable to the following creative type: FLASH_INPAGE. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+          "pushdownDuration": 3.14, # Pushdown duration in seconds for an asset. Must be between 0 and 9.99. Applicable to the following creative types: all RICH_MEDIA.Additionally, only applicable when the asset pushdown field is true, the offsets are 0, the collapsedSize.width matches size.width, and the collapsedSize.height is less than size.height.
+          "assetIdentifier": { # Creative Asset ID. # Identifier of this asset. This is the same identifier returned during creative asset insert operation. This is a required field. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.
+            "type": "A String", # Type of asset to upload. This is a required field. IMAGE is solely used for IMAGE creatives. Other image assets should use HTML_IMAGE.
+            "name": "A String", # Name of the creative asset. This is a required field while inserting an asset. After insertion, this assetIdentifier is used to identify the uploaded asset. Characters in the name must be alphanumeric or one of the following: ".-_ ". Spaces are allowed.
+          },
+          "transparency": True or False, # Whether the asset is transparent. Applicable to the following creative types: all RICH_MEDIA. Additionally, only applicable to HTML5 assets.
+          "sslCompliant": True or False, # Whether the asset is SSL-compliant. This is a read-only field. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.
+          "position": { # Offset Position. # Offset position for an asset. Applicable to the following creative types: all RICH_MEDIA.
+            "top": 42, # Offset distance from top side of an asset or a window.
+            "left": 42, # Offset distance from left side of an asset or a window.
+          },
+          "customStartTimeValue": 42, # Custom start time in seconds for making the asset visible. Applicable to the following creative types: all RICH_MEDIA.
+        },
+      ],
+      "redirectUrl": "A String", # URL of hosted image or hosted video or another ad tag. For INSTREAM_VIDEO_REDIRECT creatives this is the in-stream video redirect URL. The standard for a VAST (Video Ad Serving Template) ad response allows for a redirect link to another VAST 2.0 or 3.0 call. This is a required field when applicable. Applicable to the following creative types: DISPLAY_REDIRECT, INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and INSTREAM_VIDEO_REDIRECT
+      "videoDuration": 3.14, # Creative video duration in seconds. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO, all RICH_MEDIA, and all VPAID.
+      "htmlCodeLocked": True or False, # Whether HTML code is DCM-generated or manually entered. Set to true to ignore changes to htmlCode. Applicable to the following creative types: FLASH_INPAGE and HTML5_BANNER.
+      "convertFlashToHtml5": True or False, # Whether Flash assets associated with the creative need to be automatically converted to HTML5. This flag is enabled by default and users can choose to disable it if they don't want the system to generate and use HTML5 asset for this creative. Applicable to the following creative type: FLASH_INPAGE. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+      "clickTags": [ # Click tags of the creative. For DISPLAY, FLASH_INPAGE, and HTML5_BANNER creatives, this is a subset of detected click tags for the assets associated with this creative. After creating a flash asset, detected click tags will be returned in the creativeAssetMetadata. When inserting the creative, populate the creative clickTags field using the creativeAssetMetadata.clickTags field. For DISPLAY_IMAGE_GALLERY creatives, there should be exactly one entry in this list for each image creative asset. A click tag is matched with a corresponding creative asset by matching the clickTag.name field with the creativeAsset.assetIdentifier.name field. Applicable to the following creative types: DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+        { # Creative Click Tag.
+          "eventName": "A String", # Advertiser event name associated with the click tag. This field is used by ENHANCED_BANNER, ENHANCED_IMAGE, and HTML5_BANNER creatives.
+          "name": "A String", # Parameter name for the specified click tag. For ENHANCED_IMAGE creative assets, this field must match the value of the creative asset's creativeAssetId.name field.
+          "value": "A String", # Parameter value for the specified click tag. This field contains a click-through url.
+        },
+      ],
+      "commercialId": "A String", # Industry standard ID assigned to creative for reach and frequency. Applicable to the following creative types: all INSTREAM_VIDEO and all VPAID.
+      "active": True or False, # Whether the creative is active. Applicable to all creative types.
+      "compatibility": [ # Compatibilities associated with this creative. This is a read-only field. DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on desktop or on mobile devices or in mobile apps for regular or interstitial ads, respectively. APP and APP_INTERSTITIAL  are for rendering in mobile apps. Only pre-existing creatives may have these compatibilities since new creatives will either be assigned DISPLAY or DISPLAY_INTERSTITIAL instead. IN_STREAM_VIDEO refers to rendering in in-stream video ads developed with the VAST standard. Applicable to all creative types.
+          #
+          # Acceptable values are:
+          # - "APP"
+          # - "APP_INTERSTITIAL"
+          # - "IN_STREAM_VIDEO"
+          # - "DISPLAY"
+          # - "DISPLAY_INTERSTITIAL"
+        "A String",
+      ],
+      "adParameters": "A String", # Ad parameters user for VPAID creative. This is a read-only field. Applicable to the following creative types: all VPAID.
+      "adTagKeys": [ # Keywords for a Rich Media creative. Keywords let you customize the creative settings of a Rich Media ad running on your site without having to contact the advertiser. You can use keywords to dynamically change the look or functionality of a creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+        "A String",
+      ],
+      "kind": "dfareporting#creative", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creative".
+      "subaccountId": "A String", # Subaccount ID of this creative. This field, if left unset, will be auto-generated for both insert and update operations. Applicable to all creative types.
+      "name": "A String", # Name of the creative. This is a required field and must be less than 256 characters long. Applicable to all creative types.
+      "sslOverride": True or False, # Whether creative should be treated as SSL compliant even if the system scan shows it's not. Applicable to all creative types.
+      "lastModifiedInfo": { # Modification timestamp. # Creative last modification information. This is a read-only field. Applicable to all creative types.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "backupImageClickThroughUrl": "A String", # Click-through URL for backup image. Applicable to the following creative types: FLASH_INPAGE and HTML5_BANNER. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+      "sslCompliant": True or False, # Whether the creative is SSL-compliant. This is a read-only field. Applicable to all creative types.
+      "studioCreativeId": "A String", # Studio creative ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "authoringTool": "A String", # Authoring tool for HTML5 banner creatives. This is a read-only field. Applicable to the following creative types: HTML5_BANNER.
+      "allowScriptAccess": True or False, # Whether script access is allowed for this creative. This is a read-only and deprecated field which will automatically be set to true on update. Applicable to the following creative types: FLASH_INPAGE.
+      "companionCreatives": [ # List of companion creatives assigned to an in-Stream videocreative. Acceptable values include IDs of existing flash and image creatives. Applicable to the following creative types: all INSTREAM_VIDEO and all VPAID.
+        "A String",
+      ],
+      "auto_advance_images": True or False, # Whether images are automatically advanced for enhanced image creatives. Applicable to the following creative types: DISPLAY_IMAGE_GALLERY.
+      "backupImageFeatures": [ # List of feature dependencies that will cause a backup image to be served if the browser that serves the ad does not support them. Feature dependencies are features that a browser must be able to support in order to render your HTML5 creative asset correctly. This field is initially auto-generated to contain all features detected by DCM for all the assets of this creative and can then be modified by the client. To reset this field, copy over all the creativeAssets' detected features. Applicable to the following creative types: HTML5_BANNER. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+        "A String",
+      ],
+      "backupImageTargetWindow": { # Target Window. # Target window for backup image. Applicable to the following creative types: FLASH_INPAGE and HTML5_BANNER. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+        "customHtml": "A String", # User-entered value.
+        "targetWindowOption": "A String", # Type of browser window for which the backup image of the flash creative can be displayed.
+      },
+      "skippable": True or False, # Whether the user can choose to skip the creative. Applicable to the following creative types: all INSTREAM_VIDEO and all VPAID.
+    }
+
+ +
+ update(profileId, body) +
Updates an existing creative.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a Creative.
+    "thirdPartyUrls": [ # Third-party URLs for tracking in-stream video creative events. Applicable to the following creative types: all INSTREAM_VIDEO and all VPAID.
+      { # Third-party Tracking URL.
+        "url": "A String", # URL for the specified third-party URL type.
+        "thirdPartyUrlType": "A String", # Third-party URL type for in-stream video creatives.
+      },
+    ],
+    "artworkType": "A String", # Type of artwork used for the creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+    "latestTraffickedCreativeId": "A String", # Latest Studio trafficked creative ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+    "videoDescription": "A String", # Description of the video ad. Applicable to the following creative types: all INSTREAM_VIDEO and all VPAID.
+    "advertiserId": "A String", # Advertiser ID of this creative. This is a required field. Applicable to all creative types.
+    "requiredFlashPluginVersion": "A String", # The minimum required Flash plugin version for this creative. For example, 11.2.202.235. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+    "thirdPartyBackupImageImpressionsUrl": "A String", # Third-party URL used to record backup image impressions. Applicable to the following creative types: all RICH_MEDIA.
+    "timerCustomEvents": [ # List of timer events configured for the creative. For DISPLAY_IMAGE_GALLERY creatives, these are read-only and auto-generated from clickTags. Applicable to the following creative types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID. Applicable to DISPLAY when the primary asset is not HTML_IMAGE.
+      { # Creative Custom Event.
+        "targetType": "A String", # Target type used by the event.
+        "artworkType": "A String", # Artwork type used by the creative.This is a read-only field.
+        "videoReportingId": "A String", # Video reporting ID, used to differentiate multiple videos in a single creative. This is a read-only field.
+        "popupWindowProperties": { # Popup Window Properties. # Properties for rich media popup windows. This field is used only for exit events.
+          "showStatusBar": True or False, # Whether to display the browser status bar.
+          "showScrollBar": True or False, # Whether to display the browser scroll bar.
+          "showAddressBar": True or False, # Whether to display the browser address bar.
+          "showMenuBar": True or False, # Whether to display the browser menu bar.
+          "title": "A String", # Title of popup window.
+          "showToolBar": True or False, # Whether to display the browser tool bar.
+          "positionType": "A String", # Popup window position either centered or at specific coordinate.
+          "offset": { # Offset Position. # Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.
+            "top": 42, # Offset distance from top side of an asset or a window.
+            "left": 42, # Offset distance from left side of an asset or a window.
+          },
+          "dimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID
+            "width": 42, # Width of this size.
+            "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+            "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+            "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+            "height": 42, # Height of this size.
+          },
+        },
+        "advertiserCustomEventId": "A String", # Unique ID of this event used by DDM Reporting and Data Transfer. This is a read-only field.
+        "artworkLabel": "A String", # Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion.
+        "advertiserCustomEventType": "A String", # Type of the event. This is a read-only field.
+        "exitUrl": "A String", # Exit URL of the event. This field is used only for exit events.
+        "id": "A String", # ID of this event. This is a required field and should not be modified after insertion.
+        "advertiserCustomEventName": "A String", # User-entered name for the event.
+      },
+    ],
+    "renderingIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the rendering ID of this creative. This is a read-only field. Applicable to all creative types.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "fsCommand": { # FsCommand. # OpenWindow FSCommand of this creative. This lets the SWF file communicate with either Flash Player or the program hosting Flash Player, such as a web browser. This is only triggered if allowScriptAccess field is true. Applicable to the following creative types: FLASH_INPAGE.
+      "windowHeight": 42, # Height of the window.
+      "top": 42, # Distance from the top of the browser. Applicable when positionOption is DISTANCE_FROM_TOP_LEFT_CORNER.
+      "windowWidth": 42, # Width of the window.
+      "positionOption": "A String", # Position in the browser where the window will open.
+      "left": 42, # Distance from the left of the browser.Applicable when positionOption is DISTANCE_FROM_TOP_LEFT_CORNER.
+    },
+    "id": "A String", # ID of this creative. This is a read-only, auto-generated field. Applicable to all creative types.
+    "accountId": "A String", # Account ID of this creative. This field, if left unset, will be auto-generated for both insert and update operations. Applicable to all creative types.
+    "studioTraffickedCreativeId": "A String", # Studio trafficked creative ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+    "archived": True or False, # Whether the creative is archived. Applicable to all creative types.
+    "overrideCss": "A String", # Override CSS value for rich media creatives. Applicable to the following creative types: all RICH_MEDIA.
+    "authoringSource": "A String", # Source application where creative was authored. Presently, only DBM authored creatives will have this field set. Applicable to all creative types.
+    "requiredFlashVersion": 42, # The internal Flash version for this creative as calculated by DoubleClick Studio. This is a read-only field. Applicable to the following creative types: FLASH_INPAGE all RICH_MEDIA, and all VPAID. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+    "exitCustomEvents": [ # List of exit events configured for the creative. For DISPLAY and DISPLAY_IMAGE_GALLERY creatives, these are read-only and auto-generated from clickTags, For DISPLAY, an event is also created from the backupImageReportingLabel. Applicable to the following creative types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+      { # Creative Custom Event.
+        "targetType": "A String", # Target type used by the event.
+        "artworkType": "A String", # Artwork type used by the creative.This is a read-only field.
+        "videoReportingId": "A String", # Video reporting ID, used to differentiate multiple videos in a single creative. This is a read-only field.
+        "popupWindowProperties": { # Popup Window Properties. # Properties for rich media popup windows. This field is used only for exit events.
+          "showStatusBar": True or False, # Whether to display the browser status bar.
+          "showScrollBar": True or False, # Whether to display the browser scroll bar.
+          "showAddressBar": True or False, # Whether to display the browser address bar.
+          "showMenuBar": True or False, # Whether to display the browser menu bar.
+          "title": "A String", # Title of popup window.
+          "showToolBar": True or False, # Whether to display the browser tool bar.
+          "positionType": "A String", # Popup window position either centered or at specific coordinate.
+          "offset": { # Offset Position. # Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.
+            "top": 42, # Offset distance from top side of an asset or a window.
+            "left": 42, # Offset distance from left side of an asset or a window.
+          },
+          "dimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID
+            "width": 42, # Width of this size.
+            "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+            "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+            "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+            "height": 42, # Height of this size.
+          },
+        },
+        "advertiserCustomEventId": "A String", # Unique ID of this event used by DDM Reporting and Data Transfer. This is a read-only field.
+        "artworkLabel": "A String", # Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion.
+        "advertiserCustomEventType": "A String", # Type of the event. This is a read-only field.
+        "exitUrl": "A String", # Exit URL of the event. This field is used only for exit events.
+        "id": "A String", # ID of this event. This is a required field and should not be modified after insertion.
+        "advertiserCustomEventName": "A String", # User-entered name for the event.
+      },
+    ],
+    "renderingId": "A String", # ID of current rendering version. This is a read-only field. Applicable to all creative types.
+    "counterCustomEvents": [ # List of counter events configured for the creative. For DISPLAY_IMAGE_GALLERY creatives, these are read-only and auto-generated from clickTags. Applicable to the following creative types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID.
+      { # Creative Custom Event.
+        "targetType": "A String", # Target type used by the event.
+        "artworkType": "A String", # Artwork type used by the creative.This is a read-only field.
+        "videoReportingId": "A String", # Video reporting ID, used to differentiate multiple videos in a single creative. This is a read-only field.
+        "popupWindowProperties": { # Popup Window Properties. # Properties for rich media popup windows. This field is used only for exit events.
+          "showStatusBar": True or False, # Whether to display the browser status bar.
+          "showScrollBar": True or False, # Whether to display the browser scroll bar.
+          "showAddressBar": True or False, # Whether to display the browser address bar.
+          "showMenuBar": True or False, # Whether to display the browser menu bar.
+          "title": "A String", # Title of popup window.
+          "showToolBar": True or False, # Whether to display the browser tool bar.
+          "positionType": "A String", # Popup window position either centered or at specific coordinate.
+          "offset": { # Offset Position. # Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.
+            "top": 42, # Offset distance from top side of an asset or a window.
+            "left": 42, # Offset distance from left side of an asset or a window.
+          },
+          "dimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID
+            "width": 42, # Width of this size.
+            "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+            "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+            "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+            "height": 42, # Height of this size.
+          },
+        },
+        "advertiserCustomEventId": "A String", # Unique ID of this event used by DDM Reporting and Data Transfer. This is a read-only field.
+        "artworkLabel": "A String", # Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion.
+        "advertiserCustomEventType": "A String", # Type of the event. This is a read-only field.
+        "exitUrl": "A String", # Exit URL of the event. This field is used only for exit events.
+        "id": "A String", # ID of this event. This is a required field and should not be modified after insertion.
+        "advertiserCustomEventName": "A String", # User-entered name for the event.
+      },
+    ],
+    "backupImageReportingLabel": "A String", # Reporting label used for HTML5 banner backup image. Applicable to the following creative types: DISPLAY when the primary asset type is not HTML_IMAGE.
+    "version": 42, # The version number helps you keep track of multiple versions of your creative in your reports. The version number will always be auto-generated during insert operations to start at 1. For tracking creatives the version cannot be incremented and will always remain at 1. For all other creative types the version can be incremented only by 1 during update operations. In addition, the version will be automatically incremented by 1 when undergoing Rich Media creative merging. Applicable to all creative types.
+    "creativeFieldAssignments": [ # Creative field assignments for this creative. Applicable to all creative types.
+      { # Creative Field Assignment.
+        "creativeFieldId": "A String", # ID of the creative field.
+        "creativeFieldValueId": "A String", # ID of the creative field value.
+      },
+    ],
+    "backgroundColor": "A String", # The 6-character HTML color code, beginning with #, for the background of the window area where the Flash file is displayed. Default is white. Applicable to the following creative types: FLASH_INPAGE.
+    "customKeyValues": [ # Custom key-values for a Rich Media creative. Key-values let you customize the creative settings of a Rich Media ad running on your site without having to contact the advertiser. You can use key-values to dynamically change the look or functionality of a creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "A String",
+    ],
+    "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this creative. This is a read-only field. Applicable to all creative types.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "htmlCode": "A String", # HTML code for the creative. This is a required field when applicable. This field is ignored if htmlCodeLocked is false. Applicable to the following creative types: all CUSTOM, FLASH_INPAGE, and HTML5_BANNER, and all RICH_MEDIA.
+    "size": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size associated with this creative. When inserting or updating a creative either the size ID field or size width and height fields can be used. This is a required field when applicable; however for IMAGE, FLASH_INPAGE creatives, and for DISPLAY creatives with a primary asset of type HTML_IMAGE, if left blank, this field will be automatically set using the actual size of the associated image assets. Applicable to the following creative types: DISPLAY, DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER, IMAGE, and all RICH_MEDIA.
+      "width": 42, # Width of this size.
+      "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+      "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+      "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+      "height": 42, # Height of this size.
+    },
+    "type": "A String", # Type of this creative.This is a required field. Applicable to all creative types.
+    "totalFileSize": "A String", # Combined size of all creative assets. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+    "thirdPartyRichMediaImpressionsUrl": "A String", # Third-party URL used to record rich media impressions. Applicable to the following creative types: all RICH_MEDIA.
+    "studioAdvertiserId": "A String", # Studio advertiser ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+    "creativeAssets": [ # Assets associated with a creative. Applicable to all but the following creative types: INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and REDIRECT
+      { # Creative Asset.
+        "mimeType": "A String", # Detected MIME type for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+        "artworkType": "A String", # Artwork type of rich media creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+        "positionLeftUnit": "A String", # Offset left unit for an asset. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+        "collapsedSize": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size of an asset when collapsed. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID. Additionally, applicable to assets whose displayType is ASSET_DISPLAY_TYPE_EXPANDING or ASSET_DISPLAY_TYPE_PEEL_DOWN.
+          "width": 42, # Width of this size.
+          "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+          "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+          "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+          "height": 42, # Height of this size.
+        },
+        "flashVersion": 42, # Flash version of the asset. This is a read-only field. Applicable to the following creative types: FLASH_INPAGE, all RICH_MEDIA, and all VPAID. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+        "pushdown": True or False, # Whether the asset pushes down other content. Applicable to the following creative types: all RICH_MEDIA. Additionally, only applicable when the asset offsets are 0, the collapsedSize.width matches size.width, and the collapsedSize.height is less than size.height.
+        "hideFlashObjects": True or False, # Whether to hide Flash objects flag for an asset. Applicable to the following creative types: all RICH_MEDIA.
+        "detectedFeatures": [ # List of feature dependencies for the creative asset that are detected by DCM. Feature dependencies are features that a browser must be able to support in order to render your HTML5 creative correctly. This is a read-only, auto-generated field. Applicable to the following creative types: HTML5_BANNER. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+          "A String",
+        ],
+        "duration": 42, # Duration in seconds for which an asset will be displayed. Applicable to the following creative types: INSTREAM_VIDEO and VPAID_LINEAR_VIDEO.
+        "positionTopUnit": "A String", # Offset top unit for an asset. This is a read-only field if the asset displayType is ASSET_DISPLAY_TYPE_OVERLAY. Applicable to the following creative types: all RICH_MEDIA.
+        "id": "A String", # Numeric ID of this creative asset. This is a required field and should not be modified. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.
+        "alignment": "A String", # Possible alignments for an asset. This is a read-only field. Applicable to the following creative types: RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL.
+        "size": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size associated with this creative asset. This is a required field when applicable; however for IMAGE and FLASH_INPAGE, creatives if left blank, this field will be automatically set using the actual size of the associated image asset. Applicable to the following creative types: DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER, IMAGE, and all RICH_MEDIA. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+          "width": 42, # Width of this size.
+          "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+          "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+          "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+          "height": 42, # Height of this size.
+        },
+        "horizontallyLocked": True or False, # Whether the asset is horizontally locked. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+        "startTimeType": "A String", # Initial wait time type before making the asset visible. Applicable to the following creative types: all RICH_MEDIA.
+        "displayType": "A String", # Type of rich media asset. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+        "expandedDimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Detected expanded dimension for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+          "width": 42, # Width of this size.
+          "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+          "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+          "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+          "height": 42, # Height of this size.
+        },
+        "verticallyLocked": True or False, # Whether the asset is vertically locked. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+        "role": "A String", # Role of the asset in relation to creative. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT. This is a required field.
+            # PRIMARY applies to DISPLAY, FLASH_INPAGE, HTML5_BANNER, IMAGE, DISPLAY_IMAGE_GALLERY, all RICH_MEDIA (which may contain multiple primary assets), and all VPAID creatives.
+            # BACKUP_IMAGE applies to FLASH_INPAGE, HTML5_BANNER, all RICH_MEDIA, and all VPAID creatives. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+            # ADDITIONAL_IMAGE and ADDITIONAL_FLASH apply to FLASH_INPAGE creatives.
+            # OTHER refers to assets from sources other than DCM, such as Studio uploaded assets, applicable to all RICH_MEDIA and all VPAID creatives.
+            # PARENT_VIDEO refers to videos uploaded by the user in DCM and is applicable to INSTREAM_VIDEO and VPAID_LINEAR_VIDEO creatives.
+            # TRANSCODED_VIDEO refers to videos transcoded by DCM from PARENT_VIDEO assets and is applicable to INSTREAM_VIDEO and VPAID_LINEAR_VIDEO creatives.
+            # ALTERNATE_VIDEO refers to the DCM representation of child asset videos from Studio, and is applicable to VPAID_LINEAR_VIDEO creatives. These cannot be added or removed within DCM.
+            # For VPAID_LINEAR_VIDEO creatives, PARENT_VIDEO, TRANSCODED_VIDEO and ALTERNATE_VIDEO assets that are marked active serve as backup in case the VPAID creative cannot be served. Only PARENT_VIDEO assets can be added or removed for an INSTREAM_VIDEO or VPAID_LINEAR_VIDEO creative.
+        "zipFilesize": "A String", # Size of zip file. This is a read-only field. Applicable to the following creative types: HTML5_BANNER.
+        "bitRate": 42, # Detected bit-rate for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+        "windowMode": "A String", # Window mode options for flash assets. Applicable to the following creative types: FLASH_INPAGE, RICH_MEDIA_DISPLAY_EXPANDING, RICH_MEDIA_IM_EXPAND, RICH_MEDIA_DISPLAY_BANNER, and RICH_MEDIA_INPAGE_FLOATING.
+        "progressiveServingUrl": "A String", # Progressive URL for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+        "durationType": "A String", # Duration type for which an asset will be displayed. Applicable to the following creative types: all RICH_MEDIA.
+        "videoDuration": 3.14, # Detected video duration for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+        "fileSize": "A String", # File size associated with this creative asset. This is a read-only field. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.
+        "zipFilename": "A String", # File name of zip file. This is a read-only field. Applicable to the following creative types: HTML5_BANNER.
+        "offset": { # Offset Position. # Offset position for an asset in collapsed mode. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID. Additionally, only applicable to assets whose displayType is ASSET_DISPLAY_TYPE_EXPANDING or ASSET_DISPLAY_TYPE_PEEL_DOWN.
+          "top": 42, # Offset distance from top side of an asset or a window.
+          "left": 42, # Offset distance from left side of an asset or a window.
+        },
+        "active": True or False, # Whether the video asset is active. This is a read-only field for VPAID_NON_LINEAR_VIDEO assets. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+        "originalBackup": True or False, # Whether the backup asset is original or changed by the user in DCM. Applicable to the following creative types: all RICH_MEDIA.
+        "hideSelectionBoxes": True or False, # Whether to hide selection boxes flag for an asset. Applicable to the following creative types: all RICH_MEDIA.
+        "streamingServingUrl": "A String", # Streaming URL for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+        "zIndex": 42, # zIndex value of an asset. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.Additionally, only applicable to assets whose displayType is NOT one of the following types: ASSET_DISPLAY_TYPE_INPAGE or ASSET_DISPLAY_TYPE_OVERLAY.
+        "childAssetType": "A String", # Rich media child asset type. This is a read-only field. Applicable to the following creative types: all VPAID.
+        "backupImageExit": { # Creative Custom Event. # Exit event configured for the backup image. Applicable to the following creative types: all RICH_MEDIA.
+          "targetType": "A String", # Target type used by the event.
+          "artworkType": "A String", # Artwork type used by the creative.This is a read-only field.
+          "videoReportingId": "A String", # Video reporting ID, used to differentiate multiple videos in a single creative. This is a read-only field.
+          "popupWindowProperties": { # Popup Window Properties. # Properties for rich media popup windows. This field is used only for exit events.
+            "showStatusBar": True or False, # Whether to display the browser status bar.
+            "showScrollBar": True or False, # Whether to display the browser scroll bar.
+            "showAddressBar": True or False, # Whether to display the browser address bar.
+            "showMenuBar": True or False, # Whether to display the browser menu bar.
+            "title": "A String", # Title of popup window.
+            "showToolBar": True or False, # Whether to display the browser tool bar.
+            "positionType": "A String", # Popup window position either centered or at specific coordinate.
+            "offset": { # Offset Position. # Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.
+              "top": 42, # Offset distance from top side of an asset or a window.
+              "left": 42, # Offset distance from left side of an asset or a window.
+            },
+            "dimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID
+              "width": 42, # Width of this size.
+              "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+              "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+              "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+              "height": 42, # Height of this size.
+            },
+          },
+          "advertiserCustomEventId": "A String", # Unique ID of this event used by DDM Reporting and Data Transfer. This is a read-only field.
+          "artworkLabel": "A String", # Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion.
+          "advertiserCustomEventType": "A String", # Type of the event. This is a read-only field.
+          "exitUrl": "A String", # Exit URL of the event. This field is used only for exit events.
+          "id": "A String", # ID of this event. This is a required field and should not be modified after insertion.
+          "advertiserCustomEventName": "A String", # User-entered name for the event.
+        },
+        "actionScript3": True or False, # Whether ActionScript3 is enabled for the flash asset. This is a read-only field. Applicable to the following creative type: FLASH_INPAGE. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+        "pushdownDuration": 3.14, # Pushdown duration in seconds for an asset. Must be between 0 and 9.99. Applicable to the following creative types: all RICH_MEDIA.Additionally, only applicable when the asset pushdown field is true, the offsets are 0, the collapsedSize.width matches size.width, and the collapsedSize.height is less than size.height.
+        "assetIdentifier": { # Creative Asset ID. # Identifier of this asset. This is the same identifier returned during creative asset insert operation. This is a required field. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.
+          "type": "A String", # Type of asset to upload. This is a required field. IMAGE is solely used for IMAGE creatives. Other image assets should use HTML_IMAGE.
+          "name": "A String", # Name of the creative asset. This is a required field while inserting an asset. After insertion, this assetIdentifier is used to identify the uploaded asset. Characters in the name must be alphanumeric or one of the following: ".-_ ". Spaces are allowed.
+        },
+        "transparency": True or False, # Whether the asset is transparent. Applicable to the following creative types: all RICH_MEDIA. Additionally, only applicable to HTML5 assets.
+        "sslCompliant": True or False, # Whether the asset is SSL-compliant. This is a read-only field. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.
+        "position": { # Offset Position. # Offset position for an asset. Applicable to the following creative types: all RICH_MEDIA.
+          "top": 42, # Offset distance from top side of an asset or a window.
+          "left": 42, # Offset distance from left side of an asset or a window.
+        },
+        "customStartTimeValue": 42, # Custom start time in seconds for making the asset visible. Applicable to the following creative types: all RICH_MEDIA.
+      },
+    ],
+    "redirectUrl": "A String", # URL of hosted image or hosted video or another ad tag. For INSTREAM_VIDEO_REDIRECT creatives this is the in-stream video redirect URL. The standard for a VAST (Video Ad Serving Template) ad response allows for a redirect link to another VAST 2.0 or 3.0 call. This is a required field when applicable. Applicable to the following creative types: DISPLAY_REDIRECT, INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and INSTREAM_VIDEO_REDIRECT
+    "videoDuration": 3.14, # Creative video duration in seconds. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO, all RICH_MEDIA, and all VPAID.
+    "htmlCodeLocked": True or False, # Whether HTML code is DCM-generated or manually entered. Set to true to ignore changes to htmlCode. Applicable to the following creative types: FLASH_INPAGE and HTML5_BANNER.
+    "convertFlashToHtml5": True or False, # Whether Flash assets associated with the creative need to be automatically converted to HTML5. This flag is enabled by default and users can choose to disable it if they don't want the system to generate and use HTML5 asset for this creative. Applicable to the following creative type: FLASH_INPAGE. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+    "clickTags": [ # Click tags of the creative. For DISPLAY, FLASH_INPAGE, and HTML5_BANNER creatives, this is a subset of detected click tags for the assets associated with this creative. After creating a flash asset, detected click tags will be returned in the creativeAssetMetadata. When inserting the creative, populate the creative clickTags field using the creativeAssetMetadata.clickTags field. For DISPLAY_IMAGE_GALLERY creatives, there should be exactly one entry in this list for each image creative asset. A click tag is matched with a corresponding creative asset by matching the clickTag.name field with the creativeAsset.assetIdentifier.name field. Applicable to the following creative types: DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+      { # Creative Click Tag.
+        "eventName": "A String", # Advertiser event name associated with the click tag. This field is used by ENHANCED_BANNER, ENHANCED_IMAGE, and HTML5_BANNER creatives.
+        "name": "A String", # Parameter name for the specified click tag. For ENHANCED_IMAGE creative assets, this field must match the value of the creative asset's creativeAssetId.name field.
+        "value": "A String", # Parameter value for the specified click tag. This field contains a click-through url.
+      },
+    ],
+    "commercialId": "A String", # Industry standard ID assigned to creative for reach and frequency. Applicable to the following creative types: all INSTREAM_VIDEO and all VPAID.
+    "active": True or False, # Whether the creative is active. Applicable to all creative types.
+    "compatibility": [ # Compatibilities associated with this creative. This is a read-only field. DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on desktop or on mobile devices or in mobile apps for regular or interstitial ads, respectively. APP and APP_INTERSTITIAL  are for rendering in mobile apps. Only pre-existing creatives may have these compatibilities since new creatives will either be assigned DISPLAY or DISPLAY_INTERSTITIAL instead. IN_STREAM_VIDEO refers to rendering in in-stream video ads developed with the VAST standard. Applicable to all creative types.
+        # 
+        # Acceptable values are:
+        # - "APP"
+        # - "APP_INTERSTITIAL"
+        # - "IN_STREAM_VIDEO"
+        # - "DISPLAY"
+        # - "DISPLAY_INTERSTITIAL"
+      "A String",
+    ],
+    "adParameters": "A String", # Ad parameters user for VPAID creative. This is a read-only field. Applicable to the following creative types: all VPAID.
+    "adTagKeys": [ # Keywords for a Rich Media creative. Keywords let you customize the creative settings of a Rich Media ad running on your site without having to contact the advertiser. You can use keywords to dynamically change the look or functionality of a creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "A String",
+    ],
+    "kind": "dfareporting#creative", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creative".
+    "subaccountId": "A String", # Subaccount ID of this creative. This field, if left unset, will be auto-generated for both insert and update operations. Applicable to all creative types.
+    "name": "A String", # Name of the creative. This is a required field and must be less than 256 characters long. Applicable to all creative types.
+    "sslOverride": True or False, # Whether creative should be treated as SSL compliant even if the system scan shows it's not. Applicable to all creative types.
+    "lastModifiedInfo": { # Modification timestamp. # Creative last modification information. This is a read-only field. Applicable to all creative types.
+      "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+    },
+    "backupImageClickThroughUrl": "A String", # Click-through URL for backup image. Applicable to the following creative types: FLASH_INPAGE and HTML5_BANNER. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+    "sslCompliant": True or False, # Whether the creative is SSL-compliant. This is a read-only field. Applicable to all creative types.
+    "studioCreativeId": "A String", # Studio creative ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+    "authoringTool": "A String", # Authoring tool for HTML5 banner creatives. This is a read-only field. Applicable to the following creative types: HTML5_BANNER.
+    "allowScriptAccess": True or False, # Whether script access is allowed for this creative. This is a read-only and deprecated field which will automatically be set to true on update. Applicable to the following creative types: FLASH_INPAGE.
+    "companionCreatives": [ # List of companion creatives assigned to an in-Stream videocreative. Acceptable values include IDs of existing flash and image creatives. Applicable to the following creative types: all INSTREAM_VIDEO and all VPAID.
+      "A String",
+    ],
+    "auto_advance_images": True or False, # Whether images are automatically advanced for enhanced image creatives. Applicable to the following creative types: DISPLAY_IMAGE_GALLERY.
+    "backupImageFeatures": [ # List of feature dependencies that will cause a backup image to be served if the browser that serves the ad does not support them. Feature dependencies are features that a browser must be able to support in order to render your HTML5 creative asset correctly. This field is initially auto-generated to contain all features detected by DCM for all the assets of this creative and can then be modified by the client. To reset this field, copy over all the creativeAssets' detected features. Applicable to the following creative types: HTML5_BANNER. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+      "A String",
+    ],
+    "backupImageTargetWindow": { # Target Window. # Target window for backup image. Applicable to the following creative types: FLASH_INPAGE and HTML5_BANNER. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+      "customHtml": "A String", # User-entered value.
+      "targetWindowOption": "A String", # Type of browser window for which the backup image of the flash creative can be displayed.
+    },
+    "skippable": True or False, # Whether the user can choose to skip the creative. Applicable to the following creative types: all INSTREAM_VIDEO and all VPAID.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a Creative.
+      "thirdPartyUrls": [ # Third-party URLs for tracking in-stream video creative events. Applicable to the following creative types: all INSTREAM_VIDEO and all VPAID.
+        { # Third-party Tracking URL.
+          "url": "A String", # URL for the specified third-party URL type.
+          "thirdPartyUrlType": "A String", # Third-party URL type for in-stream video creatives.
+        },
+      ],
+      "artworkType": "A String", # Type of artwork used for the creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "latestTraffickedCreativeId": "A String", # Latest Studio trafficked creative ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "videoDescription": "A String", # Description of the video ad. Applicable to the following creative types: all INSTREAM_VIDEO and all VPAID.
+      "advertiserId": "A String", # Advertiser ID of this creative. This is a required field. Applicable to all creative types.
+      "requiredFlashPluginVersion": "A String", # The minimum required Flash plugin version for this creative. For example, 11.2.202.235. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "thirdPartyBackupImageImpressionsUrl": "A String", # Third-party URL used to record backup image impressions. Applicable to the following creative types: all RICH_MEDIA.
+      "timerCustomEvents": [ # List of timer events configured for the creative. For DISPLAY_IMAGE_GALLERY creatives, these are read-only and auto-generated from clickTags. Applicable to the following creative types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID. Applicable to DISPLAY when the primary asset is not HTML_IMAGE.
+        { # Creative Custom Event.
+          "targetType": "A String", # Target type used by the event.
+          "artworkType": "A String", # Artwork type used by the creative.This is a read-only field.
+          "videoReportingId": "A String", # Video reporting ID, used to differentiate multiple videos in a single creative. This is a read-only field.
+          "popupWindowProperties": { # Popup Window Properties. # Properties for rich media popup windows. This field is used only for exit events.
+            "showStatusBar": True or False, # Whether to display the browser status bar.
+            "showScrollBar": True or False, # Whether to display the browser scroll bar.
+            "showAddressBar": True or False, # Whether to display the browser address bar.
+            "showMenuBar": True or False, # Whether to display the browser menu bar.
+            "title": "A String", # Title of popup window.
+            "showToolBar": True or False, # Whether to display the browser tool bar.
+            "positionType": "A String", # Popup window position either centered or at specific coordinate.
+            "offset": { # Offset Position. # Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.
+              "top": 42, # Offset distance from top side of an asset or a window.
+              "left": 42, # Offset distance from left side of an asset or a window.
+            },
+            "dimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID
+              "width": 42, # Width of this size.
+              "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+              "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+              "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+              "height": 42, # Height of this size.
+            },
+          },
+          "advertiserCustomEventId": "A String", # Unique ID of this event used by DDM Reporting and Data Transfer. This is a read-only field.
+          "artworkLabel": "A String", # Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion.
+          "advertiserCustomEventType": "A String", # Type of the event. This is a read-only field.
+          "exitUrl": "A String", # Exit URL of the event. This field is used only for exit events.
+          "id": "A String", # ID of this event. This is a required field and should not be modified after insertion.
+          "advertiserCustomEventName": "A String", # User-entered name for the event.
+        },
+      ],
+      "renderingIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the rendering ID of this creative. This is a read-only field. Applicable to all creative types.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "fsCommand": { # FsCommand. # OpenWindow FSCommand of this creative. This lets the SWF file communicate with either Flash Player or the program hosting Flash Player, such as a web browser. This is only triggered if allowScriptAccess field is true. Applicable to the following creative types: FLASH_INPAGE.
+        "windowHeight": 42, # Height of the window.
+        "top": 42, # Distance from the top of the browser. Applicable when positionOption is DISTANCE_FROM_TOP_LEFT_CORNER.
+        "windowWidth": 42, # Width of the window.
+        "positionOption": "A String", # Position in the browser where the window will open.
+        "left": 42, # Distance from the left of the browser.Applicable when positionOption is DISTANCE_FROM_TOP_LEFT_CORNER.
+      },
+      "id": "A String", # ID of this creative. This is a read-only, auto-generated field. Applicable to all creative types.
+      "accountId": "A String", # Account ID of this creative. This field, if left unset, will be auto-generated for both insert and update operations. Applicable to all creative types.
+      "studioTraffickedCreativeId": "A String", # Studio trafficked creative ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "archived": True or False, # Whether the creative is archived. Applicable to all creative types.
+      "overrideCss": "A String", # Override CSS value for rich media creatives. Applicable to the following creative types: all RICH_MEDIA.
+      "authoringSource": "A String", # Source application where creative was authored. Presently, only DBM authored creatives will have this field set. Applicable to all creative types.
+      "requiredFlashVersion": 42, # The internal Flash version for this creative as calculated by DoubleClick Studio. This is a read-only field. Applicable to the following creative types: FLASH_INPAGE all RICH_MEDIA, and all VPAID. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+      "exitCustomEvents": [ # List of exit events configured for the creative. For DISPLAY and DISPLAY_IMAGE_GALLERY creatives, these are read-only and auto-generated from clickTags, For DISPLAY, an event is also created from the backupImageReportingLabel. Applicable to the following creative types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+        { # Creative Custom Event.
+          "targetType": "A String", # Target type used by the event.
+          "artworkType": "A String", # Artwork type used by the creative.This is a read-only field.
+          "videoReportingId": "A String", # Video reporting ID, used to differentiate multiple videos in a single creative. This is a read-only field.
+          "popupWindowProperties": { # Popup Window Properties. # Properties for rich media popup windows. This field is used only for exit events.
+            "showStatusBar": True or False, # Whether to display the browser status bar.
+            "showScrollBar": True or False, # Whether to display the browser scroll bar.
+            "showAddressBar": True or False, # Whether to display the browser address bar.
+            "showMenuBar": True or False, # Whether to display the browser menu bar.
+            "title": "A String", # Title of popup window.
+            "showToolBar": True or False, # Whether to display the browser tool bar.
+            "positionType": "A String", # Popup window position either centered or at specific coordinate.
+            "offset": { # Offset Position. # Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.
+              "top": 42, # Offset distance from top side of an asset or a window.
+              "left": 42, # Offset distance from left side of an asset or a window.
+            },
+            "dimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID
+              "width": 42, # Width of this size.
+              "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+              "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+              "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+              "height": 42, # Height of this size.
+            },
+          },
+          "advertiserCustomEventId": "A String", # Unique ID of this event used by DDM Reporting and Data Transfer. This is a read-only field.
+          "artworkLabel": "A String", # Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion.
+          "advertiserCustomEventType": "A String", # Type of the event. This is a read-only field.
+          "exitUrl": "A String", # Exit URL of the event. This field is used only for exit events.
+          "id": "A String", # ID of this event. This is a required field and should not be modified after insertion.
+          "advertiserCustomEventName": "A String", # User-entered name for the event.
+        },
+      ],
+      "renderingId": "A String", # ID of current rendering version. This is a read-only field. Applicable to all creative types.
+      "counterCustomEvents": [ # List of counter events configured for the creative. For DISPLAY_IMAGE_GALLERY creatives, these are read-only and auto-generated from clickTags. Applicable to the following creative types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID.
+        { # Creative Custom Event.
+          "targetType": "A String", # Target type used by the event.
+          "artworkType": "A String", # Artwork type used by the creative.This is a read-only field.
+          "videoReportingId": "A String", # Video reporting ID, used to differentiate multiple videos in a single creative. This is a read-only field.
+          "popupWindowProperties": { # Popup Window Properties. # Properties for rich media popup windows. This field is used only for exit events.
+            "showStatusBar": True or False, # Whether to display the browser status bar.
+            "showScrollBar": True or False, # Whether to display the browser scroll bar.
+            "showAddressBar": True or False, # Whether to display the browser address bar.
+            "showMenuBar": True or False, # Whether to display the browser menu bar.
+            "title": "A String", # Title of popup window.
+            "showToolBar": True or False, # Whether to display the browser tool bar.
+            "positionType": "A String", # Popup window position either centered or at specific coordinate.
+            "offset": { # Offset Position. # Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.
+              "top": 42, # Offset distance from top side of an asset or a window.
+              "left": 42, # Offset distance from left side of an asset or a window.
+            },
+            "dimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID
+              "width": 42, # Width of this size.
+              "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+              "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+              "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+              "height": 42, # Height of this size.
+            },
+          },
+          "advertiserCustomEventId": "A String", # Unique ID of this event used by DDM Reporting and Data Transfer. This is a read-only field.
+          "artworkLabel": "A String", # Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion.
+          "advertiserCustomEventType": "A String", # Type of the event. This is a read-only field.
+          "exitUrl": "A String", # Exit URL of the event. This field is used only for exit events.
+          "id": "A String", # ID of this event. This is a required field and should not be modified after insertion.
+          "advertiserCustomEventName": "A String", # User-entered name for the event.
+        },
+      ],
+      "backupImageReportingLabel": "A String", # Reporting label used for HTML5 banner backup image. Applicable to the following creative types: DISPLAY when the primary asset type is not HTML_IMAGE.
+      "version": 42, # The version number helps you keep track of multiple versions of your creative in your reports. The version number will always be auto-generated during insert operations to start at 1. For tracking creatives the version cannot be incremented and will always remain at 1. For all other creative types the version can be incremented only by 1 during update operations. In addition, the version will be automatically incremented by 1 when undergoing Rich Media creative merging. Applicable to all creative types.
+      "creativeFieldAssignments": [ # Creative field assignments for this creative. Applicable to all creative types.
+        { # Creative Field Assignment.
+          "creativeFieldId": "A String", # ID of the creative field.
+          "creativeFieldValueId": "A String", # ID of the creative field value.
+        },
+      ],
+      "backgroundColor": "A String", # The 6-character HTML color code, beginning with #, for the background of the window area where the Flash file is displayed. Default is white. Applicable to the following creative types: FLASH_INPAGE.
+      "customKeyValues": [ # Custom key-values for a Rich Media creative. Key-values let you customize the creative settings of a Rich Media ad running on your site without having to contact the advertiser. You can use key-values to dynamically change the look or functionality of a creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+        "A String",
+      ],
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this creative. This is a read-only field. Applicable to all creative types.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "htmlCode": "A String", # HTML code for the creative. This is a required field when applicable. This field is ignored if htmlCodeLocked is false. Applicable to the following creative types: all CUSTOM, FLASH_INPAGE, and HTML5_BANNER, and all RICH_MEDIA.
+      "size": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size associated with this creative. When inserting or updating a creative either the size ID field or size width and height fields can be used. This is a required field when applicable; however for IMAGE, FLASH_INPAGE creatives, and for DISPLAY creatives with a primary asset of type HTML_IMAGE, if left blank, this field will be automatically set using the actual size of the associated image assets. Applicable to the following creative types: DISPLAY, DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER, IMAGE, and all RICH_MEDIA.
+        "width": 42, # Width of this size.
+        "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+        "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+        "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+        "height": 42, # Height of this size.
+      },
+      "type": "A String", # Type of this creative.This is a required field. Applicable to all creative types.
+      "totalFileSize": "A String", # Combined size of all creative assets. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "thirdPartyRichMediaImpressionsUrl": "A String", # Third-party URL used to record rich media impressions. Applicable to the following creative types: all RICH_MEDIA.
+      "studioAdvertiserId": "A String", # Studio advertiser ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "creativeAssets": [ # Assets associated with a creative. Applicable to all but the following creative types: INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and REDIRECT
+        { # Creative Asset.
+          "mimeType": "A String", # Detected MIME type for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+          "artworkType": "A String", # Artwork type of rich media creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+          "positionLeftUnit": "A String", # Offset left unit for an asset. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+          "collapsedSize": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size of an asset when collapsed. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID. Additionally, applicable to assets whose displayType is ASSET_DISPLAY_TYPE_EXPANDING or ASSET_DISPLAY_TYPE_PEEL_DOWN.
+            "width": 42, # Width of this size.
+            "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+            "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+            "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+            "height": 42, # Height of this size.
+          },
+          "flashVersion": 42, # Flash version of the asset. This is a read-only field. Applicable to the following creative types: FLASH_INPAGE, all RICH_MEDIA, and all VPAID. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+          "pushdown": True or False, # Whether the asset pushes down other content. Applicable to the following creative types: all RICH_MEDIA. Additionally, only applicable when the asset offsets are 0, the collapsedSize.width matches size.width, and the collapsedSize.height is less than size.height.
+          "hideFlashObjects": True or False, # Whether to hide Flash objects flag for an asset. Applicable to the following creative types: all RICH_MEDIA.
+          "detectedFeatures": [ # List of feature dependencies for the creative asset that are detected by DCM. Feature dependencies are features that a browser must be able to support in order to render your HTML5 creative correctly. This is a read-only, auto-generated field. Applicable to the following creative types: HTML5_BANNER. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+            "A String",
+          ],
+          "duration": 42, # Duration in seconds for which an asset will be displayed. Applicable to the following creative types: INSTREAM_VIDEO and VPAID_LINEAR_VIDEO.
+          "positionTopUnit": "A String", # Offset top unit for an asset. This is a read-only field if the asset displayType is ASSET_DISPLAY_TYPE_OVERLAY. Applicable to the following creative types: all RICH_MEDIA.
+          "id": "A String", # Numeric ID of this creative asset. This is a required field and should not be modified. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.
+          "alignment": "A String", # Possible alignments for an asset. This is a read-only field. Applicable to the following creative types: RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL.
+          "size": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size associated with this creative asset. This is a required field when applicable; however for IMAGE and FLASH_INPAGE, creatives if left blank, this field will be automatically set using the actual size of the associated image asset. Applicable to the following creative types: DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER, IMAGE, and all RICH_MEDIA. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+            "width": 42, # Width of this size.
+            "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+            "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+            "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+            "height": 42, # Height of this size.
+          },
+          "horizontallyLocked": True or False, # Whether the asset is horizontally locked. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+          "startTimeType": "A String", # Initial wait time type before making the asset visible. Applicable to the following creative types: all RICH_MEDIA.
+          "displayType": "A String", # Type of rich media asset. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+          "expandedDimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Detected expanded dimension for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+            "width": 42, # Width of this size.
+            "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+            "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+            "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+            "height": 42, # Height of this size.
+          },
+          "verticallyLocked": True or False, # Whether the asset is vertically locked. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.
+          "role": "A String", # Role of the asset in relation to creative. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT. This is a required field.
+              # PRIMARY applies to DISPLAY, FLASH_INPAGE, HTML5_BANNER, IMAGE, DISPLAY_IMAGE_GALLERY, all RICH_MEDIA (which may contain multiple primary assets), and all VPAID creatives.
+              # BACKUP_IMAGE applies to FLASH_INPAGE, HTML5_BANNER, all RICH_MEDIA, and all VPAID creatives. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+              # ADDITIONAL_IMAGE and ADDITIONAL_FLASH apply to FLASH_INPAGE creatives.
+              # OTHER refers to assets from sources other than DCM, such as Studio uploaded assets, applicable to all RICH_MEDIA and all VPAID creatives.
+              # PARENT_VIDEO refers to videos uploaded by the user in DCM and is applicable to INSTREAM_VIDEO and VPAID_LINEAR_VIDEO creatives.
+              # TRANSCODED_VIDEO refers to videos transcoded by DCM from PARENT_VIDEO assets and is applicable to INSTREAM_VIDEO and VPAID_LINEAR_VIDEO creatives.
+              # ALTERNATE_VIDEO refers to the DCM representation of child asset videos from Studio, and is applicable to VPAID_LINEAR_VIDEO creatives. These cannot be added or removed within DCM.
+              # For VPAID_LINEAR_VIDEO creatives, PARENT_VIDEO, TRANSCODED_VIDEO and ALTERNATE_VIDEO assets that are marked active serve as backup in case the VPAID creative cannot be served. Only PARENT_VIDEO assets can be added or removed for an INSTREAM_VIDEO or VPAID_LINEAR_VIDEO creative.
+          "zipFilesize": "A String", # Size of zip file. This is a read-only field. Applicable to the following creative types: HTML5_BANNER.
+          "bitRate": 42, # Detected bit-rate for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+          "windowMode": "A String", # Window mode options for flash assets. Applicable to the following creative types: FLASH_INPAGE, RICH_MEDIA_DISPLAY_EXPANDING, RICH_MEDIA_IM_EXPAND, RICH_MEDIA_DISPLAY_BANNER, and RICH_MEDIA_INPAGE_FLOATING.
+          "progressiveServingUrl": "A String", # Progressive URL for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+          "durationType": "A String", # Duration type for which an asset will be displayed. Applicable to the following creative types: all RICH_MEDIA.
+          "videoDuration": 3.14, # Detected video duration for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+          "fileSize": "A String", # File size associated with this creative asset. This is a read-only field. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.
+          "zipFilename": "A String", # File name of zip file. This is a read-only field. Applicable to the following creative types: HTML5_BANNER.
+          "offset": { # Offset Position. # Offset position for an asset in collapsed mode. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID. Additionally, only applicable to assets whose displayType is ASSET_DISPLAY_TYPE_EXPANDING or ASSET_DISPLAY_TYPE_PEEL_DOWN.
+            "top": 42, # Offset distance from top side of an asset or a window.
+            "left": 42, # Offset distance from left side of an asset or a window.
+          },
+          "active": True or False, # Whether the video asset is active. This is a read-only field for VPAID_NON_LINEAR_VIDEO assets. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+          "originalBackup": True or False, # Whether the backup asset is original or changed by the user in DCM. Applicable to the following creative types: all RICH_MEDIA.
+          "hideSelectionBoxes": True or False, # Whether to hide selection boxes flag for an asset. Applicable to the following creative types: all RICH_MEDIA.
+          "streamingServingUrl": "A String", # Streaming URL for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.
+          "zIndex": 42, # zIndex value of an asset. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.Additionally, only applicable to assets whose displayType is NOT one of the following types: ASSET_DISPLAY_TYPE_INPAGE or ASSET_DISPLAY_TYPE_OVERLAY.
+          "childAssetType": "A String", # Rich media child asset type. This is a read-only field. Applicable to the following creative types: all VPAID.
+          "backupImageExit": { # Creative Custom Event. # Exit event configured for the backup image. Applicable to the following creative types: all RICH_MEDIA.
+            "targetType": "A String", # Target type used by the event.
+            "artworkType": "A String", # Artwork type used by the creative.This is a read-only field.
+            "videoReportingId": "A String", # Video reporting ID, used to differentiate multiple videos in a single creative. This is a read-only field.
+            "popupWindowProperties": { # Popup Window Properties. # Properties for rich media popup windows. This field is used only for exit events.
+              "showStatusBar": True or False, # Whether to display the browser status bar.
+              "showScrollBar": True or False, # Whether to display the browser scroll bar.
+              "showAddressBar": True or False, # Whether to display the browser address bar.
+              "showMenuBar": True or False, # Whether to display the browser menu bar.
+              "title": "A String", # Title of popup window.
+              "showToolBar": True or False, # Whether to display the browser tool bar.
+              "positionType": "A String", # Popup window position either centered or at specific coordinate.
+              "offset": { # Offset Position. # Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES.
+                "top": 42, # Offset distance from top side of an asset or a window.
+                "left": 42, # Offset distance from left side of an asset or a window.
+              },
+              "dimension": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID
+                "width": 42, # Width of this size.
+                "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+                "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+                "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+                "height": 42, # Height of this size.
+              },
+            },
+            "advertiserCustomEventId": "A String", # Unique ID of this event used by DDM Reporting and Data Transfer. This is a read-only field.
+            "artworkLabel": "A String", # Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion.
+            "advertiserCustomEventType": "A String", # Type of the event. This is a read-only field.
+            "exitUrl": "A String", # Exit URL of the event. This field is used only for exit events.
+            "id": "A String", # ID of this event. This is a required field and should not be modified after insertion.
+            "advertiserCustomEventName": "A String", # User-entered name for the event.
+          },
+          "actionScript3": True or False, # Whether ActionScript3 is enabled for the flash asset. This is a read-only field. Applicable to the following creative type: FLASH_INPAGE. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+          "pushdownDuration": 3.14, # Pushdown duration in seconds for an asset. Must be between 0 and 9.99. Applicable to the following creative types: all RICH_MEDIA.Additionally, only applicable when the asset pushdown field is true, the offsets are 0, the collapsedSize.width matches size.width, and the collapsedSize.height is less than size.height.
+          "assetIdentifier": { # Creative Asset ID. # Identifier of this asset. This is the same identifier returned during creative asset insert operation. This is a required field. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.
+            "type": "A String", # Type of asset to upload. This is a required field. IMAGE is solely used for IMAGE creatives. Other image assets should use HTML_IMAGE.
+            "name": "A String", # Name of the creative asset. This is a required field while inserting an asset. After insertion, this assetIdentifier is used to identify the uploaded asset. Characters in the name must be alphanumeric or one of the following: ".-_ ". Spaces are allowed.
+          },
+          "transparency": True or False, # Whether the asset is transparent. Applicable to the following creative types: all RICH_MEDIA. Additionally, only applicable to HTML5 assets.
+          "sslCompliant": True or False, # Whether the asset is SSL-compliant. This is a read-only field. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.
+          "position": { # Offset Position. # Offset position for an asset. Applicable to the following creative types: all RICH_MEDIA.
+            "top": 42, # Offset distance from top side of an asset or a window.
+            "left": 42, # Offset distance from left side of an asset or a window.
+          },
+          "customStartTimeValue": 42, # Custom start time in seconds for making the asset visible. Applicable to the following creative types: all RICH_MEDIA.
+        },
+      ],
+      "redirectUrl": "A String", # URL of hosted image or hosted video or another ad tag. For INSTREAM_VIDEO_REDIRECT creatives this is the in-stream video redirect URL. The standard for a VAST (Video Ad Serving Template) ad response allows for a redirect link to another VAST 2.0 or 3.0 call. This is a required field when applicable. Applicable to the following creative types: DISPLAY_REDIRECT, INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and INSTREAM_VIDEO_REDIRECT
+      "videoDuration": 3.14, # Creative video duration in seconds. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO, all RICH_MEDIA, and all VPAID.
+      "htmlCodeLocked": True or False, # Whether HTML code is DCM-generated or manually entered. Set to true to ignore changes to htmlCode. Applicable to the following creative types: FLASH_INPAGE and HTML5_BANNER.
+      "convertFlashToHtml5": True or False, # Whether Flash assets associated with the creative need to be automatically converted to HTML5. This flag is enabled by default and users can choose to disable it if they don't want the system to generate and use HTML5 asset for this creative. Applicable to the following creative type: FLASH_INPAGE. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+      "clickTags": [ # Click tags of the creative. For DISPLAY, FLASH_INPAGE, and HTML5_BANNER creatives, this is a subset of detected click tags for the assets associated with this creative. After creating a flash asset, detected click tags will be returned in the creativeAssetMetadata. When inserting the creative, populate the creative clickTags field using the creativeAssetMetadata.clickTags field. For DISPLAY_IMAGE_GALLERY creatives, there should be exactly one entry in this list for each image creative asset. A click tag is matched with a corresponding creative asset by matching the clickTag.name field with the creativeAsset.assetIdentifier.name field. Applicable to the following creative types: DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+        { # Creative Click Tag.
+          "eventName": "A String", # Advertiser event name associated with the click tag. This field is used by ENHANCED_BANNER, ENHANCED_IMAGE, and HTML5_BANNER creatives.
+          "name": "A String", # Parameter name for the specified click tag. For ENHANCED_IMAGE creative assets, this field must match the value of the creative asset's creativeAssetId.name field.
+          "value": "A String", # Parameter value for the specified click tag. This field contains a click-through url.
+        },
+      ],
+      "commercialId": "A String", # Industry standard ID assigned to creative for reach and frequency. Applicable to the following creative types: all INSTREAM_VIDEO and all VPAID.
+      "active": True or False, # Whether the creative is active. Applicable to all creative types.
+      "compatibility": [ # Compatibilities associated with this creative. This is a read-only field. DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on desktop or on mobile devices or in mobile apps for regular or interstitial ads, respectively. APP and APP_INTERSTITIAL  are for rendering in mobile apps. Only pre-existing creatives may have these compatibilities since new creatives will either be assigned DISPLAY or DISPLAY_INTERSTITIAL instead. IN_STREAM_VIDEO refers to rendering in in-stream video ads developed with the VAST standard. Applicable to all creative types.
+          #
+          # Acceptable values are:
+          # - "APP"
+          # - "APP_INTERSTITIAL"
+          # - "IN_STREAM_VIDEO"
+          # - "DISPLAY"
+          # - "DISPLAY_INTERSTITIAL"
+        "A String",
+      ],
+      "adParameters": "A String", # Ad parameters user for VPAID creative. This is a read-only field. Applicable to the following creative types: all VPAID.
+      "adTagKeys": [ # Keywords for a Rich Media creative. Keywords let you customize the creative settings of a Rich Media ad running on your site without having to contact the advertiser. You can use keywords to dynamically change the look or functionality of a creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+        "A String",
+      ],
+      "kind": "dfareporting#creative", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#creative".
+      "subaccountId": "A String", # Subaccount ID of this creative. This field, if left unset, will be auto-generated for both insert and update operations. Applicable to all creative types.
+      "name": "A String", # Name of the creative. This is a required field and must be less than 256 characters long. Applicable to all creative types.
+      "sslOverride": True or False, # Whether creative should be treated as SSL compliant even if the system scan shows it's not. Applicable to all creative types.
+      "lastModifiedInfo": { # Modification timestamp. # Creative last modification information. This is a read-only field. Applicable to all creative types.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "backupImageClickThroughUrl": "A String", # Click-through URL for backup image. Applicable to the following creative types: FLASH_INPAGE and HTML5_BANNER. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+      "sslCompliant": True or False, # Whether the creative is SSL-compliant. This is a read-only field. Applicable to all creative types.
+      "studioCreativeId": "A String", # Studio creative ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.
+      "authoringTool": "A String", # Authoring tool for HTML5 banner creatives. This is a read-only field. Applicable to the following creative types: HTML5_BANNER.
+      "allowScriptAccess": True or False, # Whether script access is allowed for this creative. This is a read-only and deprecated field which will automatically be set to true on update. Applicable to the following creative types: FLASH_INPAGE.
+      "companionCreatives": [ # List of companion creatives assigned to an in-Stream videocreative. Acceptable values include IDs of existing flash and image creatives. Applicable to the following creative types: all INSTREAM_VIDEO and all VPAID.
+        "A String",
+      ],
+      "auto_advance_images": True or False, # Whether images are automatically advanced for enhanced image creatives. Applicable to the following creative types: DISPLAY_IMAGE_GALLERY.
+      "backupImageFeatures": [ # List of feature dependencies that will cause a backup image to be served if the browser that serves the ad does not support them. Feature dependencies are features that a browser must be able to support in order to render your HTML5 creative asset correctly. This field is initially auto-generated to contain all features detected by DCM for all the assets of this creative and can then be modified by the client. To reset this field, copy over all the creativeAssets' detected features. Applicable to the following creative types: HTML5_BANNER. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+        "A String",
+      ],
+      "backupImageTargetWindow": { # Target Window. # Target window for backup image. Applicable to the following creative types: FLASH_INPAGE and HTML5_BANNER. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
+        "customHtml": "A String", # User-entered value.
+        "targetWindowOption": "A String", # Type of browser window for which the backup image of the flash creative can be displayed.
+      },
+      "skippable": True or False, # Whether the user can choose to skip the creative. Applicable to the following creative types: all INSTREAM_VIDEO and all VPAID.
+    }
+
+ + \ No newline at end of file diff --git a/docs/dyn/dfareporting_v2_5.dimensionValues.html b/docs/dyn/dfareporting_v2_5.dimensionValues.html new file mode 100644 index 00000000000..a140852cf70 --- /dev/null +++ b/docs/dyn/dfareporting_v2_5.dimensionValues.html @@ -0,0 +1,144 @@ + + + +

DCM/DFA Reporting And Trafficking API . dimensionValues

+

Instance Methods

+

+ query(profileId, body, pageToken=None, maxResults=None)

+

Retrieves list of report dimension values for a list of filters.

+

+ query_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

Method Details

+
+ query(profileId, body, pageToken=None, maxResults=None) +
Retrieves list of report dimension values for a list of filters.
+
+Args:
+  profileId: string, The DFA user profile ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Represents a DimensionValuesRequest.
+    "dimensionName": "A String", # The name of the dimension for which values should be requested.
+    "startDate": "A String", # The start date of the date range for which to retrieve dimension values. A string of the format "yyyy-MM-dd".
+    "kind": "dfareporting#dimensionValueRequest", # The kind of request this is, in this case dfareporting#dimensionValueRequest.
+    "endDate": "A String", # The end date of the date range for which to retrieve dimension values. A string of the format "yyyy-MM-dd".
+    "filters": [ # The list of filters by which to filter values. The filters are ANDed.
+      { # Represents a dimension filter.
+        "dimensionName": "A String", # The name of the dimension to filter.
+        "kind": "dfareporting#dimensionFilter", # The kind of resource this is, in this case dfareporting#dimensionFilter.
+        "value": "A String", # The value of the dimension to filter.
+      },
+    ],
+  }
+
+  pageToken: string, The value of the nextToken from the previous result page.
+  maxResults: integer, Maximum number of results to return.
+
+Returns:
+  An object of the form:
+
+    { # Represents the list of DimensionValue resources.
+    "nextPageToken": "A String", # Continuation token used to page through dimension values. To retrieve the next page of results, set the next request's "pageToken" to the value of this field. The page token is only valid for a limited amount of time and should not be persisted.
+    "items": [ # The dimension values returned in this response.
+      { # Represents a DimensionValue resource.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+    ],
+    "kind": "dfareporting#dimensionValueList", # The kind of list this is, in this case dfareporting#dimensionValueList.
+    "etag": "A String", # The eTag of this response for caching purposes.
+  }
+
+ +
+ query_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    
+
+ + \ No newline at end of file diff --git a/docs/dyn/dfareporting_v2_5.directorySiteContacts.html b/docs/dyn/dfareporting_v2_5.directorySiteContacts.html new file mode 100644 index 00000000000..bea47277620 --- /dev/null +++ b/docs/dyn/dfareporting_v2_5.directorySiteContacts.html @@ -0,0 +1,169 @@ + + + +

DCM/DFA Reporting And Trafficking API . directorySiteContacts

+

Instance Methods

+

+ get(profileId, id)

+

Gets one directory site contact by ID.

+

+ list(profileId, searchString=None, directorySiteIds=None, pageToken=None, sortField=None, ids=None, maxResults=None, sortOrder=None)

+

Retrieves a list of directory site contacts, possibly filtered.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

Method Details

+
+ get(profileId, id) +
Gets one directory site contact by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Directory site contact ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a Site Directory contact.
+    "kind": "dfareporting#directorySiteContact", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#directorySiteContact".
+    "firstName": "A String", # First name of this directory site contact.
+    "title": "A String", # Title or designation of this directory site contact.
+    "lastName": "A String", # Last name of this directory site contact.
+    "email": "A String", # Email address of this directory site contact.
+    "phone": "A String", # Phone number of this directory site contact.
+    "role": "A String", # Directory site contact role.
+    "address": "A String", # Address of this directory site contact.
+    "type": "A String", # Directory site contact type.
+    "id": "A String", # ID of this directory site contact. This is a read-only, auto-generated field.
+  }
+
+ +
+ list(profileId, searchString=None, directorySiteIds=None, pageToken=None, sortField=None, ids=None, maxResults=None, sortOrder=None) +
Retrieves a list of directory site contacts, possibly filtered.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  searchString: string, Allows searching for objects by name, ID or email. Wildcards (*) are allowed. For example, "directory site contact*2015" will return objects with names like "directory site contact June 2015", "directory site contact April 2015", or simply "directory site contact 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "directory site contact" will match objects with name "my directory site contact", "directory site contact 2015", or simply "directory site contact".
+  directorySiteIds: string, Select only directory site contacts with these directory site IDs. This is a required field. (repeated)
+  pageToken: string, Value of the nextPageToken from the previous result page.
+  sortField: string, Field by which to sort the list.
+    Allowed values
+      ID - 
+      NAME - 
+  ids: string, Select only directory site contacts with these IDs. (repeated)
+  maxResults: integer, Maximum number of results to return.
+  sortOrder: string, Order of sorted results, default is ASCENDING.
+    Allowed values
+      ASCENDING - 
+      DESCENDING - 
+
+Returns:
+  An object of the form:
+
+    { # Directory Site Contact List Response
+    "nextPageToken": "A String", # Pagination token to be used for the next list operation.
+    "directorySiteContacts": [ # Directory site contact collection
+      { # Contains properties of a Site Directory contact.
+        "kind": "dfareporting#directorySiteContact", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#directorySiteContact".
+        "firstName": "A String", # First name of this directory site contact.
+        "title": "A String", # Title or designation of this directory site contact.
+        "lastName": "A String", # Last name of this directory site contact.
+        "email": "A String", # Email address of this directory site contact.
+        "phone": "A String", # Phone number of this directory site contact.
+        "role": "A String", # Directory site contact role.
+        "address": "A String", # Address of this directory site contact.
+        "type": "A String", # Directory site contact type.
+        "id": "A String", # ID of this directory site contact. This is a read-only, auto-generated field.
+      },
+    ],
+    "kind": "dfareporting#directorySiteContactsListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#directorySiteContactsListResponse".
+  }
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    
+
+ + \ No newline at end of file diff --git a/docs/dyn/dfareporting_v2_5.directorySites.html b/docs/dyn/dfareporting_v2_5.directorySites.html new file mode 100644 index 00000000000..22605a053f8 --- /dev/null +++ b/docs/dyn/dfareporting_v2_5.directorySites.html @@ -0,0 +1,590 @@ + + + +

DCM/DFA Reporting And Trafficking API . directorySites

+

Instance Methods

+

+ get(profileId, id)

+

Gets one directory site by ID.

+

+ insert(profileId, body)

+

Inserts a new directory site.

+

+ list(profileId, countryId=None, acceptsInStreamVideoPlacements=None, pageToken=None, sortOrder=None, parentId=None, acceptsPublisherPaidPlacements=None, acceptsInterstitialPlacements=None, maxResults=None, active=None, searchString=None, sortField=None, ids=None, dfp_network_code=None)

+

Retrieves a list of directory sites, possibly filtered.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

Method Details

+
+ get(profileId, id) +
Gets one directory site by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Directory site ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # DirectorySites contains properties of a website from the Site Directory. Sites need to be added to an account via the Sites resource before they can be assigned to a placement.
+      "kind": "dfareporting#directorySite", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#directorySite".
+      "countryId": "A String", # Country ID of this directory site.
+      "description": "A String", # Description of this directory site.
+      "settings": { # Directory Site Settings # Directory site settings.
+        "nielsenOcrOptOut": True or False, # Whether this directory site has disabled Nielsen OCR reach ratings.
+        "activeViewOptOut": True or False, # Whether this directory site has disabled active view creatives.
+        "dfp_settings": { # DFP Settings # Directory site DFP settings.
+          "publisherPortalOnly": True or False, # Whether this directory site is available only via DoubleClick Publisher Portal.
+          "dfp_network_name": "A String", # DFP network name for this directory site.
+          "pubPaidPlacementAccepted": True or False, # Whether this directory site accepts publisher-paid tags.
+          "programmaticPlacementAccepted": True or False, # Whether this directory site accepts programmatic placements.
+          "dfp_network_code": "A String", # DFP network code for this directory site.
+        },
+        "verificationTagOptOut": True or False, # Whether this directory site has disabled generation of Verification ins tags.
+        "instream_video_placement_accepted": True or False, # Whether this site accepts in-stream video ads.
+        "interstitialPlacementAccepted": True or False, # Whether this site accepts interstitial ads.
+        "videoActiveViewOptOut": True or False, # Whether this directory site has disabled active view for in-stream video creatives.
+      },
+      "currencyId": "A String", # Currency ID of this directory site.
+          # Possible values are:
+          # - "1" for USD
+          # - "2" for GBP
+          # - "3" for ESP
+          # - "4" for SEK
+          # - "5" for CAD
+          # - "6" for JPY
+          # - "7" for DEM
+          # - "8" for AUD
+          # - "9" for FRF
+          # - "10" for ITL
+          # - "11" for DKK
+          # - "12" for NOK
+          # - "13" for FIM
+          # - "14" for ZAR
+          # - "15" for IEP
+          # - "16" for NLG
+          # - "17" for EUR
+          # - "18" for KRW
+          # - "19" for TWD
+          # - "20" for SGD
+          # - "21" for CNY
+          # - "22" for HKD
+          # - "23" for NZD
+          # - "24" for MYR
+          # - "25" for BRL
+          # - "26" for PTE
+          # - "27" for MXP
+          # - "28" for CLP
+          # - "29" for TRY
+          # - "30" for ARS
+          # - "31" for PEN
+          # - "32" for ILS
+          # - "33" for CHF
+          # - "34" for VEF
+          # - "35" for COP
+          # - "36" for GTQ
+          # - "37" for PLN
+          # - "39" for INR
+          # - "40" for THB
+          # - "41" for IDR
+          # - "42" for CZK
+          # - "43" for RON
+          # - "44" for HUF
+          # - "45" for RUB
+          # - "46" for AED
+          # - "47" for BGN
+          # - "48" for HRK
+      "inpageTagFormats": [ # Tag types for regular placements.
+          #
+          # Acceptable values are:
+          # - "STANDARD"
+          # - "IFRAME_JAVASCRIPT_INPAGE"
+          # - "INTERNAL_REDIRECT_INPAGE"
+          # - "JAVASCRIPT_INPAGE"
+        "A String",
+      ],
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this directory site. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "interstitialTagFormats": [ # Tag types for interstitial placements.
+          #
+          # Acceptable values are:
+          # - "IFRAME_JAVASCRIPT_INTERSTITIAL"
+          # - "INTERNAL_REDIRECT_INTERSTITIAL"
+          # - "JAVASCRIPT_INTERSTITIAL"
+        "A String",
+      ],
+      "contactAssignments": [ # Directory site contacts.
+        { # Directory Site Contact Assignment
+          "contactId": "A String", # ID of this directory site contact. This is a read-only, auto-generated field.
+          "visibility": "A String", # Visibility of this directory site contact assignment. When set to PUBLIC this contact assignment is visible to all account and agency users; when set to PRIVATE it is visible only to the site.
+        },
+      ],
+      "url": "A String", # URL of this directory site.
+      "parentId": "A String", # Parent directory site ID.
+      "active": True or False, # Whether this directory site is active.
+      "id": "A String", # ID of this directory site. This is a read-only, auto-generated field.
+      "name": "A String", # Name of this directory site.
+    }
+
+ +
+ insert(profileId, body) +
Inserts a new directory site.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # DirectorySites contains properties of a website from the Site Directory. Sites need to be added to an account via the Sites resource before they can be assigned to a placement.
+    "kind": "dfareporting#directorySite", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#directorySite".
+    "countryId": "A String", # Country ID of this directory site.
+    "description": "A String", # Description of this directory site.
+    "settings": { # Directory Site Settings # Directory site settings.
+      "nielsenOcrOptOut": True or False, # Whether this directory site has disabled Nielsen OCR reach ratings.
+      "activeViewOptOut": True or False, # Whether this directory site has disabled active view creatives.
+      "dfp_settings": { # DFP Settings # Directory site DFP settings.
+        "publisherPortalOnly": True or False, # Whether this directory site is available only via DoubleClick Publisher Portal.
+        "dfp_network_name": "A String", # DFP network name for this directory site.
+        "pubPaidPlacementAccepted": True or False, # Whether this directory site accepts publisher-paid tags.
+        "programmaticPlacementAccepted": True or False, # Whether this directory site accepts programmatic placements.
+        "dfp_network_code": "A String", # DFP network code for this directory site.
+      },
+      "verificationTagOptOut": True or False, # Whether this directory site has disabled generation of Verification ins tags.
+      "instream_video_placement_accepted": True or False, # Whether this site accepts in-stream video ads.
+      "interstitialPlacementAccepted": True or False, # Whether this site accepts interstitial ads.
+      "videoActiveViewOptOut": True or False, # Whether this directory site has disabled active view for in-stream video creatives.
+    },
+    "currencyId": "A String", # Currency ID of this directory site.
+        # Possible values are:
+        # - "1" for USD
+        # - "2" for GBP
+        # - "3" for ESP
+        # - "4" for SEK
+        # - "5" for CAD
+        # - "6" for JPY
+        # - "7" for DEM
+        # - "8" for AUD
+        # - "9" for FRF
+        # - "10" for ITL
+        # - "11" for DKK
+        # - "12" for NOK
+        # - "13" for FIM
+        # - "14" for ZAR
+        # - "15" for IEP
+        # - "16" for NLG
+        # - "17" for EUR
+        # - "18" for KRW
+        # - "19" for TWD
+        # - "20" for SGD
+        # - "21" for CNY
+        # - "22" for HKD
+        # - "23" for NZD
+        # - "24" for MYR
+        # - "25" for BRL
+        # - "26" for PTE
+        # - "27" for MXP
+        # - "28" for CLP
+        # - "29" for TRY
+        # - "30" for ARS
+        # - "31" for PEN
+        # - "32" for ILS
+        # - "33" for CHF
+        # - "34" for VEF
+        # - "35" for COP
+        # - "36" for GTQ
+        # - "37" for PLN
+        # - "39" for INR
+        # - "40" for THB
+        # - "41" for IDR
+        # - "42" for CZK
+        # - "43" for RON
+        # - "44" for HUF
+        # - "45" for RUB
+        # - "46" for AED
+        # - "47" for BGN
+        # - "48" for HRK
+    "inpageTagFormats": [ # Tag types for regular placements.
+        # 
+        # Acceptable values are:
+        # - "STANDARD"
+        # - "IFRAME_JAVASCRIPT_INPAGE"
+        # - "INTERNAL_REDIRECT_INPAGE"
+        # - "JAVASCRIPT_INPAGE"
+      "A String",
+    ],
+    "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this directory site. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "interstitialTagFormats": [ # Tag types for interstitial placements.
+        # 
+        # Acceptable values are:
+        # - "IFRAME_JAVASCRIPT_INTERSTITIAL"
+        # - "INTERNAL_REDIRECT_INTERSTITIAL"
+        # - "JAVASCRIPT_INTERSTITIAL"
+      "A String",
+    ],
+    "contactAssignments": [ # Directory site contacts.
+      { # Directory Site Contact Assignment
+        "contactId": "A String", # ID of this directory site contact. This is a read-only, auto-generated field.
+        "visibility": "A String", # Visibility of this directory site contact assignment. When set to PUBLIC this contact assignment is visible to all account and agency users; when set to PRIVATE it is visible only to the site.
+      },
+    ],
+    "url": "A String", # URL of this directory site.
+    "parentId": "A String", # Parent directory site ID.
+    "active": True or False, # Whether this directory site is active.
+    "id": "A String", # ID of this directory site. This is a read-only, auto-generated field.
+    "name": "A String", # Name of this directory site.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # DirectorySites contains properties of a website from the Site Directory. Sites need to be added to an account via the Sites resource before they can be assigned to a placement.
+      "kind": "dfareporting#directorySite", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#directorySite".
+      "countryId": "A String", # Country ID of this directory site.
+      "description": "A String", # Description of this directory site.
+      "settings": { # Directory Site Settings # Directory site settings.
+        "nielsenOcrOptOut": True or False, # Whether this directory site has disabled Nielsen OCR reach ratings.
+        "activeViewOptOut": True or False, # Whether this directory site has disabled active view creatives.
+        "dfp_settings": { # DFP Settings # Directory site DFP settings.
+          "publisherPortalOnly": True or False, # Whether this directory site is available only via DoubleClick Publisher Portal.
+          "dfp_network_name": "A String", # DFP network name for this directory site.
+          "pubPaidPlacementAccepted": True or False, # Whether this directory site accepts publisher-paid tags.
+          "programmaticPlacementAccepted": True or False, # Whether this directory site accepts programmatic placements.
+          "dfp_network_code": "A String", # DFP network code for this directory site.
+        },
+        "verificationTagOptOut": True or False, # Whether this directory site has disabled generation of Verification ins tags.
+        "instream_video_placement_accepted": True or False, # Whether this site accepts in-stream video ads.
+        "interstitialPlacementAccepted": True or False, # Whether this site accepts interstitial ads.
+        "videoActiveViewOptOut": True or False, # Whether this directory site has disabled active view for in-stream video creatives.
+      },
+      "currencyId": "A String", # Currency ID of this directory site.
+          # Possible values are:
+          # - "1" for USD
+          # - "2" for GBP
+          # - "3" for ESP
+          # - "4" for SEK
+          # - "5" for CAD
+          # - "6" for JPY
+          # - "7" for DEM
+          # - "8" for AUD
+          # - "9" for FRF
+          # - "10" for ITL
+          # - "11" for DKK
+          # - "12" for NOK
+          # - "13" for FIM
+          # - "14" for ZAR
+          # - "15" for IEP
+          # - "16" for NLG
+          # - "17" for EUR
+          # - "18" for KRW
+          # - "19" for TWD
+          # - "20" for SGD
+          # - "21" for CNY
+          # - "22" for HKD
+          # - "23" for NZD
+          # - "24" for MYR
+          # - "25" for BRL
+          # - "26" for PTE
+          # - "27" for MXP
+          # - "28" for CLP
+          # - "29" for TRY
+          # - "30" for ARS
+          # - "31" for PEN
+          # - "32" for ILS
+          # - "33" for CHF
+          # - "34" for VEF
+          # - "35" for COP
+          # - "36" for GTQ
+          # - "37" for PLN
+          # - "39" for INR
+          # - "40" for THB
+          # - "41" for IDR
+          # - "42" for CZK
+          # - "43" for RON
+          # - "44" for HUF
+          # - "45" for RUB
+          # - "46" for AED
+          # - "47" for BGN
+          # - "48" for HRK
+      "inpageTagFormats": [ # Tag types for regular placements.
+          #
+          # Acceptable values are:
+          # - "STANDARD"
+          # - "IFRAME_JAVASCRIPT_INPAGE"
+          # - "INTERNAL_REDIRECT_INPAGE"
+          # - "JAVASCRIPT_INPAGE"
+        "A String",
+      ],
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this directory site. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "interstitialTagFormats": [ # Tag types for interstitial placements.
+          #
+          # Acceptable values are:
+          # - "IFRAME_JAVASCRIPT_INTERSTITIAL"
+          # - "INTERNAL_REDIRECT_INTERSTITIAL"
+          # - "JAVASCRIPT_INTERSTITIAL"
+        "A String",
+      ],
+      "contactAssignments": [ # Directory site contacts.
+        { # Directory Site Contact Assignment
+          "contactId": "A String", # ID of this directory site contact. This is a read-only, auto-generated field.
+          "visibility": "A String", # Visibility of this directory site contact assignment. When set to PUBLIC this contact assignment is visible to all account and agency users; when set to PRIVATE it is visible only to the site.
+        },
+      ],
+      "url": "A String", # URL of this directory site.
+      "parentId": "A String", # Parent directory site ID.
+      "active": True or False, # Whether this directory site is active.
+      "id": "A String", # ID of this directory site. This is a read-only, auto-generated field.
+      "name": "A String", # Name of this directory site.
+    }
+
+ +
+ list(profileId, countryId=None, acceptsInStreamVideoPlacements=None, pageToken=None, sortOrder=None, parentId=None, acceptsPublisherPaidPlacements=None, acceptsInterstitialPlacements=None, maxResults=None, active=None, searchString=None, sortField=None, ids=None, dfp_network_code=None) +
Retrieves a list of directory sites, possibly filtered.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  countryId: string, Select only directory sites with this country ID.
+  acceptsInStreamVideoPlacements: boolean, This search filter is no longer supported and will have no effect on the results returned.
+  pageToken: string, Value of the nextPageToken from the previous result page.
+  sortOrder: string, Order of sorted results, default is ASCENDING.
+    Allowed values
+      ASCENDING - 
+      DESCENDING - 
+  parentId: string, Select only directory sites with this parent ID.
+  acceptsPublisherPaidPlacements: boolean, Select only directory sites that accept publisher paid placements. This field can be left blank.
+  acceptsInterstitialPlacements: boolean, This search filter is no longer supported and will have no effect on the results returned.
+  maxResults: integer, Maximum number of results to return.
+  active: boolean, Select only active directory sites. Leave blank to retrieve both active and inactive directory sites.
+  searchString: string, Allows searching for objects by name, ID or URL. Wildcards (*) are allowed. For example, "directory site*2015" will return objects with names like "directory site June 2015", "directory site April 2015", or simply "directory site 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "directory site" will match objects with name "my directory site", "directory site 2015" or simply, "directory site".
+  sortField: string, Field by which to sort the list.
+    Allowed values
+      ID - 
+      NAME - 
+  ids: string, Select only directory sites with these IDs. (repeated)
+  dfp_network_code: string, Select only directory sites with this DFP network code.
+
+Returns:
+  An object of the form:
+
+    { # Directory Site List Response
+    "nextPageToken": "A String", # Pagination token to be used for the next list operation.
+    "kind": "dfareporting#directorySitesListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#directorySitesListResponse".
+    "directorySites": [ # Directory site collection.
+      { # DirectorySites contains properties of a website from the Site Directory. Sites need to be added to an account via the Sites resource before they can be assigned to a placement.
+          "kind": "dfareporting#directorySite", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#directorySite".
+          "countryId": "A String", # Country ID of this directory site.
+          "description": "A String", # Description of this directory site.
+          "settings": { # Directory Site Settings # Directory site settings.
+            "nielsenOcrOptOut": True or False, # Whether this directory site has disabled Nielsen OCR reach ratings.
+            "activeViewOptOut": True or False, # Whether this directory site has disabled active view creatives.
+            "dfp_settings": { # DFP Settings # Directory site DFP settings.
+              "publisherPortalOnly": True or False, # Whether this directory site is available only via DoubleClick Publisher Portal.
+              "dfp_network_name": "A String", # DFP network name for this directory site.
+              "pubPaidPlacementAccepted": True or False, # Whether this directory site accepts publisher-paid tags.
+              "programmaticPlacementAccepted": True or False, # Whether this directory site accepts programmatic placements.
+              "dfp_network_code": "A String", # DFP network code for this directory site.
+            },
+            "verificationTagOptOut": True or False, # Whether this directory site has disabled generation of Verification ins tags.
+            "instream_video_placement_accepted": True or False, # Whether this site accepts in-stream video ads.
+            "interstitialPlacementAccepted": True or False, # Whether this site accepts interstitial ads.
+            "videoActiveViewOptOut": True or False, # Whether this directory site has disabled active view for in-stream video creatives.
+          },
+          "currencyId": "A String", # Currency ID of this directory site.
+              # Possible values are:
+              # - "1" for USD
+              # - "2" for GBP
+              # - "3" for ESP
+              # - "4" for SEK
+              # - "5" for CAD
+              # - "6" for JPY
+              # - "7" for DEM
+              # - "8" for AUD
+              # - "9" for FRF
+              # - "10" for ITL
+              # - "11" for DKK
+              # - "12" for NOK
+              # - "13" for FIM
+              # - "14" for ZAR
+              # - "15" for IEP
+              # - "16" for NLG
+              # - "17" for EUR
+              # - "18" for KRW
+              # - "19" for TWD
+              # - "20" for SGD
+              # - "21" for CNY
+              # - "22" for HKD
+              # - "23" for NZD
+              # - "24" for MYR
+              # - "25" for BRL
+              # - "26" for PTE
+              # - "27" for MXP
+              # - "28" for CLP
+              # - "29" for TRY
+              # - "30" for ARS
+              # - "31" for PEN
+              # - "32" for ILS
+              # - "33" for CHF
+              # - "34" for VEF
+              # - "35" for COP
+              # - "36" for GTQ
+              # - "37" for PLN
+              # - "39" for INR
+              # - "40" for THB
+              # - "41" for IDR
+              # - "42" for CZK
+              # - "43" for RON
+              # - "44" for HUF
+              # - "45" for RUB
+              # - "46" for AED
+              # - "47" for BGN
+              # - "48" for HRK
+          "inpageTagFormats": [ # Tag types for regular placements.
+              #
+              # Acceptable values are:
+              # - "STANDARD"
+              # - "IFRAME_JAVASCRIPT_INPAGE"
+              # - "INTERNAL_REDIRECT_INPAGE"
+              # - "JAVASCRIPT_INPAGE"
+            "A String",
+          ],
+          "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this directory site. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "interstitialTagFormats": [ # Tag types for interstitial placements.
+              #
+              # Acceptable values are:
+              # - "IFRAME_JAVASCRIPT_INTERSTITIAL"
+              # - "INTERNAL_REDIRECT_INTERSTITIAL"
+              # - "JAVASCRIPT_INTERSTITIAL"
+            "A String",
+          ],
+          "contactAssignments": [ # Directory site contacts.
+            { # Directory Site Contact Assignment
+              "contactId": "A String", # ID of this directory site contact. This is a read-only, auto-generated field.
+              "visibility": "A String", # Visibility of this directory site contact assignment. When set to PUBLIC this contact assignment is visible to all account and agency users; when set to PRIVATE it is visible only to the site.
+            },
+          ],
+          "url": "A String", # URL of this directory site.
+          "parentId": "A String", # Parent directory site ID.
+          "active": True or False, # Whether this directory site is active.
+          "id": "A String", # ID of this directory site. This is a read-only, auto-generated field.
+          "name": "A String", # Name of this directory site.
+        },
+    ],
+  }
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    
+
+ + \ No newline at end of file diff --git a/docs/dyn/dfareporting_v2_5.dynamicTargetingKeys.html b/docs/dyn/dfareporting_v2_5.dynamicTargetingKeys.html new file mode 100644 index 00000000000..5cdcbf62c4b --- /dev/null +++ b/docs/dyn/dfareporting_v2_5.dynamicTargetingKeys.html @@ -0,0 +1,164 @@ + + + +

DCM/DFA Reporting And Trafficking API . dynamicTargetingKeys

+

Instance Methods

+

+ delete(profileId, objectId, name, objectType)

+

Deletes an existing dynamic targeting key.

+

+ insert(profileId, body)

+

Inserts a new dynamic targeting key. Keys must be created at the advertiser level before being assigned to the advertiser's ads, creatives, or placements. There is a maximum of 1000 keys per advertiser, out of which a maximum of 20 keys can be assigned per ad, creative, or placement.

+

+ list(profileId, advertiserId=None, objectId=None, names=None, objectType=None)

+

Retrieves a list of dynamic targeting keys.

+

Method Details

+
+ delete(profileId, objectId, name, objectType) +
Deletes an existing dynamic targeting key.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  objectId: string, ID of the object of this dynamic targeting key. This is a required field. (required)
+  name: string, Name of this dynamic targeting key. This is a required field. Must be less than 256 characters long and cannot contain commas. All characters are converted to lowercase. (required)
+  objectType: string, Type of the object of this dynamic targeting key. This is a required field. (required)
+    Allowed values
+      OBJECT_AD - 
+      OBJECT_ADVERTISER - 
+      OBJECT_CREATIVE - 
+      OBJECT_PLACEMENT - 
+
+
+ +
+ insert(profileId, body) +
Inserts a new dynamic targeting key. Keys must be created at the advertiser level before being assigned to the advertiser's ads, creatives, or placements. There is a maximum of 1000 keys per advertiser, out of which a maximum of 20 keys can be assigned per ad, creative, or placement.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a dynamic targeting key. Dynamic targeting keys are unique, user-friendly labels, created at the advertiser level in DCM, that can be assigned to ads, creatives, and placements and used for targeting with DoubleClick Studio dynamic creatives. Use these labels instead of numeric DCM IDs (such as placement IDs) to save time and avoid errors in your dynamic feeds.
+    "kind": "dfareporting#dynamicTargetingKey", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#dynamicTargetingKey".
+    "name": "A String", # Name of this dynamic targeting key. This is a required field. Must be less than 256 characters long and cannot contain commas. All characters are converted to lowercase.
+    "objectId": "A String", # ID of the object of this dynamic targeting key. This is a required field.
+    "objectType": "A String", # Type of the object of this dynamic targeting key. This is a required field.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a dynamic targeting key. Dynamic targeting keys are unique, user-friendly labels, created at the advertiser level in DCM, that can be assigned to ads, creatives, and placements and used for targeting with DoubleClick Studio dynamic creatives. Use these labels instead of numeric DCM IDs (such as placement IDs) to save time and avoid errors in your dynamic feeds.
+      "kind": "dfareporting#dynamicTargetingKey", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#dynamicTargetingKey".
+      "name": "A String", # Name of this dynamic targeting key. This is a required field. Must be less than 256 characters long and cannot contain commas. All characters are converted to lowercase.
+      "objectId": "A String", # ID of the object of this dynamic targeting key. This is a required field.
+      "objectType": "A String", # Type of the object of this dynamic targeting key. This is a required field.
+    }
+
+ +
+ list(profileId, advertiserId=None, objectId=None, names=None, objectType=None) +
Retrieves a list of dynamic targeting keys.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  advertiserId: string, Select only dynamic targeting keys whose object has this advertiser ID.
+  objectId: string, Select only dynamic targeting keys with this object ID.
+  names: string, Select only dynamic targeting keys exactly matching these names. (repeated)
+  objectType: string, Select only dynamic targeting keys with this object type.
+    Allowed values
+      OBJECT_AD - 
+      OBJECT_ADVERTISER - 
+      OBJECT_CREATIVE - 
+      OBJECT_PLACEMENT - 
+
+Returns:
+  An object of the form:
+
+    { # Dynamic Targeting Key List Response
+    "kind": "dfareporting#dynamicTargetingKeysListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#dynamicTargetingKeysListResponse".
+    "dynamicTargetingKeys": [ # Dynamic targeting key collection.
+      { # Contains properties of a dynamic targeting key. Dynamic targeting keys are unique, user-friendly labels, created at the advertiser level in DCM, that can be assigned to ads, creatives, and placements and used for targeting with DoubleClick Studio dynamic creatives. Use these labels instead of numeric DCM IDs (such as placement IDs) to save time and avoid errors in your dynamic feeds.
+          "kind": "dfareporting#dynamicTargetingKey", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#dynamicTargetingKey".
+          "name": "A String", # Name of this dynamic targeting key. This is a required field. Must be less than 256 characters long and cannot contain commas. All characters are converted to lowercase.
+          "objectId": "A String", # ID of the object of this dynamic targeting key. This is a required field.
+          "objectType": "A String", # Type of the object of this dynamic targeting key. This is a required field.
+        },
+    ],
+  }
+
+ + \ No newline at end of file diff --git a/docs/dyn/dfareporting_v2_5.eventTags.html b/docs/dyn/dfareporting_v2_5.eventTags.html new file mode 100644 index 00000000000..3861efc2641 --- /dev/null +++ b/docs/dyn/dfareporting_v2_5.eventTags.html @@ -0,0 +1,493 @@ + + + +

DCM/DFA Reporting And Trafficking API . eventTags

+

Instance Methods

+

+ delete(profileId, id)

+

Deletes an existing event tag.

+

+ get(profileId, id)

+

Gets one event tag by ID.

+

+ insert(profileId, body)

+

Inserts a new event tag.

+

+ list(profileId, campaignId=None, advertiserId=None, adId=None, sortOrder=None, definitionsOnly=None, eventTagTypes=None, searchString=None, sortField=None, enabled=None, ids=None)

+

Retrieves a list of event tags, possibly filtered.

+

+ patch(profileId, id, body)

+

Updates an existing event tag. This method supports patch semantics.

+

+ update(profileId, body)

+

Updates an existing event tag.

+

Method Details

+
+ delete(profileId, id) +
Deletes an existing event tag.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Event tag ID. (required)
+
+
+ +
+ get(profileId, id) +
Gets one event tag by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Event tag ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of an event tag.
+      "status": "A String", # Status of this event tag. Must be ENABLED for this event tag to fire. This is a required field.
+      "campaignIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the campaign. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "subaccountId": "A String", # Subaccount ID of this event tag. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this event tag. This is a required field and must be less than 256 characters long.
+      "campaignId": "A String", # Campaign ID of this event tag. This field or the advertiserId field is required on insertion.
+      "url": "A String", # Payload URL for this event tag. The URL on a click-through event tag should have a landing page URL appended to the end of it. This field is required on insertion.
+      "sslCompliant": True or False, # Whether this tag is SSL-compliant or not. This is a read-only field.
+      "urlEscapeLevels": 42, # Number of times the landing page URL should be URL-escaped before being appended to the click-through event tag URL. Only applies to click-through event tags as specified by the event tag type.
+      "kind": "dfareporting#eventTag", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#eventTag".
+      "enabledByDefault": True or False, # Whether this event tag should be automatically enabled for all of the advertiser's campaigns and ads.
+      "advertiserId": "A String", # Advertiser ID of this event tag. This field or the campaignId field is required on insertion.
+      "siteFilterType": "A String", # Site filter type for this event tag. If no type is specified then the event tag will be applied to all sites.
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "siteIds": [ # Filter list of site IDs associated with this event tag. The siteFilterType determines whether this is a whitelist or blacklist filter.
+        "A String",
+      ],
+      "excludeFromAdxRequests": True or False, # Whether to remove this event tag from ads that are trafficked through DoubleClick Bid Manager to Ad Exchange. This may be useful if the event tag uses a pixel that is unapproved for Ad Exchange bids on one or more networks, such as the Google Display Network.
+      "type": "A String", # Event tag type. Can be used to specify whether to use a third-party pixel, a third-party JavaScript URL, or a third-party click-through URL for either impression or click tracking. This is a required field.
+      "id": "A String", # ID of this event tag. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this event tag. This is a read-only field that can be left blank.
+    }
+
+ +
+ insert(profileId, body) +
Inserts a new event tag.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of an event tag.
+    "status": "A String", # Status of this event tag. Must be ENABLED for this event tag to fire. This is a required field.
+    "campaignIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the campaign. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "subaccountId": "A String", # Subaccount ID of this event tag. This is a read-only field that can be left blank.
+    "name": "A String", # Name of this event tag. This is a required field and must be less than 256 characters long.
+    "campaignId": "A String", # Campaign ID of this event tag. This field or the advertiserId field is required on insertion.
+    "url": "A String", # Payload URL for this event tag. The URL on a click-through event tag should have a landing page URL appended to the end of it. This field is required on insertion.
+    "sslCompliant": True or False, # Whether this tag is SSL-compliant or not. This is a read-only field.
+    "urlEscapeLevels": 42, # Number of times the landing page URL should be URL-escaped before being appended to the click-through event tag URL. Only applies to click-through event tags as specified by the event tag type.
+    "kind": "dfareporting#eventTag", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#eventTag".
+    "enabledByDefault": True or False, # Whether this event tag should be automatically enabled for all of the advertiser's campaigns and ads.
+    "advertiserId": "A String", # Advertiser ID of this event tag. This field or the campaignId field is required on insertion.
+    "siteFilterType": "A String", # Site filter type for this event tag. If no type is specified then the event tag will be applied to all sites.
+    "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "siteIds": [ # Filter list of site IDs associated with this event tag. The siteFilterType determines whether this is a whitelist or blacklist filter.
+      "A String",
+    ],
+    "excludeFromAdxRequests": True or False, # Whether to remove this event tag from ads that are trafficked through DoubleClick Bid Manager to Ad Exchange. This may be useful if the event tag uses a pixel that is unapproved for Ad Exchange bids on one or more networks, such as the Google Display Network.
+    "type": "A String", # Event tag type. Can be used to specify whether to use a third-party pixel, a third-party JavaScript URL, or a third-party click-through URL for either impression or click tracking. This is a required field.
+    "id": "A String", # ID of this event tag. This is a read-only, auto-generated field.
+    "accountId": "A String", # Account ID of this event tag. This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of an event tag.
+      "status": "A String", # Status of this event tag. Must be ENABLED for this event tag to fire. This is a required field.
+      "campaignIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the campaign. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "subaccountId": "A String", # Subaccount ID of this event tag. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this event tag. This is a required field and must be less than 256 characters long.
+      "campaignId": "A String", # Campaign ID of this event tag. This field or the advertiserId field is required on insertion.
+      "url": "A String", # Payload URL for this event tag. The URL on a click-through event tag should have a landing page URL appended to the end of it. This field is required on insertion.
+      "sslCompliant": True or False, # Whether this tag is SSL-compliant or not. This is a read-only field.
+      "urlEscapeLevels": 42, # Number of times the landing page URL should be URL-escaped before being appended to the click-through event tag URL. Only applies to click-through event tags as specified by the event tag type.
+      "kind": "dfareporting#eventTag", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#eventTag".
+      "enabledByDefault": True or False, # Whether this event tag should be automatically enabled for all of the advertiser's campaigns and ads.
+      "advertiserId": "A String", # Advertiser ID of this event tag. This field or the campaignId field is required on insertion.
+      "siteFilterType": "A String", # Site filter type for this event tag. If no type is specified then the event tag will be applied to all sites.
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "siteIds": [ # Filter list of site IDs associated with this event tag. The siteFilterType determines whether this is a whitelist or blacklist filter.
+        "A String",
+      ],
+      "excludeFromAdxRequests": True or False, # Whether to remove this event tag from ads that are trafficked through DoubleClick Bid Manager to Ad Exchange. This may be useful if the event tag uses a pixel that is unapproved for Ad Exchange bids on one or more networks, such as the Google Display Network.
+      "type": "A String", # Event tag type. Can be used to specify whether to use a third-party pixel, a third-party JavaScript URL, or a third-party click-through URL for either impression or click tracking. This is a required field.
+      "id": "A String", # ID of this event tag. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this event tag. This is a read-only field that can be left blank.
+    }
+
+ +
+ list(profileId, campaignId=None, advertiserId=None, adId=None, sortOrder=None, definitionsOnly=None, eventTagTypes=None, searchString=None, sortField=None, enabled=None, ids=None) +
Retrieves a list of event tags, possibly filtered.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  campaignId: string, Select only event tags that belong to this campaign.
+  advertiserId: string, Select only event tags that belong to this advertiser.
+  adId: string, Select only event tags that belong to this ad.
+  sortOrder: string, Order of sorted results, default is ASCENDING.
+    Allowed values
+      ASCENDING - 
+      DESCENDING - 
+  definitionsOnly: boolean, Examine only the specified campaign or advertiser's event tags for matching selector criteria. When set to false, the parent advertiser and parent campaign of the specified ad or campaign is examined as well. In addition, when set to false, the status field is examined as well, along with the enabledByDefault field. This parameter can not be set to true when adId is specified as ads do not define their own even tags.
+  eventTagTypes: string, Select only event tags with the specified event tag types. Event tag types can be used to specify whether to use a third-party pixel, a third-party JavaScript URL, or a third-party click-through URL for either impression or click tracking. (repeated)
+    Allowed values
+      CLICK_THROUGH_EVENT_TAG - 
+      IMPRESSION_IMAGE_EVENT_TAG - 
+      IMPRESSION_JAVASCRIPT_EVENT_TAG - 
+  searchString: string, Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "eventtag*2015" will return objects with names like "eventtag June 2015", "eventtag April 2015", or simply "eventtag 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "eventtag" will match objects with name "my eventtag", "eventtag 2015", or simply "eventtag".
+  sortField: string, Field by which to sort the list.
+    Allowed values
+      ID - 
+      NAME - 
+  enabled: boolean, Select only enabled event tags. What is considered enabled or disabled depends on the definitionsOnly parameter. When definitionsOnly is set to true, only the specified advertiser or campaign's event tags' enabledByDefault field is examined. When definitionsOnly is set to false, the specified ad or specified campaign's parent advertiser's or parent campaign's event tags' enabledByDefault and status fields are examined as well.
+  ids: string, Select only event tags with these IDs. (repeated)
+
+Returns:
+  An object of the form:
+
+    { # Event Tag List Response
+    "eventTags": [ # Event tag collection.
+      { # Contains properties of an event tag.
+          "status": "A String", # Status of this event tag. Must be ENABLED for this event tag to fire. This is a required field.
+          "campaignIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the campaign. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "subaccountId": "A String", # Subaccount ID of this event tag. This is a read-only field that can be left blank.
+          "name": "A String", # Name of this event tag. This is a required field and must be less than 256 characters long.
+          "campaignId": "A String", # Campaign ID of this event tag. This field or the advertiserId field is required on insertion.
+          "url": "A String", # Payload URL for this event tag. The URL on a click-through event tag should have a landing page URL appended to the end of it. This field is required on insertion.
+          "sslCompliant": True or False, # Whether this tag is SSL-compliant or not. This is a read-only field.
+          "urlEscapeLevels": 42, # Number of times the landing page URL should be URL-escaped before being appended to the click-through event tag URL. Only applies to click-through event tags as specified by the event tag type.
+          "kind": "dfareporting#eventTag", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#eventTag".
+          "enabledByDefault": True or False, # Whether this event tag should be automatically enabled for all of the advertiser's campaigns and ads.
+          "advertiserId": "A String", # Advertiser ID of this event tag. This field or the campaignId field is required on insertion.
+          "siteFilterType": "A String", # Site filter type for this event tag. If no type is specified then the event tag will be applied to all sites.
+          "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "siteIds": [ # Filter list of site IDs associated with this event tag. The siteFilterType determines whether this is a whitelist or blacklist filter.
+            "A String",
+          ],
+          "excludeFromAdxRequests": True or False, # Whether to remove this event tag from ads that are trafficked through DoubleClick Bid Manager to Ad Exchange. This may be useful if the event tag uses a pixel that is unapproved for Ad Exchange bids on one or more networks, such as the Google Display Network.
+          "type": "A String", # Event tag type. Can be used to specify whether to use a third-party pixel, a third-party JavaScript URL, or a third-party click-through URL for either impression or click tracking. This is a required field.
+          "id": "A String", # ID of this event tag. This is a read-only, auto-generated field.
+          "accountId": "A String", # Account ID of this event tag. This is a read-only field that can be left blank.
+        },
+    ],
+    "kind": "dfareporting#eventTagsListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#eventTagsListResponse".
+  }
+
+ +
+ patch(profileId, id, body) +
Updates an existing event tag. This method supports patch semantics.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Event tag ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of an event tag.
+    "status": "A String", # Status of this event tag. Must be ENABLED for this event tag to fire. This is a required field.
+    "campaignIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the campaign. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "subaccountId": "A String", # Subaccount ID of this event tag. This is a read-only field that can be left blank.
+    "name": "A String", # Name of this event tag. This is a required field and must be less than 256 characters long.
+    "campaignId": "A String", # Campaign ID of this event tag. This field or the advertiserId field is required on insertion.
+    "url": "A String", # Payload URL for this event tag. The URL on a click-through event tag should have a landing page URL appended to the end of it. This field is required on insertion.
+    "sslCompliant": True or False, # Whether this tag is SSL-compliant or not. This is a read-only field.
+    "urlEscapeLevels": 42, # Number of times the landing page URL should be URL-escaped before being appended to the click-through event tag URL. Only applies to click-through event tags as specified by the event tag type.
+    "kind": "dfareporting#eventTag", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#eventTag".
+    "enabledByDefault": True or False, # Whether this event tag should be automatically enabled for all of the advertiser's campaigns and ads.
+    "advertiserId": "A String", # Advertiser ID of this event tag. This field or the campaignId field is required on insertion.
+    "siteFilterType": "A String", # Site filter type for this event tag. If no type is specified then the event tag will be applied to all sites.
+    "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "siteIds": [ # Filter list of site IDs associated with this event tag. The siteFilterType determines whether this is a whitelist or blacklist filter.
+      "A String",
+    ],
+    "excludeFromAdxRequests": True or False, # Whether to remove this event tag from ads that are trafficked through DoubleClick Bid Manager to Ad Exchange. This may be useful if the event tag uses a pixel that is unapproved for Ad Exchange bids on one or more networks, such as the Google Display Network.
+    "type": "A String", # Event tag type. Can be used to specify whether to use a third-party pixel, a third-party JavaScript URL, or a third-party click-through URL for either impression or click tracking. This is a required field.
+    "id": "A String", # ID of this event tag. This is a read-only, auto-generated field.
+    "accountId": "A String", # Account ID of this event tag. This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of an event tag.
+      "status": "A String", # Status of this event tag. Must be ENABLED for this event tag to fire. This is a required field.
+      "campaignIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the campaign. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "subaccountId": "A String", # Subaccount ID of this event tag. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this event tag. This is a required field and must be less than 256 characters long.
+      "campaignId": "A String", # Campaign ID of this event tag. This field or the advertiserId field is required on insertion.
+      "url": "A String", # Payload URL for this event tag. The URL on a click-through event tag should have a landing page URL appended to the end of it. This field is required on insertion.
+      "sslCompliant": True or False, # Whether this tag is SSL-compliant or not. This is a read-only field.
+      "urlEscapeLevels": 42, # Number of times the landing page URL should be URL-escaped before being appended to the click-through event tag URL. Only applies to click-through event tags as specified by the event tag type.
+      "kind": "dfareporting#eventTag", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#eventTag".
+      "enabledByDefault": True or False, # Whether this event tag should be automatically enabled for all of the advertiser's campaigns and ads.
+      "advertiserId": "A String", # Advertiser ID of this event tag. This field or the campaignId field is required on insertion.
+      "siteFilterType": "A String", # Site filter type for this event tag. If no type is specified then the event tag will be applied to all sites.
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "siteIds": [ # Filter list of site IDs associated with this event tag. The siteFilterType determines whether this is a whitelist or blacklist filter.
+        "A String",
+      ],
+      "excludeFromAdxRequests": True or False, # Whether to remove this event tag from ads that are trafficked through DoubleClick Bid Manager to Ad Exchange. This may be useful if the event tag uses a pixel that is unapproved for Ad Exchange bids on one or more networks, such as the Google Display Network.
+      "type": "A String", # Event tag type. Can be used to specify whether to use a third-party pixel, a third-party JavaScript URL, or a third-party click-through URL for either impression or click tracking. This is a required field.
+      "id": "A String", # ID of this event tag. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this event tag. This is a read-only field that can be left blank.
+    }
+
+ +
+ update(profileId, body) +
Updates an existing event tag.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of an event tag.
+    "status": "A String", # Status of this event tag. Must be ENABLED for this event tag to fire. This is a required field.
+    "campaignIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the campaign. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "subaccountId": "A String", # Subaccount ID of this event tag. This is a read-only field that can be left blank.
+    "name": "A String", # Name of this event tag. This is a required field and must be less than 256 characters long.
+    "campaignId": "A String", # Campaign ID of this event tag. This field or the advertiserId field is required on insertion.
+    "url": "A String", # Payload URL for this event tag. The URL on a click-through event tag should have a landing page URL appended to the end of it. This field is required on insertion.
+    "sslCompliant": True or False, # Whether this tag is SSL-compliant or not. This is a read-only field.
+    "urlEscapeLevels": 42, # Number of times the landing page URL should be URL-escaped before being appended to the click-through event tag URL. Only applies to click-through event tags as specified by the event tag type.
+    "kind": "dfareporting#eventTag", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#eventTag".
+    "enabledByDefault": True or False, # Whether this event tag should be automatically enabled for all of the advertiser's campaigns and ads.
+    "advertiserId": "A String", # Advertiser ID of this event tag. This field or the campaignId field is required on insertion.
+    "siteFilterType": "A String", # Site filter type for this event tag. If no type is specified then the event tag will be applied to all sites.
+    "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "siteIds": [ # Filter list of site IDs associated with this event tag. The siteFilterType determines whether this is a whitelist or blacklist filter.
+      "A String",
+    ],
+    "excludeFromAdxRequests": True or False, # Whether to remove this event tag from ads that are trafficked through DoubleClick Bid Manager to Ad Exchange. This may be useful if the event tag uses a pixel that is unapproved for Ad Exchange bids on one or more networks, such as the Google Display Network.
+    "type": "A String", # Event tag type. Can be used to specify whether to use a third-party pixel, a third-party JavaScript URL, or a third-party click-through URL for either impression or click tracking. This is a required field.
+    "id": "A String", # ID of this event tag. This is a read-only, auto-generated field.
+    "accountId": "A String", # Account ID of this event tag. This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of an event tag.
+      "status": "A String", # Status of this event tag. Must be ENABLED for this event tag to fire. This is a required field.
+      "campaignIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the campaign. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "subaccountId": "A String", # Subaccount ID of this event tag. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this event tag. This is a required field and must be less than 256 characters long.
+      "campaignId": "A String", # Campaign ID of this event tag. This field or the advertiserId field is required on insertion.
+      "url": "A String", # Payload URL for this event tag. The URL on a click-through event tag should have a landing page URL appended to the end of it. This field is required on insertion.
+      "sslCompliant": True or False, # Whether this tag is SSL-compliant or not. This is a read-only field.
+      "urlEscapeLevels": 42, # Number of times the landing page URL should be URL-escaped before being appended to the click-through event tag URL. Only applies to click-through event tags as specified by the event tag type.
+      "kind": "dfareporting#eventTag", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#eventTag".
+      "enabledByDefault": True or False, # Whether this event tag should be automatically enabled for all of the advertiser's campaigns and ads.
+      "advertiserId": "A String", # Advertiser ID of this event tag. This field or the campaignId field is required on insertion.
+      "siteFilterType": "A String", # Site filter type for this event tag. If no type is specified then the event tag will be applied to all sites.
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "siteIds": [ # Filter list of site IDs associated with this event tag. The siteFilterType determines whether this is a whitelist or blacklist filter.
+        "A String",
+      ],
+      "excludeFromAdxRequests": True or False, # Whether to remove this event tag from ads that are trafficked through DoubleClick Bid Manager to Ad Exchange. This may be useful if the event tag uses a pixel that is unapproved for Ad Exchange bids on one or more networks, such as the Google Display Network.
+      "type": "A String", # Event tag type. Can be used to specify whether to use a third-party pixel, a third-party JavaScript URL, or a third-party click-through URL for either impression or click tracking. This is a required field.
+      "id": "A String", # ID of this event tag. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this event tag. This is a read-only field that can be left blank.
+    }
+
+ + \ No newline at end of file diff --git a/docs/dyn/dfareporting_v2_5.files.html b/docs/dyn/dfareporting_v2_5.files.html new file mode 100644 index 00000000000..1be52b0e858 --- /dev/null +++ b/docs/dyn/dfareporting_v2_5.files.html @@ -0,0 +1,205 @@ + + + +

DCM/DFA Reporting And Trafficking API . files

+

Instance Methods

+

+ get(reportId, fileId)

+

Retrieves a report file by its report ID and file ID.

+

+ get_media(reportId, fileId)

+

Retrieves a report file by its report ID and file ID.

+

+ list(profileId, pageToken=None, maxResults=None, sortOrder=None, sortField=None, scope=None)

+

Lists files for a user profile.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

Method Details

+
+ get(reportId, fileId) +
Retrieves a report file by its report ID and file ID.
+
+Args:
+  reportId: string, The ID of the report. (required)
+  fileId: string, The ID of the report file. (required)
+
+Returns:
+  An object of the form:
+
+    { # Represents a File resource. A file contains the metadata for a report run. It shows the status of the run and holds the URLs to the generated report data if the run is finished and the status is "REPORT_AVAILABLE".
+    "status": "A String", # The status of the report file.
+    "kind": "dfareporting#file", # The kind of resource this is, in this case dfareporting#file.
+    "format": "A String", # The output format of the report. Only available once the file is available.
+    "dateRange": { # Represents a date range. # The date range for which the file has report data. The date range will always be the absolute date range for which the report is run.
+      "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+      "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+      "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+      "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+    },
+    "fileName": "A String", # The filename of the file.
+    "etag": "A String", # The eTag of this response for caching purposes.
+    "reportId": "A String", # The ID of the report this file was generated from.
+    "urls": { # The URLs where the completed report file can be downloaded.
+      "browserUrl": "A String", # The URL for downloading the report data through a browser.
+      "apiUrl": "A String", # The URL for downloading the report data through the API.
+    },
+    "lastModifiedTime": "A String", # The timestamp in milliseconds since epoch when this file was last modified.
+    "id": "A String", # The unique ID of this report file.
+  }
+
+ +
+ get_media(reportId, fileId) +
Retrieves a report file by its report ID and file ID.
+
+Args:
+  reportId: string, The ID of the report. (required)
+  fileId: string, The ID of the report file. (required)
+
+Returns:
+  The media object as a string.
+
+    
+
+ +
+ list(profileId, pageToken=None, maxResults=None, sortOrder=None, sortField=None, scope=None) +
Lists files for a user profile.
+
+Args:
+  profileId: string, The DFA profile ID. (required)
+  pageToken: string, The value of the nextToken from the previous result page.
+  maxResults: integer, Maximum number of results to return.
+  sortOrder: string, Order of sorted results, default is 'DESCENDING'.
+    Allowed values
+      ASCENDING - Ascending order.
+      DESCENDING - Descending order.
+  sortField: string, The field by which to sort the list.
+    Allowed values
+      ID - Sort by file ID.
+      LAST_MODIFIED_TIME - Sort by 'lastmodifiedAt' field.
+  scope: string, The scope that defines which results are returned, default is 'MINE'.
+    Allowed values
+      ALL - All files in account.
+      MINE - My files.
+      SHARED_WITH_ME - Files shared with me.
+
+Returns:
+  An object of the form:
+
+    { # Represents the list of File resources.
+    "nextPageToken": "A String", # Continuation token used to page through files. To retrieve the next page of results, set the next request's "pageToken" to the value of this field. The page token is only valid for a limited amount of time and should not be persisted.
+    "items": [ # The files returned in this response.
+      { # Represents a File resource. A file contains the metadata for a report run. It shows the status of the run and holds the URLs to the generated report data if the run is finished and the status is "REPORT_AVAILABLE".
+        "status": "A String", # The status of the report file.
+        "kind": "dfareporting#file", # The kind of resource this is, in this case dfareporting#file.
+        "format": "A String", # The output format of the report. Only available once the file is available.
+        "dateRange": { # Represents a date range. # The date range for which the file has report data. The date range will always be the absolute date range for which the report is run.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+        },
+        "fileName": "A String", # The filename of the file.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "reportId": "A String", # The ID of the report this file was generated from.
+        "urls": { # The URLs where the completed report file can be downloaded.
+          "browserUrl": "A String", # The URL for downloading the report data through a browser.
+          "apiUrl": "A String", # The URL for downloading the report data through the API.
+        },
+        "lastModifiedTime": "A String", # The timestamp in milliseconds since epoch when this file was last modified.
+        "id": "A String", # The unique ID of this report file.
+      },
+    ],
+    "kind": "dfareporting#fileList", # The kind of list this is, in this case dfareporting#fileList.
+    "etag": "A String", # The eTag of this response for caching purposes.
+  }
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    
+
+ + \ No newline at end of file diff --git a/docs/dyn/dfareporting_v2_5.floodlightActivities.html b/docs/dyn/dfareporting_v2_5.floodlightActivities.html new file mode 100644 index 00000000000..c300f81ea58 --- /dev/null +++ b/docs/dyn/dfareporting_v2_5.floodlightActivities.html @@ -0,0 +1,1045 @@ + + + +

DCM/DFA Reporting And Trafficking API . floodlightActivities

+

Instance Methods

+

+ delete(profileId, id)

+

Deletes an existing floodlight activity.

+

+ generatetag(profileId, floodlightActivityId=None)

+

Generates a tag for a floodlight activity.

+

+ get(profileId, id)

+

Gets one floodlight activity by ID.

+

+ insert(profileId, body)

+

Inserts a new floodlight activity.

+

+ list(profileId, floodlightActivityGroupName=None, advertiserId=None, tagString=None, floodlightActivityGroupTagString=None, floodlightActivityGroupIds=None, pageToken=None, sortOrder=None, maxResults=None, searchString=None, sortField=None, floodlightConfigurationId=None, ids=None, floodlightActivityGroupType=None)

+

Retrieves a list of floodlight activities, possibly filtered.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

+ patch(profileId, id, body)

+

Updates an existing floodlight activity. This method supports patch semantics.

+

+ update(profileId, body)

+

Updates an existing floodlight activity.

+

Method Details

+
+ delete(profileId, id) +
Deletes an existing floodlight activity.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Floodlight activity ID. (required)
+
+
+ +
+ generatetag(profileId, floodlightActivityId=None) +
Generates a tag for a floodlight activity.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  floodlightActivityId: string, Floodlight activity ID for which we want to generate a tag.
+
+Returns:
+  An object of the form:
+
+    { # Floodlight Activity GenerateTag Response
+    "kind": "dfareporting#floodlightActivitiesGenerateTagResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#floodlightActivitiesGenerateTagResponse".
+    "floodlightActivityTag": "A String", # Generated tag for this floodlight activity.
+  }
+
+ +
+ get(profileId, id) +
Gets one floodlight activity by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Floodlight activity ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a Floodlight activity.
+      "tagString": "A String", # Value of the cat= paramter in the floodlight tag, which the ad servers use to identify the activity. This is optional: if empty, a new tag string will be generated for you. This string must be 1 to 8 characters long, with valid characters being [a-z][A-Z][0-9][-][ _ ]. This tag string must also be unique among activities of the same activity group. This field is read-only after insertion.
+      "secure": True or False, # Whether this tag should use SSL.
+      "floodlightActivityGroupName": "A String", # Name of the associated floodlight activity group. This is a read-only field.
+      "imageTagEnabled": True or False, # Whether the image tag is enabled for this activity.
+      "advertiserId": "A String", # Advertiser ID of this floodlight activity. If this field is left blank, the value will be copied over either from the activity group's advertiser or the existing activity's advertiser.
+      "tagFormat": "A String", # Tag format type for the floodlight activity. If left blank, the tag format will default to HTML.
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "floodlightActivityGroupId": "A String", # Floodlight activity group ID of this floodlight activity. This is a required field.
+      "id": "A String", # ID of this floodlight activity. This is a read-only, auto-generated field.
+      "floodlightActivityGroupTagString": "A String", # Tag string of the associated floodlight activity group. This is a read-only field.
+      "publisherTags": [ # Publisher dynamic floodlight tags.
+        { # Publisher Dynamic Tag
+          "viewThrough": True or False, # Whether this tag is applicable only for view-throughs.
+          "clickThrough": True or False, # Whether this tag is applicable only for click-throughs.
+          "siteId": "A String", # Site ID of this dynamic tag.
+          "dynamicTag": { # Dynamic Tag # Dynamic floodlight tag.
+            "tag": "A String", # Tag code.
+            "id": "A String", # ID of this dynamic tag. This is a read-only, auto-generated field.
+            "name": "A String", # Name of this tag.
+          },
+          "directorySiteId": "A String", # Directory site ID of this dynamic tag. This is a write-only field that can be used as an alternative to the siteId field. When this resource is retrieved, only the siteId field will be populated.
+          "siteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the site. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        },
+      ],
+      "sslCompliant": True or False, # Whether the floodlight activity is SSL-compliant. This is a read-only field, its value detected by the system from the floodlight tags.
+      "floodlightConfigurationIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight configuration. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this floodlight activity. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "hidden": True or False, # Whether this activity is archived.
+      "accountId": "A String", # Account ID of this floodlight activity. This is a read-only field that can be left blank.
+      "sslRequired": True or False, # Whether this floodlight activity must be SSL-compliant.
+      "expectedUrl": "A String", # URL where this tag will be deployed. If specified, must be less than 256 characters long.
+      "cacheBustingType": "A String", # Code type used for cache busting in the generated tag.
+      "kind": "dfareporting#floodlightActivity", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#floodlightActivity".
+      "subaccountId": "A String", # Subaccount ID of this floodlight activity. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this floodlight activity. This is a required field. Must be less than 129 characters long and cannot contain quotes.
+      "notes": "A String", # General notes or implementation instructions for the tag.
+      "floodlightConfigurationId": "A String", # Floodlight configuration ID of this floodlight activity. If this field is left blank, the value will be copied over either from the activity group's floodlight configuration or from the existing activity's floodlight configuration.
+      "userDefinedVariableTypes": [ # List of the user-defined variables used by this conversion tag. These map to the "u[1-20]=" in the tags. Each of these can have a user defined type.
+          # Acceptable values are:
+          # - "U1"
+          # - "U2"
+          # - "U3"
+          # - "U4"
+          # - "U5"
+          # - "U6"
+          # - "U7"
+          # - "U8"
+          # - "U9"
+          # - "U10"
+          # - "U11"
+          # - "U12"
+          # - "U13"
+          # - "U14"
+          # - "U15"
+          # - "U16"
+          # - "U17"
+          # - "U18"
+          # - "U19"
+          # - "U20"
+        "A String",
+      ],
+      "defaultTags": [ # Dynamic floodlight tags.
+        { # Dynamic Tag
+          "tag": "A String", # Tag code.
+          "id": "A String", # ID of this dynamic tag. This is a read-only, auto-generated field.
+          "name": "A String", # Name of this tag.
+        },
+      ],
+      "countingMethod": "A String", # Counting method for conversions for this floodlight activity. This is a required field.
+      "floodlightActivityGroupType": "A String", # Type of the associated floodlight activity group. This is a read-only field.
+    }
+
+ +
+ insert(profileId, body) +
Inserts a new floodlight activity.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a Floodlight activity.
+    "tagString": "A String", # Value of the cat= paramter in the floodlight tag, which the ad servers use to identify the activity. This is optional: if empty, a new tag string will be generated for you. This string must be 1 to 8 characters long, with valid characters being [a-z][A-Z][0-9][-][ _ ]. This tag string must also be unique among activities of the same activity group. This field is read-only after insertion.
+    "secure": True or False, # Whether this tag should use SSL.
+    "floodlightActivityGroupName": "A String", # Name of the associated floodlight activity group. This is a read-only field.
+    "imageTagEnabled": True or False, # Whether the image tag is enabled for this activity.
+    "advertiserId": "A String", # Advertiser ID of this floodlight activity. If this field is left blank, the value will be copied over either from the activity group's advertiser or the existing activity's advertiser.
+    "tagFormat": "A String", # Tag format type for the floodlight activity. If left blank, the tag format will default to HTML.
+    "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "floodlightActivityGroupId": "A String", # Floodlight activity group ID of this floodlight activity. This is a required field.
+    "id": "A String", # ID of this floodlight activity. This is a read-only, auto-generated field.
+    "floodlightActivityGroupTagString": "A String", # Tag string of the associated floodlight activity group. This is a read-only field.
+    "publisherTags": [ # Publisher dynamic floodlight tags.
+      { # Publisher Dynamic Tag
+        "viewThrough": True or False, # Whether this tag is applicable only for view-throughs.
+        "clickThrough": True or False, # Whether this tag is applicable only for click-throughs.
+        "siteId": "A String", # Site ID of this dynamic tag.
+        "dynamicTag": { # Dynamic Tag # Dynamic floodlight tag.
+          "tag": "A String", # Tag code.
+          "id": "A String", # ID of this dynamic tag. This is a read-only, auto-generated field.
+          "name": "A String", # Name of this tag.
+        },
+        "directorySiteId": "A String", # Directory site ID of this dynamic tag. This is a write-only field that can be used as an alternative to the siteId field. When this resource is retrieved, only the siteId field will be populated.
+        "siteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the site. This is a read-only, auto-generated field.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      },
+    ],
+    "sslCompliant": True or False, # Whether the floodlight activity is SSL-compliant. This is a read-only field, its value detected by the system from the floodlight tags.
+    "floodlightConfigurationIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight configuration. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this floodlight activity. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "hidden": True or False, # Whether this activity is archived.
+    "accountId": "A String", # Account ID of this floodlight activity. This is a read-only field that can be left blank.
+    "sslRequired": True or False, # Whether this floodlight activity must be SSL-compliant.
+    "expectedUrl": "A String", # URL where this tag will be deployed. If specified, must be less than 256 characters long.
+    "cacheBustingType": "A String", # Code type used for cache busting in the generated tag.
+    "kind": "dfareporting#floodlightActivity", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#floodlightActivity".
+    "subaccountId": "A String", # Subaccount ID of this floodlight activity. This is a read-only field that can be left blank.
+    "name": "A String", # Name of this floodlight activity. This is a required field. Must be less than 129 characters long and cannot contain quotes.
+    "notes": "A String", # General notes or implementation instructions for the tag.
+    "floodlightConfigurationId": "A String", # Floodlight configuration ID of this floodlight activity. If this field is left blank, the value will be copied over either from the activity group's floodlight configuration or from the existing activity's floodlight configuration.
+    "userDefinedVariableTypes": [ # List of the user-defined variables used by this conversion tag. These map to the "u[1-20]=" in the tags. Each of these can have a user defined type.
+        # Acceptable values are:
+        # - "U1"
+        # - "U2"
+        # - "U3"
+        # - "U4"
+        # - "U5"
+        # - "U6"
+        # - "U7"
+        # - "U8"
+        # - "U9"
+        # - "U10"
+        # - "U11"
+        # - "U12"
+        # - "U13"
+        # - "U14"
+        # - "U15"
+        # - "U16"
+        # - "U17"
+        # - "U18"
+        # - "U19"
+        # - "U20"
+      "A String",
+    ],
+    "defaultTags": [ # Dynamic floodlight tags.
+      { # Dynamic Tag
+        "tag": "A String", # Tag code.
+        "id": "A String", # ID of this dynamic tag. This is a read-only, auto-generated field.
+        "name": "A String", # Name of this tag.
+      },
+    ],
+    "countingMethod": "A String", # Counting method for conversions for this floodlight activity. This is a required field.
+    "floodlightActivityGroupType": "A String", # Type of the associated floodlight activity group. This is a read-only field.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a Floodlight activity.
+      "tagString": "A String", # Value of the cat= paramter in the floodlight tag, which the ad servers use to identify the activity. This is optional: if empty, a new tag string will be generated for you. This string must be 1 to 8 characters long, with valid characters being [a-z][A-Z][0-9][-][ _ ]. This tag string must also be unique among activities of the same activity group. This field is read-only after insertion.
+      "secure": True or False, # Whether this tag should use SSL.
+      "floodlightActivityGroupName": "A String", # Name of the associated floodlight activity group. This is a read-only field.
+      "imageTagEnabled": True or False, # Whether the image tag is enabled for this activity.
+      "advertiserId": "A String", # Advertiser ID of this floodlight activity. If this field is left blank, the value will be copied over either from the activity group's advertiser or the existing activity's advertiser.
+      "tagFormat": "A String", # Tag format type for the floodlight activity. If left blank, the tag format will default to HTML.
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "floodlightActivityGroupId": "A String", # Floodlight activity group ID of this floodlight activity. This is a required field.
+      "id": "A String", # ID of this floodlight activity. This is a read-only, auto-generated field.
+      "floodlightActivityGroupTagString": "A String", # Tag string of the associated floodlight activity group. This is a read-only field.
+      "publisherTags": [ # Publisher dynamic floodlight tags.
+        { # Publisher Dynamic Tag
+          "viewThrough": True or False, # Whether this tag is applicable only for view-throughs.
+          "clickThrough": True or False, # Whether this tag is applicable only for click-throughs.
+          "siteId": "A String", # Site ID of this dynamic tag.
+          "dynamicTag": { # Dynamic Tag # Dynamic floodlight tag.
+            "tag": "A String", # Tag code.
+            "id": "A String", # ID of this dynamic tag. This is a read-only, auto-generated field.
+            "name": "A String", # Name of this tag.
+          },
+          "directorySiteId": "A String", # Directory site ID of this dynamic tag. This is a write-only field that can be used as an alternative to the siteId field. When this resource is retrieved, only the siteId field will be populated.
+          "siteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the site. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        },
+      ],
+      "sslCompliant": True or False, # Whether the floodlight activity is SSL-compliant. This is a read-only field, its value detected by the system from the floodlight tags.
+      "floodlightConfigurationIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight configuration. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this floodlight activity. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "hidden": True or False, # Whether this activity is archived.
+      "accountId": "A String", # Account ID of this floodlight activity. This is a read-only field that can be left blank.
+      "sslRequired": True or False, # Whether this floodlight activity must be SSL-compliant.
+      "expectedUrl": "A String", # URL where this tag will be deployed. If specified, must be less than 256 characters long.
+      "cacheBustingType": "A String", # Code type used for cache busting in the generated tag.
+      "kind": "dfareporting#floodlightActivity", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#floodlightActivity".
+      "subaccountId": "A String", # Subaccount ID of this floodlight activity. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this floodlight activity. This is a required field. Must be less than 129 characters long and cannot contain quotes.
+      "notes": "A String", # General notes or implementation instructions for the tag.
+      "floodlightConfigurationId": "A String", # Floodlight configuration ID of this floodlight activity. If this field is left blank, the value will be copied over either from the activity group's floodlight configuration or from the existing activity's floodlight configuration.
+      "userDefinedVariableTypes": [ # List of the user-defined variables used by this conversion tag. These map to the "u[1-20]=" in the tags. Each of these can have a user defined type.
+          # Acceptable values are:
+          # - "U1"
+          # - "U2"
+          # - "U3"
+          # - "U4"
+          # - "U5"
+          # - "U6"
+          # - "U7"
+          # - "U8"
+          # - "U9"
+          # - "U10"
+          # - "U11"
+          # - "U12"
+          # - "U13"
+          # - "U14"
+          # - "U15"
+          # - "U16"
+          # - "U17"
+          # - "U18"
+          # - "U19"
+          # - "U20"
+        "A String",
+      ],
+      "defaultTags": [ # Dynamic floodlight tags.
+        { # Dynamic Tag
+          "tag": "A String", # Tag code.
+          "id": "A String", # ID of this dynamic tag. This is a read-only, auto-generated field.
+          "name": "A String", # Name of this tag.
+        },
+      ],
+      "countingMethod": "A String", # Counting method for conversions for this floodlight activity. This is a required field.
+      "floodlightActivityGroupType": "A String", # Type of the associated floodlight activity group. This is a read-only field.
+    }
+
+ +
+ list(profileId, floodlightActivityGroupName=None, advertiserId=None, tagString=None, floodlightActivityGroupTagString=None, floodlightActivityGroupIds=None, pageToken=None, sortOrder=None, maxResults=None, searchString=None, sortField=None, floodlightConfigurationId=None, ids=None, floodlightActivityGroupType=None) +
Retrieves a list of floodlight activities, possibly filtered.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  floodlightActivityGroupName: string, Select only floodlight activities with the specified floodlight activity group name.
+  advertiserId: string, Select only floodlight activities for the specified advertiser ID. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result.
+  tagString: string, Select only floodlight activities with the specified tag string.
+  floodlightActivityGroupTagString: string, Select only floodlight activities with the specified floodlight activity group tag string.
+  floodlightActivityGroupIds: string, Select only floodlight activities with the specified floodlight activity group IDs. (repeated)
+  pageToken: string, Value of the nextPageToken from the previous result page.
+  sortOrder: string, Order of sorted results, default is ASCENDING.
+    Allowed values
+      ASCENDING - 
+      DESCENDING - 
+  maxResults: integer, Maximum number of results to return.
+  searchString: string, Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "floodlightactivity*2015" will return objects with names like "floodlightactivity June 2015", "floodlightactivity April 2015", or simply "floodlightactivity 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "floodlightactivity" will match objects with name "my floodlightactivity activity", "floodlightactivity 2015", or simply "floodlightactivity".
+  sortField: string, Field by which to sort the list.
+    Allowed values
+      ID - 
+      NAME - 
+  floodlightConfigurationId: string, Select only floodlight activities for the specified floodlight configuration ID. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result.
+  ids: string, Select only floodlight activities with the specified IDs. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result. (repeated)
+  floodlightActivityGroupType: string, Select only floodlight activities with the specified floodlight activity group type.
+    Allowed values
+      COUNTER - 
+      SALE - 
+
+Returns:
+  An object of the form:
+
+    { # Floodlight Activity List Response
+    "nextPageToken": "A String", # Pagination token to be used for the next list operation.
+    "kind": "dfareporting#floodlightActivitiesListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#floodlightActivitiesListResponse".
+    "floodlightActivities": [ # Floodlight activity collection.
+      { # Contains properties of a Floodlight activity.
+          "tagString": "A String", # Value of the cat= paramter in the floodlight tag, which the ad servers use to identify the activity. This is optional: if empty, a new tag string will be generated for you. This string must be 1 to 8 characters long, with valid characters being [a-z][A-Z][0-9][-][ _ ]. This tag string must also be unique among activities of the same activity group. This field is read-only after insertion.
+          "secure": True or False, # Whether this tag should use SSL.
+          "floodlightActivityGroupName": "A String", # Name of the associated floodlight activity group. This is a read-only field.
+          "imageTagEnabled": True or False, # Whether the image tag is enabled for this activity.
+          "advertiserId": "A String", # Advertiser ID of this floodlight activity. If this field is left blank, the value will be copied over either from the activity group's advertiser or the existing activity's advertiser.
+          "tagFormat": "A String", # Tag format type for the floodlight activity. If left blank, the tag format will default to HTML.
+          "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "floodlightActivityGroupId": "A String", # Floodlight activity group ID of this floodlight activity. This is a required field.
+          "id": "A String", # ID of this floodlight activity. This is a read-only, auto-generated field.
+          "floodlightActivityGroupTagString": "A String", # Tag string of the associated floodlight activity group. This is a read-only field.
+          "publisherTags": [ # Publisher dynamic floodlight tags.
+            { # Publisher Dynamic Tag
+              "viewThrough": True or False, # Whether this tag is applicable only for view-throughs.
+              "clickThrough": True or False, # Whether this tag is applicable only for click-throughs.
+              "siteId": "A String", # Site ID of this dynamic tag.
+              "dynamicTag": { # Dynamic Tag # Dynamic floodlight tag.
+                "tag": "A String", # Tag code.
+                "id": "A String", # ID of this dynamic tag. This is a read-only, auto-generated field.
+                "name": "A String", # Name of this tag.
+              },
+              "directorySiteId": "A String", # Directory site ID of this dynamic tag. This is a write-only field that can be used as an alternative to the siteId field. When this resource is retrieved, only the siteId field will be populated.
+              "siteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the site. This is a read-only, auto-generated field.
+                "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+                "value": "A String", # The value of the dimension.
+                "dimensionName": "A String", # The name of the dimension.
+                "etag": "A String", # The eTag of this response for caching purposes.
+                "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+                "id": "A String", # The ID associated with the value if available.
+              },
+            },
+          ],
+          "sslCompliant": True or False, # Whether the floodlight activity is SSL-compliant. This is a read-only field, its value detected by the system from the floodlight tags.
+          "floodlightConfigurationIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight configuration. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this floodlight activity. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "hidden": True or False, # Whether this activity is archived.
+          "accountId": "A String", # Account ID of this floodlight activity. This is a read-only field that can be left blank.
+          "sslRequired": True or False, # Whether this floodlight activity must be SSL-compliant.
+          "expectedUrl": "A String", # URL where this tag will be deployed. If specified, must be less than 256 characters long.
+          "cacheBustingType": "A String", # Code type used for cache busting in the generated tag.
+          "kind": "dfareporting#floodlightActivity", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#floodlightActivity".
+          "subaccountId": "A String", # Subaccount ID of this floodlight activity. This is a read-only field that can be left blank.
+          "name": "A String", # Name of this floodlight activity. This is a required field. Must be less than 129 characters long and cannot contain quotes.
+          "notes": "A String", # General notes or implementation instructions for the tag.
+          "floodlightConfigurationId": "A String", # Floodlight configuration ID of this floodlight activity. If this field is left blank, the value will be copied over either from the activity group's floodlight configuration or from the existing activity's floodlight configuration.
+          "userDefinedVariableTypes": [ # List of the user-defined variables used by this conversion tag. These map to the "u[1-20]=" in the tags. Each of these can have a user defined type.
+              # Acceptable values are:
+              # - "U1"
+              # - "U2"
+              # - "U3"
+              # - "U4"
+              # - "U5"
+              # - "U6"
+              # - "U7"
+              # - "U8"
+              # - "U9"
+              # - "U10"
+              # - "U11"
+              # - "U12"
+              # - "U13"
+              # - "U14"
+              # - "U15"
+              # - "U16"
+              # - "U17"
+              # - "U18"
+              # - "U19"
+              # - "U20"
+            "A String",
+          ],
+          "defaultTags": [ # Dynamic floodlight tags.
+            { # Dynamic Tag
+              "tag": "A String", # Tag code.
+              "id": "A String", # ID of this dynamic tag. This is a read-only, auto-generated field.
+              "name": "A String", # Name of this tag.
+            },
+          ],
+          "countingMethod": "A String", # Counting method for conversions for this floodlight activity. This is a required field.
+          "floodlightActivityGroupType": "A String", # Type of the associated floodlight activity group. This is a read-only field.
+        },
+    ],
+  }
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    
+
+ +
+ patch(profileId, id, body) +
Updates an existing floodlight activity. This method supports patch semantics.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Floodlight activity ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a Floodlight activity.
+    "tagString": "A String", # Value of the cat= paramter in the floodlight tag, which the ad servers use to identify the activity. This is optional: if empty, a new tag string will be generated for you. This string must be 1 to 8 characters long, with valid characters being [a-z][A-Z][0-9][-][ _ ]. This tag string must also be unique among activities of the same activity group. This field is read-only after insertion.
+    "secure": True or False, # Whether this tag should use SSL.
+    "floodlightActivityGroupName": "A String", # Name of the associated floodlight activity group. This is a read-only field.
+    "imageTagEnabled": True or False, # Whether the image tag is enabled for this activity.
+    "advertiserId": "A String", # Advertiser ID of this floodlight activity. If this field is left blank, the value will be copied over either from the activity group's advertiser or the existing activity's advertiser.
+    "tagFormat": "A String", # Tag format type for the floodlight activity. If left blank, the tag format will default to HTML.
+    "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "floodlightActivityGroupId": "A String", # Floodlight activity group ID of this floodlight activity. This is a required field.
+    "id": "A String", # ID of this floodlight activity. This is a read-only, auto-generated field.
+    "floodlightActivityGroupTagString": "A String", # Tag string of the associated floodlight activity group. This is a read-only field.
+    "publisherTags": [ # Publisher dynamic floodlight tags.
+      { # Publisher Dynamic Tag
+        "viewThrough": True or False, # Whether this tag is applicable only for view-throughs.
+        "clickThrough": True or False, # Whether this tag is applicable only for click-throughs.
+        "siteId": "A String", # Site ID of this dynamic tag.
+        "dynamicTag": { # Dynamic Tag # Dynamic floodlight tag.
+          "tag": "A String", # Tag code.
+          "id": "A String", # ID of this dynamic tag. This is a read-only, auto-generated field.
+          "name": "A String", # Name of this tag.
+        },
+        "directorySiteId": "A String", # Directory site ID of this dynamic tag. This is a write-only field that can be used as an alternative to the siteId field. When this resource is retrieved, only the siteId field will be populated.
+        "siteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the site. This is a read-only, auto-generated field.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      },
+    ],
+    "sslCompliant": True or False, # Whether the floodlight activity is SSL-compliant. This is a read-only field, its value detected by the system from the floodlight tags.
+    "floodlightConfigurationIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight configuration. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this floodlight activity. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "hidden": True or False, # Whether this activity is archived.
+    "accountId": "A String", # Account ID of this floodlight activity. This is a read-only field that can be left blank.
+    "sslRequired": True or False, # Whether this floodlight activity must be SSL-compliant.
+    "expectedUrl": "A String", # URL where this tag will be deployed. If specified, must be less than 256 characters long.
+    "cacheBustingType": "A String", # Code type used for cache busting in the generated tag.
+    "kind": "dfareporting#floodlightActivity", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#floodlightActivity".
+    "subaccountId": "A String", # Subaccount ID of this floodlight activity. This is a read-only field that can be left blank.
+    "name": "A String", # Name of this floodlight activity. This is a required field. Must be less than 129 characters long and cannot contain quotes.
+    "notes": "A String", # General notes or implementation instructions for the tag.
+    "floodlightConfigurationId": "A String", # Floodlight configuration ID of this floodlight activity. If this field is left blank, the value will be copied over either from the activity group's floodlight configuration or from the existing activity's floodlight configuration.
+    "userDefinedVariableTypes": [ # List of the user-defined variables used by this conversion tag. These map to the "u[1-20]=" in the tags. Each of these can have a user defined type.
+        # Acceptable values are:
+        # - "U1"
+        # - "U2"
+        # - "U3"
+        # - "U4"
+        # - "U5"
+        # - "U6"
+        # - "U7"
+        # - "U8"
+        # - "U9"
+        # - "U10"
+        # - "U11"
+        # - "U12"
+        # - "U13"
+        # - "U14"
+        # - "U15"
+        # - "U16"
+        # - "U17"
+        # - "U18"
+        # - "U19"
+        # - "U20"
+      "A String",
+    ],
+    "defaultTags": [ # Dynamic floodlight tags.
+      { # Dynamic Tag
+        "tag": "A String", # Tag code.
+        "id": "A String", # ID of this dynamic tag. This is a read-only, auto-generated field.
+        "name": "A String", # Name of this tag.
+      },
+    ],
+    "countingMethod": "A String", # Counting method for conversions for this floodlight activity. This is a required field.
+    "floodlightActivityGroupType": "A String", # Type of the associated floodlight activity group. This is a read-only field.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a Floodlight activity.
+      "tagString": "A String", # Value of the cat= paramter in the floodlight tag, which the ad servers use to identify the activity. This is optional: if empty, a new tag string will be generated for you. This string must be 1 to 8 characters long, with valid characters being [a-z][A-Z][0-9][-][ _ ]. This tag string must also be unique among activities of the same activity group. This field is read-only after insertion.
+      "secure": True or False, # Whether this tag should use SSL.
+      "floodlightActivityGroupName": "A String", # Name of the associated floodlight activity group. This is a read-only field.
+      "imageTagEnabled": True or False, # Whether the image tag is enabled for this activity.
+      "advertiserId": "A String", # Advertiser ID of this floodlight activity. If this field is left blank, the value will be copied over either from the activity group's advertiser or the existing activity's advertiser.
+      "tagFormat": "A String", # Tag format type for the floodlight activity. If left blank, the tag format will default to HTML.
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "floodlightActivityGroupId": "A String", # Floodlight activity group ID of this floodlight activity. This is a required field.
+      "id": "A String", # ID of this floodlight activity. This is a read-only, auto-generated field.
+      "floodlightActivityGroupTagString": "A String", # Tag string of the associated floodlight activity group. This is a read-only field.
+      "publisherTags": [ # Publisher dynamic floodlight tags.
+        { # Publisher Dynamic Tag
+          "viewThrough": True or False, # Whether this tag is applicable only for view-throughs.
+          "clickThrough": True or False, # Whether this tag is applicable only for click-throughs.
+          "siteId": "A String", # Site ID of this dynamic tag.
+          "dynamicTag": { # Dynamic Tag # Dynamic floodlight tag.
+            "tag": "A String", # Tag code.
+            "id": "A String", # ID of this dynamic tag. This is a read-only, auto-generated field.
+            "name": "A String", # Name of this tag.
+          },
+          "directorySiteId": "A String", # Directory site ID of this dynamic tag. This is a write-only field that can be used as an alternative to the siteId field. When this resource is retrieved, only the siteId field will be populated.
+          "siteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the site. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        },
+      ],
+      "sslCompliant": True or False, # Whether the floodlight activity is SSL-compliant. This is a read-only field, its value detected by the system from the floodlight tags.
+      "floodlightConfigurationIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight configuration. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this floodlight activity. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "hidden": True or False, # Whether this activity is archived.
+      "accountId": "A String", # Account ID of this floodlight activity. This is a read-only field that can be left blank.
+      "sslRequired": True or False, # Whether this floodlight activity must be SSL-compliant.
+      "expectedUrl": "A String", # URL where this tag will be deployed. If specified, must be less than 256 characters long.
+      "cacheBustingType": "A String", # Code type used for cache busting in the generated tag.
+      "kind": "dfareporting#floodlightActivity", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#floodlightActivity".
+      "subaccountId": "A String", # Subaccount ID of this floodlight activity. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this floodlight activity. This is a required field. Must be less than 129 characters long and cannot contain quotes.
+      "notes": "A String", # General notes or implementation instructions for the tag.
+      "floodlightConfigurationId": "A String", # Floodlight configuration ID of this floodlight activity. If this field is left blank, the value will be copied over either from the activity group's floodlight configuration or from the existing activity's floodlight configuration.
+      "userDefinedVariableTypes": [ # List of the user-defined variables used by this conversion tag. These map to the "u[1-20]=" in the tags. Each of these can have a user defined type.
+          # Acceptable values are:
+          # - "U1"
+          # - "U2"
+          # - "U3"
+          # - "U4"
+          # - "U5"
+          # - "U6"
+          # - "U7"
+          # - "U8"
+          # - "U9"
+          # - "U10"
+          # - "U11"
+          # - "U12"
+          # - "U13"
+          # - "U14"
+          # - "U15"
+          # - "U16"
+          # - "U17"
+          # - "U18"
+          # - "U19"
+          # - "U20"
+        "A String",
+      ],
+      "defaultTags": [ # Dynamic floodlight tags.
+        { # Dynamic Tag
+          "tag": "A String", # Tag code.
+          "id": "A String", # ID of this dynamic tag. This is a read-only, auto-generated field.
+          "name": "A String", # Name of this tag.
+        },
+      ],
+      "countingMethod": "A String", # Counting method for conversions for this floodlight activity. This is a required field.
+      "floodlightActivityGroupType": "A String", # Type of the associated floodlight activity group. This is a read-only field.
+    }
+
+ +
+ update(profileId, body) +
Updates an existing floodlight activity.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a Floodlight activity.
+    "tagString": "A String", # Value of the cat= paramter in the floodlight tag, which the ad servers use to identify the activity. This is optional: if empty, a new tag string will be generated for you. This string must be 1 to 8 characters long, with valid characters being [a-z][A-Z][0-9][-][ _ ]. This tag string must also be unique among activities of the same activity group. This field is read-only after insertion.
+    "secure": True or False, # Whether this tag should use SSL.
+    "floodlightActivityGroupName": "A String", # Name of the associated floodlight activity group. This is a read-only field.
+    "imageTagEnabled": True or False, # Whether the image tag is enabled for this activity.
+    "advertiserId": "A String", # Advertiser ID of this floodlight activity. If this field is left blank, the value will be copied over either from the activity group's advertiser or the existing activity's advertiser.
+    "tagFormat": "A String", # Tag format type for the floodlight activity. If left blank, the tag format will default to HTML.
+    "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "floodlightActivityGroupId": "A String", # Floodlight activity group ID of this floodlight activity. This is a required field.
+    "id": "A String", # ID of this floodlight activity. This is a read-only, auto-generated field.
+    "floodlightActivityGroupTagString": "A String", # Tag string of the associated floodlight activity group. This is a read-only field.
+    "publisherTags": [ # Publisher dynamic floodlight tags.
+      { # Publisher Dynamic Tag
+        "viewThrough": True or False, # Whether this tag is applicable only for view-throughs.
+        "clickThrough": True or False, # Whether this tag is applicable only for click-throughs.
+        "siteId": "A String", # Site ID of this dynamic tag.
+        "dynamicTag": { # Dynamic Tag # Dynamic floodlight tag.
+          "tag": "A String", # Tag code.
+          "id": "A String", # ID of this dynamic tag. This is a read-only, auto-generated field.
+          "name": "A String", # Name of this tag.
+        },
+        "directorySiteId": "A String", # Directory site ID of this dynamic tag. This is a write-only field that can be used as an alternative to the siteId field. When this resource is retrieved, only the siteId field will be populated.
+        "siteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the site. This is a read-only, auto-generated field.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      },
+    ],
+    "sslCompliant": True or False, # Whether the floodlight activity is SSL-compliant. This is a read-only field, its value detected by the system from the floodlight tags.
+    "floodlightConfigurationIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight configuration. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this floodlight activity. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "hidden": True or False, # Whether this activity is archived.
+    "accountId": "A String", # Account ID of this floodlight activity. This is a read-only field that can be left blank.
+    "sslRequired": True or False, # Whether this floodlight activity must be SSL-compliant.
+    "expectedUrl": "A String", # URL where this tag will be deployed. If specified, must be less than 256 characters long.
+    "cacheBustingType": "A String", # Code type used for cache busting in the generated tag.
+    "kind": "dfareporting#floodlightActivity", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#floodlightActivity".
+    "subaccountId": "A String", # Subaccount ID of this floodlight activity. This is a read-only field that can be left blank.
+    "name": "A String", # Name of this floodlight activity. This is a required field. Must be less than 129 characters long and cannot contain quotes.
+    "notes": "A String", # General notes or implementation instructions for the tag.
+    "floodlightConfigurationId": "A String", # Floodlight configuration ID of this floodlight activity. If this field is left blank, the value will be copied over either from the activity group's floodlight configuration or from the existing activity's floodlight configuration.
+    "userDefinedVariableTypes": [ # List of the user-defined variables used by this conversion tag. These map to the "u[1-20]=" in the tags. Each of these can have a user defined type.
+        # Acceptable values are:
+        # - "U1"
+        # - "U2"
+        # - "U3"
+        # - "U4"
+        # - "U5"
+        # - "U6"
+        # - "U7"
+        # - "U8"
+        # - "U9"
+        # - "U10"
+        # - "U11"
+        # - "U12"
+        # - "U13"
+        # - "U14"
+        # - "U15"
+        # - "U16"
+        # - "U17"
+        # - "U18"
+        # - "U19"
+        # - "U20"
+      "A String",
+    ],
+    "defaultTags": [ # Dynamic floodlight tags.
+      { # Dynamic Tag
+        "tag": "A String", # Tag code.
+        "id": "A String", # ID of this dynamic tag. This is a read-only, auto-generated field.
+        "name": "A String", # Name of this tag.
+      },
+    ],
+    "countingMethod": "A String", # Counting method for conversions for this floodlight activity. This is a required field.
+    "floodlightActivityGroupType": "A String", # Type of the associated floodlight activity group. This is a read-only field.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a Floodlight activity.
+      "tagString": "A String", # Value of the cat= paramter in the floodlight tag, which the ad servers use to identify the activity. This is optional: if empty, a new tag string will be generated for you. This string must be 1 to 8 characters long, with valid characters being [a-z][A-Z][0-9][-][ _ ]. This tag string must also be unique among activities of the same activity group. This field is read-only after insertion.
+      "secure": True or False, # Whether this tag should use SSL.
+      "floodlightActivityGroupName": "A String", # Name of the associated floodlight activity group. This is a read-only field.
+      "imageTagEnabled": True or False, # Whether the image tag is enabled for this activity.
+      "advertiserId": "A String", # Advertiser ID of this floodlight activity. If this field is left blank, the value will be copied over either from the activity group's advertiser or the existing activity's advertiser.
+      "tagFormat": "A String", # Tag format type for the floodlight activity. If left blank, the tag format will default to HTML.
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "floodlightActivityGroupId": "A String", # Floodlight activity group ID of this floodlight activity. This is a required field.
+      "id": "A String", # ID of this floodlight activity. This is a read-only, auto-generated field.
+      "floodlightActivityGroupTagString": "A String", # Tag string of the associated floodlight activity group. This is a read-only field.
+      "publisherTags": [ # Publisher dynamic floodlight tags.
+        { # Publisher Dynamic Tag
+          "viewThrough": True or False, # Whether this tag is applicable only for view-throughs.
+          "clickThrough": True or False, # Whether this tag is applicable only for click-throughs.
+          "siteId": "A String", # Site ID of this dynamic tag.
+          "dynamicTag": { # Dynamic Tag # Dynamic floodlight tag.
+            "tag": "A String", # Tag code.
+            "id": "A String", # ID of this dynamic tag. This is a read-only, auto-generated field.
+            "name": "A String", # Name of this tag.
+          },
+          "directorySiteId": "A String", # Directory site ID of this dynamic tag. This is a write-only field that can be used as an alternative to the siteId field. When this resource is retrieved, only the siteId field will be populated.
+          "siteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the site. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        },
+      ],
+      "sslCompliant": True or False, # Whether the floodlight activity is SSL-compliant. This is a read-only field, its value detected by the system from the floodlight tags.
+      "floodlightConfigurationIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight configuration. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this floodlight activity. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "hidden": True or False, # Whether this activity is archived.
+      "accountId": "A String", # Account ID of this floodlight activity. This is a read-only field that can be left blank.
+      "sslRequired": True or False, # Whether this floodlight activity must be SSL-compliant.
+      "expectedUrl": "A String", # URL where this tag will be deployed. If specified, must be less than 256 characters long.
+      "cacheBustingType": "A String", # Code type used for cache busting in the generated tag.
+      "kind": "dfareporting#floodlightActivity", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#floodlightActivity".
+      "subaccountId": "A String", # Subaccount ID of this floodlight activity. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this floodlight activity. This is a required field. Must be less than 129 characters long and cannot contain quotes.
+      "notes": "A String", # General notes or implementation instructions for the tag.
+      "floodlightConfigurationId": "A String", # Floodlight configuration ID of this floodlight activity. If this field is left blank, the value will be copied over either from the activity group's floodlight configuration or from the existing activity's floodlight configuration.
+      "userDefinedVariableTypes": [ # List of the user-defined variables used by this conversion tag. These map to the "u[1-20]=" in the tags. Each of these can have a user defined type.
+          # Acceptable values are:
+          # - "U1"
+          # - "U2"
+          # - "U3"
+          # - "U4"
+          # - "U5"
+          # - "U6"
+          # - "U7"
+          # - "U8"
+          # - "U9"
+          # - "U10"
+          # - "U11"
+          # - "U12"
+          # - "U13"
+          # - "U14"
+          # - "U15"
+          # - "U16"
+          # - "U17"
+          # - "U18"
+          # - "U19"
+          # - "U20"
+        "A String",
+      ],
+      "defaultTags": [ # Dynamic floodlight tags.
+        { # Dynamic Tag
+          "tag": "A String", # Tag code.
+          "id": "A String", # ID of this dynamic tag. This is a read-only, auto-generated field.
+          "name": "A String", # Name of this tag.
+        },
+      ],
+      "countingMethod": "A String", # Counting method for conversions for this floodlight activity. This is a required field.
+      "floodlightActivityGroupType": "A String", # Type of the associated floodlight activity group. This is a read-only field.
+    }
+
+ + \ No newline at end of file diff --git a/docs/dyn/dfareporting_v2_5.floodlightActivityGroups.html b/docs/dyn/dfareporting_v2_5.floodlightActivityGroups.html new file mode 100644 index 00000000000..0249afdd187 --- /dev/null +++ b/docs/dyn/dfareporting_v2_5.floodlightActivityGroups.html @@ -0,0 +1,488 @@ + + + +

DCM/DFA Reporting And Trafficking API . floodlightActivityGroups

+

Instance Methods

+

+ get(profileId, id)

+

Gets one floodlight activity group by ID.

+

+ insert(profileId, body)

+

Inserts a new floodlight activity group.

+

+ list(profileId, advertiserId=None, searchString=None, pageToken=None, sortField=None, floodlightConfigurationId=None, ids=None, maxResults=None, sortOrder=None, type=None)

+

Retrieves a list of floodlight activity groups, possibly filtered.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

+ patch(profileId, id, body)

+

Updates an existing floodlight activity group. This method supports patch semantics.

+

+ update(profileId, body)

+

Updates an existing floodlight activity group.

+

Method Details

+
+ get(profileId, id) +
Gets one floodlight activity group by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Floodlight activity Group ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a Floodlight activity group.
+      "kind": "dfareporting#floodlightActivityGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#floodlightActivityGroup".
+      "subaccountId": "A String", # Subaccount ID of this floodlight activity group. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this floodlight activity group. This is a required field. Must be less than 65 characters long and cannot contain quotes.
+      "floodlightConfigurationId": "A String", # Floodlight configuration ID of this floodlight activity group. This is a required field.
+      "advertiserId": "A String", # Advertiser ID of this floodlight activity group. If this field is left blank, the value will be copied over either from the floodlight configuration's advertiser or from the existing activity group's advertiser.
+      "floodlightConfigurationIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight configuration. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this floodlight activity group. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "tagString": "A String", # Value of the type= parameter in the floodlight tag, which the ad servers use to identify the activity group that the activity belongs to. This is optional: if empty, a new tag string will be generated for you. This string must be 1 to 8 characters long, with valid characters being [a-z][A-Z][0-9][-][ _ ]. This tag string must also be unique among activity groups of the same floodlight configuration. This field is read-only after insertion.
+      "type": "A String", # Type of the floodlight activity group. This is a required field that is read-only after insertion.
+      "id": "A String", # ID of this floodlight activity group. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this floodlight activity group. This is a read-only field that can be left blank.
+    }
+
+ +
+ insert(profileId, body) +
Inserts a new floodlight activity group.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a Floodlight activity group.
+    "kind": "dfareporting#floodlightActivityGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#floodlightActivityGroup".
+    "subaccountId": "A String", # Subaccount ID of this floodlight activity group. This is a read-only field that can be left blank.
+    "name": "A String", # Name of this floodlight activity group. This is a required field. Must be less than 65 characters long and cannot contain quotes.
+    "floodlightConfigurationId": "A String", # Floodlight configuration ID of this floodlight activity group. This is a required field.
+    "advertiserId": "A String", # Advertiser ID of this floodlight activity group. If this field is left blank, the value will be copied over either from the floodlight configuration's advertiser or from the existing activity group's advertiser.
+    "floodlightConfigurationIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight configuration. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this floodlight activity group. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "tagString": "A String", # Value of the type= parameter in the floodlight tag, which the ad servers use to identify the activity group that the activity belongs to. This is optional: if empty, a new tag string will be generated for you. This string must be 1 to 8 characters long, with valid characters being [a-z][A-Z][0-9][-][ _ ]. This tag string must also be unique among activity groups of the same floodlight configuration. This field is read-only after insertion.
+    "type": "A String", # Type of the floodlight activity group. This is a required field that is read-only after insertion.
+    "id": "A String", # ID of this floodlight activity group. This is a read-only, auto-generated field.
+    "accountId": "A String", # Account ID of this floodlight activity group. This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a Floodlight activity group.
+      "kind": "dfareporting#floodlightActivityGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#floodlightActivityGroup".
+      "subaccountId": "A String", # Subaccount ID of this floodlight activity group. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this floodlight activity group. This is a required field. Must be less than 65 characters long and cannot contain quotes.
+      "floodlightConfigurationId": "A String", # Floodlight configuration ID of this floodlight activity group. This is a required field.
+      "advertiserId": "A String", # Advertiser ID of this floodlight activity group. If this field is left blank, the value will be copied over either from the floodlight configuration's advertiser or from the existing activity group's advertiser.
+      "floodlightConfigurationIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight configuration. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this floodlight activity group. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "tagString": "A String", # Value of the type= parameter in the floodlight tag, which the ad servers use to identify the activity group that the activity belongs to. This is optional: if empty, a new tag string will be generated for you. This string must be 1 to 8 characters long, with valid characters being [a-z][A-Z][0-9][-][ _ ]. This tag string must also be unique among activity groups of the same floodlight configuration. This field is read-only after insertion.
+      "type": "A String", # Type of the floodlight activity group. This is a required field that is read-only after insertion.
+      "id": "A String", # ID of this floodlight activity group. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this floodlight activity group. This is a read-only field that can be left blank.
+    }
+
+ +
+ list(profileId, advertiserId=None, searchString=None, pageToken=None, sortField=None, floodlightConfigurationId=None, ids=None, maxResults=None, sortOrder=None, type=None) +
Retrieves a list of floodlight activity groups, possibly filtered.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  advertiserId: string, Select only floodlight activity groups with the specified advertiser ID. Must specify either advertiserId or floodlightConfigurationId for a non-empty result.
+  searchString: string, Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "floodlightactivitygroup*2015" will return objects with names like "floodlightactivitygroup June 2015", "floodlightactivitygroup April 2015", or simply "floodlightactivitygroup 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "floodlightactivitygroup" will match objects with name "my floodlightactivitygroup activity", "floodlightactivitygroup 2015", or simply "floodlightactivitygroup".
+  pageToken: string, Value of the nextPageToken from the previous result page.
+  sortField: string, Field by which to sort the list.
+    Allowed values
+      ID - 
+      NAME - 
+  floodlightConfigurationId: string, Select only floodlight activity groups with the specified floodlight configuration ID. Must specify either advertiserId, or floodlightConfigurationId for a non-empty result.
+  ids: string, Select only floodlight activity groups with the specified IDs. Must specify either advertiserId or floodlightConfigurationId for a non-empty result. (repeated)
+  maxResults: integer, Maximum number of results to return.
+  sortOrder: string, Order of sorted results, default is ASCENDING.
+    Allowed values
+      ASCENDING - 
+      DESCENDING - 
+  type: string, Select only floodlight activity groups with the specified floodlight activity group type.
+    Allowed values
+      COUNTER - 
+      SALE - 
+
+Returns:
+  An object of the form:
+
+    { # Floodlight Activity Group List Response
+    "nextPageToken": "A String", # Pagination token to be used for the next list operation.
+    "kind": "dfareporting#floodlightActivityGroupsListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#floodlightActivityGroupsListResponse".
+    "floodlightActivityGroups": [ # Floodlight activity group collection.
+      { # Contains properties of a Floodlight activity group.
+          "kind": "dfareporting#floodlightActivityGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#floodlightActivityGroup".
+          "subaccountId": "A String", # Subaccount ID of this floodlight activity group. This is a read-only field that can be left blank.
+          "name": "A String", # Name of this floodlight activity group. This is a required field. Must be less than 65 characters long and cannot contain quotes.
+          "floodlightConfigurationId": "A String", # Floodlight configuration ID of this floodlight activity group. This is a required field.
+          "advertiserId": "A String", # Advertiser ID of this floodlight activity group. If this field is left blank, the value will be copied over either from the floodlight configuration's advertiser or from the existing activity group's advertiser.
+          "floodlightConfigurationIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight configuration. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this floodlight activity group. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "tagString": "A String", # Value of the type= parameter in the floodlight tag, which the ad servers use to identify the activity group that the activity belongs to. This is optional: if empty, a new tag string will be generated for you. This string must be 1 to 8 characters long, with valid characters being [a-z][A-Z][0-9][-][ _ ]. This tag string must also be unique among activity groups of the same floodlight configuration. This field is read-only after insertion.
+          "type": "A String", # Type of the floodlight activity group. This is a required field that is read-only after insertion.
+          "id": "A String", # ID of this floodlight activity group. This is a read-only, auto-generated field.
+          "accountId": "A String", # Account ID of this floodlight activity group. This is a read-only field that can be left blank.
+        },
+    ],
+  }
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    
+
+ +
+ patch(profileId, id, body) +
Updates an existing floodlight activity group. This method supports patch semantics.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Floodlight activity Group ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a Floodlight activity group.
+    "kind": "dfareporting#floodlightActivityGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#floodlightActivityGroup".
+    "subaccountId": "A String", # Subaccount ID of this floodlight activity group. This is a read-only field that can be left blank.
+    "name": "A String", # Name of this floodlight activity group. This is a required field. Must be less than 65 characters long and cannot contain quotes.
+    "floodlightConfigurationId": "A String", # Floodlight configuration ID of this floodlight activity group. This is a required field.
+    "advertiserId": "A String", # Advertiser ID of this floodlight activity group. If this field is left blank, the value will be copied over either from the floodlight configuration's advertiser or from the existing activity group's advertiser.
+    "floodlightConfigurationIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight configuration. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this floodlight activity group. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "tagString": "A String", # Value of the type= parameter in the floodlight tag, which the ad servers use to identify the activity group that the activity belongs to. This is optional: if empty, a new tag string will be generated for you. This string must be 1 to 8 characters long, with valid characters being [a-z][A-Z][0-9][-][ _ ]. This tag string must also be unique among activity groups of the same floodlight configuration. This field is read-only after insertion.
+    "type": "A String", # Type of the floodlight activity group. This is a required field that is read-only after insertion.
+    "id": "A String", # ID of this floodlight activity group. This is a read-only, auto-generated field.
+    "accountId": "A String", # Account ID of this floodlight activity group. This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a Floodlight activity group.
+      "kind": "dfareporting#floodlightActivityGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#floodlightActivityGroup".
+      "subaccountId": "A String", # Subaccount ID of this floodlight activity group. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this floodlight activity group. This is a required field. Must be less than 65 characters long and cannot contain quotes.
+      "floodlightConfigurationId": "A String", # Floodlight configuration ID of this floodlight activity group. This is a required field.
+      "advertiserId": "A String", # Advertiser ID of this floodlight activity group. If this field is left blank, the value will be copied over either from the floodlight configuration's advertiser or from the existing activity group's advertiser.
+      "floodlightConfigurationIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight configuration. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this floodlight activity group. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "tagString": "A String", # Value of the type= parameter in the floodlight tag, which the ad servers use to identify the activity group that the activity belongs to. This is optional: if empty, a new tag string will be generated for you. This string must be 1 to 8 characters long, with valid characters being [a-z][A-Z][0-9][-][ _ ]. This tag string must also be unique among activity groups of the same floodlight configuration. This field is read-only after insertion.
+      "type": "A String", # Type of the floodlight activity group. This is a required field that is read-only after insertion.
+      "id": "A String", # ID of this floodlight activity group. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this floodlight activity group. This is a read-only field that can be left blank.
+    }
+
+ +
+ update(profileId, body) +
Updates an existing floodlight activity group.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a Floodlight activity group.
+    "kind": "dfareporting#floodlightActivityGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#floodlightActivityGroup".
+    "subaccountId": "A String", # Subaccount ID of this floodlight activity group. This is a read-only field that can be left blank.
+    "name": "A String", # Name of this floodlight activity group. This is a required field. Must be less than 65 characters long and cannot contain quotes.
+    "floodlightConfigurationId": "A String", # Floodlight configuration ID of this floodlight activity group. This is a required field.
+    "advertiserId": "A String", # Advertiser ID of this floodlight activity group. If this field is left blank, the value will be copied over either from the floodlight configuration's advertiser or from the existing activity group's advertiser.
+    "floodlightConfigurationIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight configuration. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this floodlight activity group. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "tagString": "A String", # Value of the type= parameter in the floodlight tag, which the ad servers use to identify the activity group that the activity belongs to. This is optional: if empty, a new tag string will be generated for you. This string must be 1 to 8 characters long, with valid characters being [a-z][A-Z][0-9][-][ _ ]. This tag string must also be unique among activity groups of the same floodlight configuration. This field is read-only after insertion.
+    "type": "A String", # Type of the floodlight activity group. This is a required field that is read-only after insertion.
+    "id": "A String", # ID of this floodlight activity group. This is a read-only, auto-generated field.
+    "accountId": "A String", # Account ID of this floodlight activity group. This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a Floodlight activity group.
+      "kind": "dfareporting#floodlightActivityGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#floodlightActivityGroup".
+      "subaccountId": "A String", # Subaccount ID of this floodlight activity group. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this floodlight activity group. This is a required field. Must be less than 65 characters long and cannot contain quotes.
+      "floodlightConfigurationId": "A String", # Floodlight configuration ID of this floodlight activity group. This is a required field.
+      "advertiserId": "A String", # Advertiser ID of this floodlight activity group. If this field is left blank, the value will be copied over either from the floodlight configuration's advertiser or from the existing activity group's advertiser.
+      "floodlightConfigurationIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the floodlight configuration. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this floodlight activity group. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "tagString": "A String", # Value of the type= parameter in the floodlight tag, which the ad servers use to identify the activity group that the activity belongs to. This is optional: if empty, a new tag string will be generated for you. This string must be 1 to 8 characters long, with valid characters being [a-z][A-Z][0-9][-][ _ ]. This tag string must also be unique among activity groups of the same floodlight configuration. This field is read-only after insertion.
+      "type": "A String", # Type of the floodlight activity group. This is a required field that is read-only after insertion.
+      "id": "A String", # ID of this floodlight activity group. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this floodlight activity group. This is a read-only field that can be left blank.
+    }
+
+ + \ No newline at end of file diff --git a/docs/dyn/dfareporting_v2_5.floodlightConfigurations.html b/docs/dyn/dfareporting_v2_5.floodlightConfigurations.html new file mode 100644 index 00000000000..03f53de3659 --- /dev/null +++ b/docs/dyn/dfareporting_v2_5.floodlightConfigurations.html @@ -0,0 +1,514 @@ + + + +

DCM/DFA Reporting And Trafficking API . floodlightConfigurations

+

Instance Methods

+

+ get(profileId, id)

+

Gets one floodlight configuration by ID.

+

+ list(profileId, ids=None)

+

Retrieves a list of floodlight configurations, possibly filtered.

+

+ patch(profileId, id, body)

+

Updates an existing floodlight configuration. This method supports patch semantics.

+

+ update(profileId, body)

+

Updates an existing floodlight configuration.

+

Method Details

+
+ get(profileId, id) +
Gets one floodlight configuration by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Floodlight configuration ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a Floodlight configuration.
+      "naturalSearchConversionAttributionOption": "A String", # Types of attribution options for natural search conversions.
+      "kind": "dfareporting#floodlightConfiguration", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#floodlightConfiguration".
+      "exposureToConversionEnabled": True or False, # Whether the exposure-to-conversion report is enabled. This report shows detailed pathway information on up to 10 of the most recent ad exposures seen by a user before converting.
+      "lookbackConfiguration": { # Lookback configuration settings. # Lookback window settings for this floodlight configuration.
+        "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+        "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+      },
+      "tagSettings": { # Dynamic and Image Tag Settings. # Configuration settings for dynamic and image floodlight tags.
+        "dynamicTagEnabled": True or False, # Whether dynamic floodlight tags are enabled.
+        "imageTagEnabled": True or False, # Whether image tags are enabled.
+      },
+      "firstDayOfWeek": "A String", # Day that will be counted as the first day of the week in reports. This is a required field.
+      "standardVariableTypes": [ # List of standard variables enabled for this configuration.
+          #
+          # Acceptable values are:
+          # - "ORD"
+          # - "NUM"
+        "A String",
+      ],
+      "omnitureSettings": { # Omniture Integration Settings. # Settings for DCM Omniture integration.
+        "omnitureCostDataEnabled": True or False, # Whether placement cost data will be sent to Omniture. This property can be enabled only if omnitureIntegrationEnabled is true.
+        "omnitureIntegrationEnabled": True or False, # Whether Omniture integration is enabled. This property can be enabled only when the "Advanced Ad Serving" account setting is enabled.
+      },
+      "subaccountId": "A String", # Subaccount ID of this floodlight configuration. This is a read-only field that can be left blank.
+      "advertiserId": "A String", # Advertiser ID of the parent advertiser of this floodlight configuration.
+      "analyticsDataSharingEnabled": True or False, # Whether advertiser data is shared with Google Analytics.
+      "inAppAttributionTrackingEnabled": True or False, # Whether in-app attribution tracking is enabled.
+      "thirdPartyAuthenticationTokens": [ # List of third-party authentication tokens enabled for this configuration.
+        { # Third Party Authentication Token
+          "name": "A String", # Name of the third-party authentication token.
+          "value": "A String", # Value of the third-party authentication token. This is a read-only, auto-generated field.
+        },
+      ],
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this floodlight configuration. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "id": "A String", # ID of this floodlight configuration. This is a read-only, auto-generated field.
+      "userDefinedVariableConfigurations": [ # List of user defined variables enabled for this configuration.
+        { # User Defined Variable configuration.
+          "dataType": "A String", # Data type for the variable. This is a required field.
+          "reportName": "A String", # User-friendly name for the variable which will appear in reports. This is a required field, must be less than 64 characters long, and cannot contain the following characters: ""<>".
+          "variableType": "A String", # Variable name in the tag. This is a required field.
+        },
+      ],
+      "accountId": "A String", # Account ID of this floodlight configuration. This is a read-only field that can be left blank.
+    }
+
+ +
+ list(profileId, ids=None) +
Retrieves a list of floodlight configurations, possibly filtered.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  ids: string, Set of IDs of floodlight configurations to retrieve. Required field; otherwise an empty list will be returned. (repeated)
+
+Returns:
+  An object of the form:
+
+    { # Floodlight Configuration List Response
+    "floodlightConfigurations": [ # Floodlight configuration collection.
+      { # Contains properties of a Floodlight configuration.
+          "naturalSearchConversionAttributionOption": "A String", # Types of attribution options for natural search conversions.
+          "kind": "dfareporting#floodlightConfiguration", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#floodlightConfiguration".
+          "exposureToConversionEnabled": True or False, # Whether the exposure-to-conversion report is enabled. This report shows detailed pathway information on up to 10 of the most recent ad exposures seen by a user before converting.
+          "lookbackConfiguration": { # Lookback configuration settings. # Lookback window settings for this floodlight configuration.
+            "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+            "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+          },
+          "tagSettings": { # Dynamic and Image Tag Settings. # Configuration settings for dynamic and image floodlight tags.
+            "dynamicTagEnabled": True or False, # Whether dynamic floodlight tags are enabled.
+            "imageTagEnabled": True or False, # Whether image tags are enabled.
+          },
+          "firstDayOfWeek": "A String", # Day that will be counted as the first day of the week in reports. This is a required field.
+          "standardVariableTypes": [ # List of standard variables enabled for this configuration.
+              #
+              # Acceptable values are:
+              # - "ORD"
+              # - "NUM"
+            "A String",
+          ],
+          "omnitureSettings": { # Omniture Integration Settings. # Settings for DCM Omniture integration.
+            "omnitureCostDataEnabled": True or False, # Whether placement cost data will be sent to Omniture. This property can be enabled only if omnitureIntegrationEnabled is true.
+            "omnitureIntegrationEnabled": True or False, # Whether Omniture integration is enabled. This property can be enabled only when the "Advanced Ad Serving" account setting is enabled.
+          },
+          "subaccountId": "A String", # Subaccount ID of this floodlight configuration. This is a read-only field that can be left blank.
+          "advertiserId": "A String", # Advertiser ID of the parent advertiser of this floodlight configuration.
+          "analyticsDataSharingEnabled": True or False, # Whether advertiser data is shared with Google Analytics.
+          "inAppAttributionTrackingEnabled": True or False, # Whether in-app attribution tracking is enabled.
+          "thirdPartyAuthenticationTokens": [ # List of third-party authentication tokens enabled for this configuration.
+            { # Third Party Authentication Token
+              "name": "A String", # Name of the third-party authentication token.
+              "value": "A String", # Value of the third-party authentication token. This is a read-only, auto-generated field.
+            },
+          ],
+          "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this floodlight configuration. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "id": "A String", # ID of this floodlight configuration. This is a read-only, auto-generated field.
+          "userDefinedVariableConfigurations": [ # List of user defined variables enabled for this configuration.
+            { # User Defined Variable configuration.
+              "dataType": "A String", # Data type for the variable. This is a required field.
+              "reportName": "A String", # User-friendly name for the variable which will appear in reports. This is a required field, must be less than 64 characters long, and cannot contain the following characters: ""<>".
+              "variableType": "A String", # Variable name in the tag. This is a required field.
+            },
+          ],
+          "accountId": "A String", # Account ID of this floodlight configuration. This is a read-only field that can be left blank.
+        },
+    ],
+    "kind": "dfareporting#floodlightConfigurationsListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#floodlightConfigurationsListResponse".
+  }
+
+ +
+ patch(profileId, id, body) +
Updates an existing floodlight configuration. This method supports patch semantics.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Floodlight configuration ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a Floodlight configuration.
+    "naturalSearchConversionAttributionOption": "A String", # Types of attribution options for natural search conversions.
+    "kind": "dfareporting#floodlightConfiguration", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#floodlightConfiguration".
+    "exposureToConversionEnabled": True or False, # Whether the exposure-to-conversion report is enabled. This report shows detailed pathway information on up to 10 of the most recent ad exposures seen by a user before converting.
+    "lookbackConfiguration": { # Lookback configuration settings. # Lookback window settings for this floodlight configuration.
+      "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+      "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+    },
+    "tagSettings": { # Dynamic and Image Tag Settings. # Configuration settings for dynamic and image floodlight tags.
+      "dynamicTagEnabled": True or False, # Whether dynamic floodlight tags are enabled.
+      "imageTagEnabled": True or False, # Whether image tags are enabled.
+    },
+    "firstDayOfWeek": "A String", # Day that will be counted as the first day of the week in reports. This is a required field.
+    "standardVariableTypes": [ # List of standard variables enabled for this configuration.
+        # 
+        # Acceptable values are:
+        # - "ORD"
+        # - "NUM"
+      "A String",
+    ],
+    "omnitureSettings": { # Omniture Integration Settings. # Settings for DCM Omniture integration.
+      "omnitureCostDataEnabled": True or False, # Whether placement cost data will be sent to Omniture. This property can be enabled only if omnitureIntegrationEnabled is true.
+      "omnitureIntegrationEnabled": True or False, # Whether Omniture integration is enabled. This property can be enabled only when the "Advanced Ad Serving" account setting is enabled.
+    },
+    "subaccountId": "A String", # Subaccount ID of this floodlight configuration. This is a read-only field that can be left blank.
+    "advertiserId": "A String", # Advertiser ID of the parent advertiser of this floodlight configuration.
+    "analyticsDataSharingEnabled": True or False, # Whether advertiser data is shared with Google Analytics.
+    "inAppAttributionTrackingEnabled": True or False, # Whether in-app attribution tracking is enabled.
+    "thirdPartyAuthenticationTokens": [ # List of third-party authentication tokens enabled for this configuration.
+      { # Third Party Authentication Token
+        "name": "A String", # Name of the third-party authentication token.
+        "value": "A String", # Value of the third-party authentication token. This is a read-only, auto-generated field.
+      },
+    ],
+    "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this floodlight configuration. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "id": "A String", # ID of this floodlight configuration. This is a read-only, auto-generated field.
+    "userDefinedVariableConfigurations": [ # List of user defined variables enabled for this configuration.
+      { # User Defined Variable configuration.
+        "dataType": "A String", # Data type for the variable. This is a required field.
+        "reportName": "A String", # User-friendly name for the variable which will appear in reports. This is a required field, must be less than 64 characters long, and cannot contain the following characters: ""<>".
+        "variableType": "A String", # Variable name in the tag. This is a required field.
+      },
+    ],
+    "accountId": "A String", # Account ID of this floodlight configuration. This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a Floodlight configuration.
+      "naturalSearchConversionAttributionOption": "A String", # Types of attribution options for natural search conversions.
+      "kind": "dfareporting#floodlightConfiguration", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#floodlightConfiguration".
+      "exposureToConversionEnabled": True or False, # Whether the exposure-to-conversion report is enabled. This report shows detailed pathway information on up to 10 of the most recent ad exposures seen by a user before converting.
+      "lookbackConfiguration": { # Lookback configuration settings. # Lookback window settings for this floodlight configuration.
+        "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+        "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+      },
+      "tagSettings": { # Dynamic and Image Tag Settings. # Configuration settings for dynamic and image floodlight tags.
+        "dynamicTagEnabled": True or False, # Whether dynamic floodlight tags are enabled.
+        "imageTagEnabled": True or False, # Whether image tags are enabled.
+      },
+      "firstDayOfWeek": "A String", # Day that will be counted as the first day of the week in reports. This is a required field.
+      "standardVariableTypes": [ # List of standard variables enabled for this configuration.
+          #
+          # Acceptable values are:
+          # - "ORD"
+          # - "NUM"
+        "A String",
+      ],
+      "omnitureSettings": { # Omniture Integration Settings. # Settings for DCM Omniture integration.
+        "omnitureCostDataEnabled": True or False, # Whether placement cost data will be sent to Omniture. This property can be enabled only if omnitureIntegrationEnabled is true.
+        "omnitureIntegrationEnabled": True or False, # Whether Omniture integration is enabled. This property can be enabled only when the "Advanced Ad Serving" account setting is enabled.
+      },
+      "subaccountId": "A String", # Subaccount ID of this floodlight configuration. This is a read-only field that can be left blank.
+      "advertiserId": "A String", # Advertiser ID of the parent advertiser of this floodlight configuration.
+      "analyticsDataSharingEnabled": True or False, # Whether advertiser data is shared with Google Analytics.
+      "inAppAttributionTrackingEnabled": True or False, # Whether in-app attribution tracking is enabled.
+      "thirdPartyAuthenticationTokens": [ # List of third-party authentication tokens enabled for this configuration.
+        { # Third Party Authentication Token
+          "name": "A String", # Name of the third-party authentication token.
+          "value": "A String", # Value of the third-party authentication token. This is a read-only, auto-generated field.
+        },
+      ],
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this floodlight configuration. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "id": "A String", # ID of this floodlight configuration. This is a read-only, auto-generated field.
+      "userDefinedVariableConfigurations": [ # List of user defined variables enabled for this configuration.
+        { # User Defined Variable configuration.
+          "dataType": "A String", # Data type for the variable. This is a required field.
+          "reportName": "A String", # User-friendly name for the variable which will appear in reports. This is a required field, must be less than 64 characters long, and cannot contain the following characters: ""<>".
+          "variableType": "A String", # Variable name in the tag. This is a required field.
+        },
+      ],
+      "accountId": "A String", # Account ID of this floodlight configuration. This is a read-only field that can be left blank.
+    }
+
+ +
+ update(profileId, body) +
Updates an existing floodlight configuration.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a Floodlight configuration.
+    "naturalSearchConversionAttributionOption": "A String", # Types of attribution options for natural search conversions.
+    "kind": "dfareporting#floodlightConfiguration", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#floodlightConfiguration".
+    "exposureToConversionEnabled": True or False, # Whether the exposure-to-conversion report is enabled. This report shows detailed pathway information on up to 10 of the most recent ad exposures seen by a user before converting.
+    "lookbackConfiguration": { # Lookback configuration settings. # Lookback window settings for this floodlight configuration.
+      "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+      "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+    },
+    "tagSettings": { # Dynamic and Image Tag Settings. # Configuration settings for dynamic and image floodlight tags.
+      "dynamicTagEnabled": True or False, # Whether dynamic floodlight tags are enabled.
+      "imageTagEnabled": True or False, # Whether image tags are enabled.
+    },
+    "firstDayOfWeek": "A String", # Day that will be counted as the first day of the week in reports. This is a required field.
+    "standardVariableTypes": [ # List of standard variables enabled for this configuration.
+        # 
+        # Acceptable values are:
+        # - "ORD"
+        # - "NUM"
+      "A String",
+    ],
+    "omnitureSettings": { # Omniture Integration Settings. # Settings for DCM Omniture integration.
+      "omnitureCostDataEnabled": True or False, # Whether placement cost data will be sent to Omniture. This property can be enabled only if omnitureIntegrationEnabled is true.
+      "omnitureIntegrationEnabled": True or False, # Whether Omniture integration is enabled. This property can be enabled only when the "Advanced Ad Serving" account setting is enabled.
+    },
+    "subaccountId": "A String", # Subaccount ID of this floodlight configuration. This is a read-only field that can be left blank.
+    "advertiserId": "A String", # Advertiser ID of the parent advertiser of this floodlight configuration.
+    "analyticsDataSharingEnabled": True or False, # Whether advertiser data is shared with Google Analytics.
+    "inAppAttributionTrackingEnabled": True or False, # Whether in-app attribution tracking is enabled.
+    "thirdPartyAuthenticationTokens": [ # List of third-party authentication tokens enabled for this configuration.
+      { # Third Party Authentication Token
+        "name": "A String", # Name of the third-party authentication token.
+        "value": "A String", # Value of the third-party authentication token. This is a read-only, auto-generated field.
+      },
+    ],
+    "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this floodlight configuration. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "id": "A String", # ID of this floodlight configuration. This is a read-only, auto-generated field.
+    "userDefinedVariableConfigurations": [ # List of user defined variables enabled for this configuration.
+      { # User Defined Variable configuration.
+        "dataType": "A String", # Data type for the variable. This is a required field.
+        "reportName": "A String", # User-friendly name for the variable which will appear in reports. This is a required field, must be less than 64 characters long, and cannot contain the following characters: ""<>".
+        "variableType": "A String", # Variable name in the tag. This is a required field.
+      },
+    ],
+    "accountId": "A String", # Account ID of this floodlight configuration. This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a Floodlight configuration.
+      "naturalSearchConversionAttributionOption": "A String", # Types of attribution options for natural search conversions.
+      "kind": "dfareporting#floodlightConfiguration", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#floodlightConfiguration".
+      "exposureToConversionEnabled": True or False, # Whether the exposure-to-conversion report is enabled. This report shows detailed pathway information on up to 10 of the most recent ad exposures seen by a user before converting.
+      "lookbackConfiguration": { # Lookback configuration settings. # Lookback window settings for this floodlight configuration.
+        "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+        "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+      },
+      "tagSettings": { # Dynamic and Image Tag Settings. # Configuration settings for dynamic and image floodlight tags.
+        "dynamicTagEnabled": True or False, # Whether dynamic floodlight tags are enabled.
+        "imageTagEnabled": True or False, # Whether image tags are enabled.
+      },
+      "firstDayOfWeek": "A String", # Day that will be counted as the first day of the week in reports. This is a required field.
+      "standardVariableTypes": [ # List of standard variables enabled for this configuration.
+          #
+          # Acceptable values are:
+          # - "ORD"
+          # - "NUM"
+        "A String",
+      ],
+      "omnitureSettings": { # Omniture Integration Settings. # Settings for DCM Omniture integration.
+        "omnitureCostDataEnabled": True or False, # Whether placement cost data will be sent to Omniture. This property can be enabled only if omnitureIntegrationEnabled is true.
+        "omnitureIntegrationEnabled": True or False, # Whether Omniture integration is enabled. This property can be enabled only when the "Advanced Ad Serving" account setting is enabled.
+      },
+      "subaccountId": "A String", # Subaccount ID of this floodlight configuration. This is a read-only field that can be left blank.
+      "advertiserId": "A String", # Advertiser ID of the parent advertiser of this floodlight configuration.
+      "analyticsDataSharingEnabled": True or False, # Whether advertiser data is shared with Google Analytics.
+      "inAppAttributionTrackingEnabled": True or False, # Whether in-app attribution tracking is enabled.
+      "thirdPartyAuthenticationTokens": [ # List of third-party authentication tokens enabled for this configuration.
+        { # Third Party Authentication Token
+          "name": "A String", # Name of the third-party authentication token.
+          "value": "A String", # Value of the third-party authentication token. This is a read-only, auto-generated field.
+        },
+      ],
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this floodlight configuration. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "id": "A String", # ID of this floodlight configuration. This is a read-only, auto-generated field.
+      "userDefinedVariableConfigurations": [ # List of user defined variables enabled for this configuration.
+        { # User Defined Variable configuration.
+          "dataType": "A String", # Data type for the variable. This is a required field.
+          "reportName": "A String", # User-friendly name for the variable which will appear in reports. This is a required field, must be less than 64 characters long, and cannot contain the following characters: ""<>".
+          "variableType": "A String", # Variable name in the tag. This is a required field.
+        },
+      ],
+      "accountId": "A String", # Account ID of this floodlight configuration. This is a read-only field that can be left blank.
+    }
+
+ + \ No newline at end of file diff --git a/docs/dyn/dfareporting_v2_5.html b/docs/dyn/dfareporting_v2_5.html new file mode 100644 index 00000000000..6ad6b9450ac --- /dev/null +++ b/docs/dyn/dfareporting_v2_5.html @@ -0,0 +1,383 @@ + + + +

DCM/DFA Reporting And Trafficking API

+

Instance Methods

+

+ accountActiveAdSummaries() +

+

Returns the accountActiveAdSummaries Resource.

+ +

+ accountPermissionGroups() +

+

Returns the accountPermissionGroups Resource.

+ +

+ accountPermissions() +

+

Returns the accountPermissions Resource.

+ +

+ accountUserProfiles() +

+

Returns the accountUserProfiles Resource.

+ +

+ accounts() +

+

Returns the accounts Resource.

+ +

+ ads() +

+

Returns the ads Resource.

+ +

+ advertiserGroups() +

+

Returns the advertiserGroups Resource.

+ +

+ advertisers() +

+

Returns the advertisers Resource.

+ +

+ browsers() +

+

Returns the browsers Resource.

+ +

+ campaignCreativeAssociations() +

+

Returns the campaignCreativeAssociations Resource.

+ +

+ campaigns() +

+

Returns the campaigns Resource.

+ +

+ changeLogs() +

+

Returns the changeLogs Resource.

+ +

+ cities() +

+

Returns the cities Resource.

+ +

+ connectionTypes() +

+

Returns the connectionTypes Resource.

+ +

+ contentCategories() +

+

Returns the contentCategories Resource.

+ +

+ conversions() +

+

Returns the conversions Resource.

+ +

+ countries() +

+

Returns the countries Resource.

+ +

+ creativeAssets() +

+

Returns the creativeAssets Resource.

+ +

+ creativeFieldValues() +

+

Returns the creativeFieldValues Resource.

+ +

+ creativeFields() +

+

Returns the creativeFields Resource.

+ +

+ creativeGroups() +

+

Returns the creativeGroups Resource.

+ +

+ creatives() +

+

Returns the creatives Resource.

+ +

+ dimensionValues() +

+

Returns the dimensionValues Resource.

+ +

+ directorySiteContacts() +

+

Returns the directorySiteContacts Resource.

+ +

+ directorySites() +

+

Returns the directorySites Resource.

+ +

+ dynamicTargetingKeys() +

+

Returns the dynamicTargetingKeys Resource.

+ +

+ eventTags() +

+

Returns the eventTags Resource.

+ +

+ files() +

+

Returns the files Resource.

+ +

+ floodlightActivities() +

+

Returns the floodlightActivities Resource.

+ +

+ floodlightActivityGroups() +

+

Returns the floodlightActivityGroups Resource.

+ +

+ floodlightConfigurations() +

+

Returns the floodlightConfigurations Resource.

+ +

+ inventoryItems() +

+

Returns the inventoryItems Resource.

+ +

+ landingPages() +

+

Returns the landingPages Resource.

+ +

+ metros() +

+

Returns the metros Resource.

+ +

+ mobileCarriers() +

+

Returns the mobileCarriers Resource.

+ +

+ operatingSystemVersions() +

+

Returns the operatingSystemVersions Resource.

+ +

+ operatingSystems() +

+

Returns the operatingSystems Resource.

+ +

+ orderDocuments() +

+

Returns the orderDocuments Resource.

+ +

+ orders() +

+

Returns the orders Resource.

+ +

+ placementGroups() +

+

Returns the placementGroups Resource.

+ +

+ placementStrategies() +

+

Returns the placementStrategies Resource.

+ +

+ placements() +

+

Returns the placements Resource.

+ +

+ platformTypes() +

+

Returns the platformTypes Resource.

+ +

+ postalCodes() +

+

Returns the postalCodes Resource.

+ +

+ projects() +

+

Returns the projects Resource.

+ +

+ regions() +

+

Returns the regions Resource.

+ +

+ remarketingListShares() +

+

Returns the remarketingListShares Resource.

+ +

+ remarketingLists() +

+

Returns the remarketingLists Resource.

+ +

+ reports() +

+

Returns the reports Resource.

+ +

+ sites() +

+

Returns the sites Resource.

+ +

+ sizes() +

+

Returns the sizes Resource.

+ +

+ subaccounts() +

+

Returns the subaccounts Resource.

+ +

+ targetableRemarketingLists() +

+

Returns the targetableRemarketingLists Resource.

+ +

+ userProfiles() +

+

Returns the userProfiles Resource.

+ +

+ userRolePermissionGroups() +

+

Returns the userRolePermissionGroups Resource.

+ +

+ userRolePermissions() +

+

Returns the userRolePermissions Resource.

+ +

+ userRoles() +

+

Returns the userRoles Resource.

+ +

+ new_batch_http_request()

+

Create a BatchHttpRequest object based on the discovery document.

+

Method Details

+
+ new_batch_http_request() +
Create a BatchHttpRequest object based on the discovery document.
+
+        Args:
+          callback: callable, A callback to be called for each response, of the
+            form callback(id, response, exception). The first parameter is the
+            request id, and the second is the deserialized response object. The
+            third is an apiclient.errors.HttpError exception object if an HTTP
+            error occurred while processing the request, or None if no error
+            occurred.
+
+        Returns:
+          A BatchHttpRequest object based on the discovery document.
+        
+
+ + \ No newline at end of file diff --git a/docs/dyn/dfareporting_v2_5.inventoryItems.html b/docs/dyn/dfareporting_v2_5.inventoryItems.html new file mode 100644 index 00000000000..f4aa0d61b6d --- /dev/null +++ b/docs/dyn/dfareporting_v2_5.inventoryItems.html @@ -0,0 +1,250 @@ + + + +

DCM/DFA Reporting And Trafficking API . inventoryItems

+

Instance Methods

+

+ get(profileId, projectId, id)

+

Gets one inventory item by ID.

+

+ list(profileId, projectId, pageToken=None, inPlan=None, sortOrder=None, type=None, orderId=None, maxResults=None, siteId=None, sortField=None, ids=None)

+

Retrieves a list of inventory items, possibly filtered.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

Method Details

+
+ get(profileId, projectId, id) +
Gets one inventory item by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  projectId: string, Project ID for order documents. (required)
+  id: string, Inventory item ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Represents a buy from the DoubleClick Planning inventory store.
+    "orderId": "A String", # Order ID of this inventory item.
+    "pricing": { # Pricing Information # Pricing of this inventory item.
+      "groupType": "A String", # Group type of this inventory item if it represents a placement group. Is null otherwise. There are two type of placement groups: PLANNING_PLACEMENT_GROUP_TYPE_PACKAGE is a simple group of inventory items that acts as a single pricing point for a group of tags. PLANNING_PLACEMENT_GROUP_TYPE_ROADBLOCK is a group of inventory items that not only acts as a single pricing point, but also assumes that all the tags in it will be served at the same time. A roadblock requires one of its assigned inventory items to be marked as primary.
+      "startDate": "A String", # Start date of this inventory item.
+      "endDate": "A String", # End date of this inventory item.
+      "pricingType": "A String", # Pricing type of this inventory item.
+      "flights": [ # Flights of this inventory item. A flight (a.k.a. pricing period) represents the inventory item pricing information for a specific period of time.
+        { # Flight
+          "rateOrCost": "A String", # Rate or cost of this flight.
+          "startDate": "A String", # Inventory item flight start date.
+          "units": "A String", # Units of this flight.
+          "endDate": "A String", # Inventory item flight end date.
+        },
+      ],
+      "capCostType": "A String", # Cap cost type of this inventory item.
+    },
+    "kind": "dfareporting#inventoryItem", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#inventoryItem".
+    "negotiationChannelId": "A String", # Negotiation channel ID of this inventory item.
+    "subaccountId": "A String", # Subaccount ID of this inventory item.
+    "name": "A String", # Name of this inventory item. For standalone inventory items, this is the same name as that of its only ad slot. For group inventory items, this can differ from the name of any of its ad slots.
+    "estimatedClickThroughRate": "A String", # Estimated click-through rate of this inventory item.
+    "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this inventory item.
+      "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+    },
+    "estimatedConversionRate": "A String", # Estimated conversion rate of this inventory item.
+    "inPlan": True or False, # Whether this inventory item is in plan.
+    "id": "A String", # ID of this inventory item.
+    "advertiserId": "A String", # Advertiser ID of this inventory item.
+    "siteId": "A String", # ID of the site this inventory item is associated with.
+    "adSlots": [ # Ad slots of this inventory item. If this inventory item represents a standalone placement, there will be exactly one ad slot. If this inventory item represents a placement group, there will be more than one ad slot, each representing one child placement in that placement group.
+      { # Ad Slot
+        "comment": "A String", # Comment for this ad slot.
+        "linkedPlacementId": "A String", # ID of the placement from an external platform that is linked to this ad slot.
+        "name": "A String", # Name of this ad slot.
+        "primary": True or False, # Primary ad slot of a roadblock inventory item.
+        "height": "A String", # Height of this ad slot.
+        "width": "A String", # Width of this ad slot.
+        "paymentSourceType": "A String", # Payment source type of this ad slot.
+        "compatibility": "A String", # Ad slot compatibility. DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on desktop, mobile devices or in mobile apps for regular or interstitial ads respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps. IN_STREAM_VIDEO refers to rendering in in-stream video ads developed with the VAST standard.
+      },
+    ],
+    "projectId": "A String", # Project ID of this inventory item.
+    "rfpId": "A String", # RFP ID of this inventory item.
+    "type": "A String", # Type of inventory item.
+    "contentCategoryId": "A String", # Content category ID of this inventory item.
+    "placementStrategyId": "A String", # Placement strategy ID of this inventory item.
+    "accountId": "A String", # Account ID of this inventory item.
+  }
+
+ +
+ list(profileId, projectId, pageToken=None, inPlan=None, sortOrder=None, type=None, orderId=None, maxResults=None, siteId=None, sortField=None, ids=None) +
Retrieves a list of inventory items, possibly filtered.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  projectId: string, Project ID for order documents. (required)
+  pageToken: string, Value of the nextPageToken from the previous result page.
+  inPlan: boolean, Select only inventory items that are in plan.
+  sortOrder: string, Order of sorted results, default is ASCENDING.
+    Allowed values
+      ASCENDING - 
+      DESCENDING - 
+  type: string, Select only inventory items with this type.
+    Allowed values
+      PLANNING_PLACEMENT_TYPE_CREDIT - 
+      PLANNING_PLACEMENT_TYPE_REGULAR - 
+  orderId: string, Select only inventory items that belong to specified orders. (repeated)
+  maxResults: integer, Maximum number of results to return.
+  siteId: string, Select only inventory items that are associated with these sites. (repeated)
+  sortField: string, Field by which to sort the list.
+    Allowed values
+      ID - 
+      NAME - 
+  ids: string, Select only inventory items with these IDs. (repeated)
+
+Returns:
+  An object of the form:
+
+    { # Inventory item List Response
+    "nextPageToken": "A String", # Pagination token to be used for the next list operation.
+    "kind": "dfareporting#inventoryItemsListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#inventoryItemsListResponse".
+    "inventoryItems": [ # Inventory item collection
+      { # Represents a buy from the DoubleClick Planning inventory store.
+        "orderId": "A String", # Order ID of this inventory item.
+        "pricing": { # Pricing Information # Pricing of this inventory item.
+          "groupType": "A String", # Group type of this inventory item if it represents a placement group. Is null otherwise. There are two type of placement groups: PLANNING_PLACEMENT_GROUP_TYPE_PACKAGE is a simple group of inventory items that acts as a single pricing point for a group of tags. PLANNING_PLACEMENT_GROUP_TYPE_ROADBLOCK is a group of inventory items that not only acts as a single pricing point, but also assumes that all the tags in it will be served at the same time. A roadblock requires one of its assigned inventory items to be marked as primary.
+          "startDate": "A String", # Start date of this inventory item.
+          "endDate": "A String", # End date of this inventory item.
+          "pricingType": "A String", # Pricing type of this inventory item.
+          "flights": [ # Flights of this inventory item. A flight (a.k.a. pricing period) represents the inventory item pricing information for a specific period of time.
+            { # Flight
+              "rateOrCost": "A String", # Rate or cost of this flight.
+              "startDate": "A String", # Inventory item flight start date.
+              "units": "A String", # Units of this flight.
+              "endDate": "A String", # Inventory item flight end date.
+            },
+          ],
+          "capCostType": "A String", # Cap cost type of this inventory item.
+        },
+        "kind": "dfareporting#inventoryItem", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#inventoryItem".
+        "negotiationChannelId": "A String", # Negotiation channel ID of this inventory item.
+        "subaccountId": "A String", # Subaccount ID of this inventory item.
+        "name": "A String", # Name of this inventory item. For standalone inventory items, this is the same name as that of its only ad slot. For group inventory items, this can differ from the name of any of its ad slots.
+        "estimatedClickThroughRate": "A String", # Estimated click-through rate of this inventory item.
+        "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this inventory item.
+          "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+        },
+        "estimatedConversionRate": "A String", # Estimated conversion rate of this inventory item.
+        "inPlan": True or False, # Whether this inventory item is in plan.
+        "id": "A String", # ID of this inventory item.
+        "advertiserId": "A String", # Advertiser ID of this inventory item.
+        "siteId": "A String", # ID of the site this inventory item is associated with.
+        "adSlots": [ # Ad slots of this inventory item. If this inventory item represents a standalone placement, there will be exactly one ad slot. If this inventory item represents a placement group, there will be more than one ad slot, each representing one child placement in that placement group.
+          { # Ad Slot
+            "comment": "A String", # Comment for this ad slot.
+            "linkedPlacementId": "A String", # ID of the placement from an external platform that is linked to this ad slot.
+            "name": "A String", # Name of this ad slot.
+            "primary": True or False, # Primary ad slot of a roadblock inventory item.
+            "height": "A String", # Height of this ad slot.
+            "width": "A String", # Width of this ad slot.
+            "paymentSourceType": "A String", # Payment source type of this ad slot.
+            "compatibility": "A String", # Ad slot compatibility. DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on desktop, mobile devices or in mobile apps for regular or interstitial ads respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps. IN_STREAM_VIDEO refers to rendering in in-stream video ads developed with the VAST standard.
+          },
+        ],
+        "projectId": "A String", # Project ID of this inventory item.
+        "rfpId": "A String", # RFP ID of this inventory item.
+        "type": "A String", # Type of inventory item.
+        "contentCategoryId": "A String", # Content category ID of this inventory item.
+        "placementStrategyId": "A String", # Placement strategy ID of this inventory item.
+        "accountId": "A String", # Account ID of this inventory item.
+      },
+    ],
+  }
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    
+
+ + \ No newline at end of file diff --git a/docs/dyn/dfareporting_v2_5.landingPages.html b/docs/dyn/dfareporting_v2_5.landingPages.html new file mode 100644 index 00000000000..8bc9541fb39 --- /dev/null +++ b/docs/dyn/dfareporting_v2_5.landingPages.html @@ -0,0 +1,247 @@ + + + +

DCM/DFA Reporting And Trafficking API . landingPages

+

Instance Methods

+

+ delete(profileId, campaignId, id)

+

Deletes an existing campaign landing page.

+

+ get(profileId, campaignId, id)

+

Gets one campaign landing page by ID.

+

+ insert(profileId, campaignId, body)

+

Inserts a new landing page for the specified campaign.

+

+ list(profileId, campaignId)

+

Retrieves the list of landing pages for the specified campaign.

+

+ patch(profileId, campaignId, id, body)

+

Updates an existing campaign landing page. This method supports patch semantics.

+

+ update(profileId, campaignId, body)

+

Updates an existing campaign landing page.

+

Method Details

+
+ delete(profileId, campaignId, id) +
Deletes an existing campaign landing page.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  campaignId: string, Landing page campaign ID. (required)
+  id: string, Landing page ID. (required)
+
+
+ +
+ get(profileId, campaignId, id) +
Gets one campaign landing page by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  campaignId: string, Landing page campaign ID. (required)
+  id: string, Landing page ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Contains information about where a user's browser is taken after the user clicks an ad.
+      "default": True or False, # Whether or not this landing page will be assigned to any ads or creatives that do not have a landing page assigned explicitly. Only one default landing page is allowed per campaign.
+      "url": "A String", # URL of this landing page. This is a required field.
+      "kind": "dfareporting#landingPage", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#landingPage".
+      "id": "A String", # ID of this landing page. This is a read-only, auto-generated field.
+      "name": "A String", # Name of this landing page. This is a required field. It must be less than 256 characters long, and must be unique among landing pages of the same campaign.
+    }
+
+ +
+ insert(profileId, campaignId, body) +
Inserts a new landing page for the specified campaign.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  campaignId: string, Landing page campaign ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains information about where a user's browser is taken after the user clicks an ad.
+    "default": True or False, # Whether or not this landing page will be assigned to any ads or creatives that do not have a landing page assigned explicitly. Only one default landing page is allowed per campaign.
+    "url": "A String", # URL of this landing page. This is a required field.
+    "kind": "dfareporting#landingPage", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#landingPage".
+    "id": "A String", # ID of this landing page. This is a read-only, auto-generated field.
+    "name": "A String", # Name of this landing page. This is a required field. It must be less than 256 characters long, and must be unique among landing pages of the same campaign.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains information about where a user's browser is taken after the user clicks an ad.
+      "default": True or False, # Whether or not this landing page will be assigned to any ads or creatives that do not have a landing page assigned explicitly. Only one default landing page is allowed per campaign.
+      "url": "A String", # URL of this landing page. This is a required field.
+      "kind": "dfareporting#landingPage", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#landingPage".
+      "id": "A String", # ID of this landing page. This is a read-only, auto-generated field.
+      "name": "A String", # Name of this landing page. This is a required field. It must be less than 256 characters long, and must be unique among landing pages of the same campaign.
+    }
+
+ +
+ list(profileId, campaignId) +
Retrieves the list of landing pages for the specified campaign.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  campaignId: string, Landing page campaign ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Landing Page List Response
+    "kind": "dfareporting#landingPagesListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#landingPagesListResponse".
+    "landingPages": [ # Landing page collection
+      { # Contains information about where a user's browser is taken after the user clicks an ad.
+          "default": True or False, # Whether or not this landing page will be assigned to any ads or creatives that do not have a landing page assigned explicitly. Only one default landing page is allowed per campaign.
+          "url": "A String", # URL of this landing page. This is a required field.
+          "kind": "dfareporting#landingPage", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#landingPage".
+          "id": "A String", # ID of this landing page. This is a read-only, auto-generated field.
+          "name": "A String", # Name of this landing page. This is a required field. It must be less than 256 characters long, and must be unique among landing pages of the same campaign.
+        },
+    ],
+  }
+
+ +
+ patch(profileId, campaignId, id, body) +
Updates an existing campaign landing page. This method supports patch semantics.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  campaignId: string, Landing page campaign ID. (required)
+  id: string, Landing page ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains information about where a user's browser is taken after the user clicks an ad.
+    "default": True or False, # Whether or not this landing page will be assigned to any ads or creatives that do not have a landing page assigned explicitly. Only one default landing page is allowed per campaign.
+    "url": "A String", # URL of this landing page. This is a required field.
+    "kind": "dfareporting#landingPage", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#landingPage".
+    "id": "A String", # ID of this landing page. This is a read-only, auto-generated field.
+    "name": "A String", # Name of this landing page. This is a required field. It must be less than 256 characters long, and must be unique among landing pages of the same campaign.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains information about where a user's browser is taken after the user clicks an ad.
+      "default": True or False, # Whether or not this landing page will be assigned to any ads or creatives that do not have a landing page assigned explicitly. Only one default landing page is allowed per campaign.
+      "url": "A String", # URL of this landing page. This is a required field.
+      "kind": "dfareporting#landingPage", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#landingPage".
+      "id": "A String", # ID of this landing page. This is a read-only, auto-generated field.
+      "name": "A String", # Name of this landing page. This is a required field. It must be less than 256 characters long, and must be unique among landing pages of the same campaign.
+    }
+
+ +
+ update(profileId, campaignId, body) +
Updates an existing campaign landing page.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  campaignId: string, Landing page campaign ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains information about where a user's browser is taken after the user clicks an ad.
+    "default": True or False, # Whether or not this landing page will be assigned to any ads or creatives that do not have a landing page assigned explicitly. Only one default landing page is allowed per campaign.
+    "url": "A String", # URL of this landing page. This is a required field.
+    "kind": "dfareporting#landingPage", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#landingPage".
+    "id": "A String", # ID of this landing page. This is a read-only, auto-generated field.
+    "name": "A String", # Name of this landing page. This is a required field. It must be less than 256 characters long, and must be unique among landing pages of the same campaign.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains information about where a user's browser is taken after the user clicks an ad.
+      "default": True or False, # Whether or not this landing page will be assigned to any ads or creatives that do not have a landing page assigned explicitly. Only one default landing page is allowed per campaign.
+      "url": "A String", # URL of this landing page. This is a required field.
+      "kind": "dfareporting#landingPage", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#landingPage".
+      "id": "A String", # ID of this landing page. This is a read-only, auto-generated field.
+      "name": "A String", # Name of this landing page. This is a required field. It must be less than 256 characters long, and must be unique among landing pages of the same campaign.
+    }
+
+ + \ No newline at end of file diff --git a/docs/dyn/dfareporting_v2_5.metros.html b/docs/dyn/dfareporting_v2_5.metros.html new file mode 100644 index 00000000000..6eb062ddc37 --- /dev/null +++ b/docs/dyn/dfareporting_v2_5.metros.html @@ -0,0 +1,107 @@ + + + +

DCM/DFA Reporting And Trafficking API . metros

+

Instance Methods

+

+ list(profileId)

+

Retrieves a list of metros.

+

Method Details

+
+ list(profileId) +
Retrieves a list of metros.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+
+Returns:
+  An object of the form:
+
+    { # Metro List Response
+    "kind": "dfareporting#metrosListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#metrosListResponse".
+    "metros": [ # Metro collection.
+      { # Contains information about a metro region that can be targeted by ads.
+        "kind": "dfareporting#metro", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#metro".
+        "countryDartId": "A String", # DART ID of the country to which this metro region belongs.
+        "name": "A String", # Name of this metro region.
+        "countryCode": "A String", # Country code of the country to which this metro region belongs.
+        "metroCode": "A String", # Metro code of this metro region. This is equivalent to dma_id.
+        "dmaId": "A String", # DMA ID of this metro region. This is the ID used for targeting and generating reports, and is equivalent to metro_code.
+        "dartId": "A String", # DART ID of this metro region.
+      },
+    ],
+  }
+
+ + \ No newline at end of file diff --git a/docs/dyn/dfareporting_v2_5.mobileCarriers.html b/docs/dyn/dfareporting_v2_5.mobileCarriers.html new file mode 100644 index 00000000000..91c4e6e1cae --- /dev/null +++ b/docs/dyn/dfareporting_v2_5.mobileCarriers.html @@ -0,0 +1,128 @@ + + + +

DCM/DFA Reporting And Trafficking API . mobileCarriers

+

Instance Methods

+

+ get(profileId, id)

+

Gets one mobile carrier by ID.

+

+ list(profileId)

+

Retrieves a list of mobile carriers.

+

Method Details

+
+ get(profileId, id) +
Gets one mobile carrier by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Mobile carrier ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Contains information about a mobile carrier that can be targeted by ads.
+    "kind": "dfareporting#mobileCarrier", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#mobileCarrier".
+    "countryDartId": "A String", # DART ID of the country to which this mobile carrier belongs.
+    "id": "A String", # ID of this mobile carrier.
+    "countryCode": "A String", # Country code of the country to which this mobile carrier belongs.
+    "name": "A String", # Name of this mobile carrier.
+  }
+
+ +
+ list(profileId) +
Retrieves a list of mobile carriers.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+
+Returns:
+  An object of the form:
+
+    { # Mobile Carrier List Response
+    "kind": "dfareporting#mobileCarriersListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#mobileCarriersListResponse".
+    "mobileCarriers": [ # Mobile carrier collection.
+      { # Contains information about a mobile carrier that can be targeted by ads.
+        "kind": "dfareporting#mobileCarrier", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#mobileCarrier".
+        "countryDartId": "A String", # DART ID of the country to which this mobile carrier belongs.
+        "id": "A String", # ID of this mobile carrier.
+        "countryCode": "A String", # Country code of the country to which this mobile carrier belongs.
+        "name": "A String", # Name of this mobile carrier.
+      },
+    ],
+  }
+
+ + \ No newline at end of file diff --git a/docs/dyn/dfareporting_v2_5.operatingSystemVersions.html b/docs/dyn/dfareporting_v2_5.operatingSystemVersions.html new file mode 100644 index 00000000000..74459b8434d --- /dev/null +++ b/docs/dyn/dfareporting_v2_5.operatingSystemVersions.html @@ -0,0 +1,142 @@ + + + +

DCM/DFA Reporting And Trafficking API . operatingSystemVersions

+

Instance Methods

+

+ get(profileId, id)

+

Gets one operating system version by ID.

+

+ list(profileId)

+

Retrieves a list of operating system versions.

+

Method Details

+
+ get(profileId, id) +
Gets one operating system version by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Operating system version ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Contains information about a particular version of an operating system that can be targeted by ads.
+    "majorVersion": "A String", # Major version (leftmost number) of this operating system version.
+    "kind": "dfareporting#operatingSystemVersion", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#operatingSystemVersion".
+    "name": "A String", # Name of this operating system version.
+    "id": "A String", # ID of this operating system version.
+    "operatingSystem": { # Contains information about an operating system that can be targeted by ads. # Operating system of this operating system version.
+      "mobile": True or False, # Whether this operating system is for mobile.
+      "dartId": "A String", # DART ID of this operating system. This is the ID used for targeting.
+      "kind": "dfareporting#operatingSystem", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#operatingSystem".
+      "name": "A String", # Name of this operating system.
+      "desktop": True or False, # Whether this operating system is for desktop.
+    },
+    "minorVersion": "A String", # Minor version (number after the first dot) of this operating system version.
+  }
+
+ +
+ list(profileId) +
Retrieves a list of operating system versions.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+
+Returns:
+  An object of the form:
+
+    { # Operating System Version List Response
+    "kind": "dfareporting#operatingSystemVersionsListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#operatingSystemVersionsListResponse".
+    "operatingSystemVersions": [ # Operating system version collection.
+      { # Contains information about a particular version of an operating system that can be targeted by ads.
+        "majorVersion": "A String", # Major version (leftmost number) of this operating system version.
+        "kind": "dfareporting#operatingSystemVersion", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#operatingSystemVersion".
+        "name": "A String", # Name of this operating system version.
+        "id": "A String", # ID of this operating system version.
+        "operatingSystem": { # Contains information about an operating system that can be targeted by ads. # Operating system of this operating system version.
+          "mobile": True or False, # Whether this operating system is for mobile.
+          "dartId": "A String", # DART ID of this operating system. This is the ID used for targeting.
+          "kind": "dfareporting#operatingSystem", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#operatingSystem".
+          "name": "A String", # Name of this operating system.
+          "desktop": True or False, # Whether this operating system is for desktop.
+        },
+        "minorVersion": "A String", # Minor version (number after the first dot) of this operating system version.
+      },
+    ],
+  }
+
+ + \ No newline at end of file diff --git a/docs/dyn/dfareporting_v2_5.operatingSystems.html b/docs/dyn/dfareporting_v2_5.operatingSystems.html new file mode 100644 index 00000000000..1a88848d992 --- /dev/null +++ b/docs/dyn/dfareporting_v2_5.operatingSystems.html @@ -0,0 +1,128 @@ + + + +

DCM/DFA Reporting And Trafficking API . operatingSystems

+

Instance Methods

+

+ get(profileId, dartId)

+

Gets one operating system by DART ID.

+

+ list(profileId)

+

Retrieves a list of operating systems.

+

Method Details

+
+ get(profileId, dartId) +
Gets one operating system by DART ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  dartId: string, Operating system DART ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Contains information about an operating system that can be targeted by ads.
+    "mobile": True or False, # Whether this operating system is for mobile.
+    "dartId": "A String", # DART ID of this operating system. This is the ID used for targeting.
+    "kind": "dfareporting#operatingSystem", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#operatingSystem".
+    "name": "A String", # Name of this operating system.
+    "desktop": True or False, # Whether this operating system is for desktop.
+  }
+
+ +
+ list(profileId) +
Retrieves a list of operating systems.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+
+Returns:
+  An object of the form:
+
+    { # Operating System List Response
+    "kind": "dfareporting#operatingSystemsListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#operatingSystemsListResponse".
+    "operatingSystems": [ # Operating system collection.
+      { # Contains information about an operating system that can be targeted by ads.
+        "mobile": True or False, # Whether this operating system is for mobile.
+        "dartId": "A String", # DART ID of this operating system. This is the ID used for targeting.
+        "kind": "dfareporting#operatingSystem", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#operatingSystem".
+        "name": "A String", # Name of this operating system.
+        "desktop": True or False, # Whether this operating system is for desktop.
+      },
+    ],
+  }
+
+ + \ No newline at end of file diff --git a/docs/dyn/dfareporting_v2_5.orderDocuments.html b/docs/dyn/dfareporting_v2_5.orderDocuments.html new file mode 100644 index 00000000000..dbea3184487 --- /dev/null +++ b/docs/dyn/dfareporting_v2_5.orderDocuments.html @@ -0,0 +1,199 @@ + + + +

DCM/DFA Reporting And Trafficking API . orderDocuments

+

Instance Methods

+

+ get(profileId, projectId, id)

+

Gets one order document by ID.

+

+ list(profileId, projectId, pageToken=None, sortOrder=None, orderId=None, maxResults=None, siteId=None, approved=None, searchString=None, sortField=None, ids=None)

+

Retrieves a list of order documents, possibly filtered.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

Method Details

+
+ get(profileId, projectId, id) +
Gets one order document by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  projectId: string, Project ID for order documents. (required)
+  id: string, Order document ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a DoubleClick Planning order document.
+    "orderId": "A String", # ID of the order from which this order document is created.
+    "approvedByUserProfileIds": [ # IDs of users who have approved this order document.
+      "A String",
+    ],
+    "kind": "dfareporting#orderDocument", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#orderDocument".
+    "subaccountId": "A String", # Subaccount ID of this order document.
+    "effectiveDate": "A String", # Effective date of this order document.
+    "lastSentTime": "A String", # Timestamp of the last email sent with this order document.
+    "lastSentRecipients": [ # List of email addresses that received the last sent document.
+      "A String",
+    ],
+    "title": "A String", # Title of this order document.
+    "amendedOrderDocumentId": "A String", # The amended order document ID of this order document. An order document can be created by optionally amending another order document so that the change history can be preserved.
+    "signed": True or False, # Whether this order document has been signed.
+    "createdInfo": { # Modification timestamp. # Information about the creation of this order document.
+      "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+    },
+    "advertiserId": "A String", # Advertiser ID of this order document.
+    "projectId": "A String", # Project ID of this order document.
+    "cancelled": True or False, # Whether this order document is cancelled.
+    "type": "A String", # Type of this order document
+    "id": "A String", # ID of this order document.
+    "accountId": "A String", # Account ID of this order document.
+  }
+
+ +
+ list(profileId, projectId, pageToken=None, sortOrder=None, orderId=None, maxResults=None, siteId=None, approved=None, searchString=None, sortField=None, ids=None) +
Retrieves a list of order documents, possibly filtered.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  projectId: string, Project ID for order documents. (required)
+  pageToken: string, Value of the nextPageToken from the previous result page.
+  sortOrder: string, Order of sorted results, default is ASCENDING.
+    Allowed values
+      ASCENDING - 
+      DESCENDING - 
+  orderId: string, Select only order documents for specified orders. (repeated)
+  maxResults: integer, Maximum number of results to return.
+  siteId: string, Select only order documents that are associated with these sites. (repeated)
+  approved: boolean, Select only order documents that have been approved by at least one user.
+  searchString: string, Allows searching for order documents by name or ID. Wildcards (*) are allowed. For example, "orderdocument*2015" will return order documents with names like "orderdocument June 2015", "orderdocument April 2015", or simply "orderdocument 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "orderdocument" will match order documents with name "my orderdocument", "orderdocument 2015", or simply "orderdocument".
+  sortField: string, Field by which to sort the list.
+    Allowed values
+      ID - 
+      NAME - 
+  ids: string, Select only order documents with these IDs. (repeated)
+
+Returns:
+  An object of the form:
+
+    { # Order document List Response
+    "nextPageToken": "A String", # Pagination token to be used for the next list operation.
+    "kind": "dfareporting#orderDocumentsListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#orderDocumentsListResponse".
+    "orderDocuments": [ # Order document collection
+      { # Contains properties of a DoubleClick Planning order document.
+        "orderId": "A String", # ID of the order from which this order document is created.
+        "approvedByUserProfileIds": [ # IDs of users who have approved this order document.
+          "A String",
+        ],
+        "kind": "dfareporting#orderDocument", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#orderDocument".
+        "subaccountId": "A String", # Subaccount ID of this order document.
+        "effectiveDate": "A String", # Effective date of this order document.
+        "lastSentTime": "A String", # Timestamp of the last email sent with this order document.
+        "lastSentRecipients": [ # List of email addresses that received the last sent document.
+          "A String",
+        ],
+        "title": "A String", # Title of this order document.
+        "amendedOrderDocumentId": "A String", # The amended order document ID of this order document. An order document can be created by optionally amending another order document so that the change history can be preserved.
+        "signed": True or False, # Whether this order document has been signed.
+        "createdInfo": { # Modification timestamp. # Information about the creation of this order document.
+          "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+        },
+        "advertiserId": "A String", # Advertiser ID of this order document.
+        "projectId": "A String", # Project ID of this order document.
+        "cancelled": True or False, # Whether this order document is cancelled.
+        "type": "A String", # Type of this order document
+        "id": "A String", # ID of this order document.
+        "accountId": "A String", # Account ID of this order document.
+      },
+    ],
+  }
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    
+
+ + \ No newline at end of file diff --git a/docs/dyn/dfareporting_v2_5.orders.html b/docs/dyn/dfareporting_v2_5.orders.html new file mode 100644 index 00000000000..efcedd7fd35 --- /dev/null +++ b/docs/dyn/dfareporting_v2_5.orders.html @@ -0,0 +1,223 @@ + + + +

DCM/DFA Reporting And Trafficking API . orders

+

Instance Methods

+

+ get(profileId, projectId, id)

+

Gets one order by ID.

+

+ list(profileId, projectId, searchString=None, pageToken=None, sortField=None, ids=None, maxResults=None, sortOrder=None, siteId=None)

+

Retrieves a list of orders, possibly filtered.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

Method Details

+
+ get(profileId, projectId, id) +
Gets one order by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  projectId: string, Project ID for orders. (required)
+  id: string, Order ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Describes properties of a DoubleClick Planning order.
+    "termsAndConditions": "A String", # Terms and conditions of this order.
+    "kind": "dfareporting#order", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#order".
+    "sellerOrganizationName": "A String", # Name of the seller organization.
+    "subaccountId": "A String", # Subaccount ID of this order.
+    "name": "A String", # Name of this order.
+    "buyerInvoiceId": "A String", # Buyer invoice ID associated with this order.
+    "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this order.
+      "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+    },
+    "notes": "A String", # Notes of this order.
+    "contacts": [ # Contacts for this order.
+      { # Contact of an order.
+        "signatureUserProfileId": "A String", # ID of the user profile containing the signature that will be embedded into order documents.
+        "contactTitle": "A String", # Title of this contact.
+        "contactInfo": "A String", # Free-form information about this contact. It could be any information related to this contact in addition to type, title, name, and signature user profile ID.
+        "contactName": "A String", # Name of this contact.
+        "contactType": "A String", # Type of this contact.
+      },
+    ],
+    "buyerOrganizationName": "A String", # Name of the buyer organization.
+    "comments": "A String", # Comments in this order.
+    "advertiserId": "A String", # Advertiser ID of this order.
+    "approverUserProfileIds": [ # IDs for users that have to approve documents created for this order.
+      "A String",
+    ],
+    "siteId": [ # Site IDs this order is associated with.
+      "A String",
+    ],
+    "sellerOrderId": "A String", # Seller order ID associated with this order.
+    "projectId": "A String", # Project ID of this order.
+    "siteNames": [ # Free-form site names this order is associated with.
+      "A String",
+    ],
+    "planningTermId": "A String", # ID of the terms and conditions template used in this order.
+    "id": "A String", # ID of this order. This is a read-only, auto-generated field.
+    "accountId": "A String", # Account ID of this order.
+  }
+
+ +
+ list(profileId, projectId, searchString=None, pageToken=None, sortField=None, ids=None, maxResults=None, sortOrder=None, siteId=None) +
Retrieves a list of orders, possibly filtered.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  projectId: string, Project ID for orders. (required)
+  searchString: string, Allows searching for orders by name or ID. Wildcards (*) are allowed. For example, "order*2015" will return orders with names like "order June 2015", "order April 2015", or simply "order 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "order" will match orders with name "my order", "order 2015", or simply "order".
+  pageToken: string, Value of the nextPageToken from the previous result page.
+  sortField: string, Field by which to sort the list.
+    Allowed values
+      ID - 
+      NAME - 
+  ids: string, Select only orders with these IDs. (repeated)
+  maxResults: integer, Maximum number of results to return.
+  sortOrder: string, Order of sorted results, default is ASCENDING.
+    Allowed values
+      ASCENDING - 
+      DESCENDING - 
+  siteId: string, Select only orders that are associated with these site IDs. (repeated)
+
+Returns:
+  An object of the form:
+
+    { # Order List Response
+    "nextPageToken": "A String", # Pagination token to be used for the next list operation.
+    "kind": "dfareporting#ordersListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#ordersListResponse".
+    "orders": [ # Order collection.
+      { # Describes properties of a DoubleClick Planning order.
+        "termsAndConditions": "A String", # Terms and conditions of this order.
+        "kind": "dfareporting#order", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#order".
+        "sellerOrganizationName": "A String", # Name of the seller organization.
+        "subaccountId": "A String", # Subaccount ID of this order.
+        "name": "A String", # Name of this order.
+        "buyerInvoiceId": "A String", # Buyer invoice ID associated with this order.
+        "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this order.
+          "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+        },
+        "notes": "A String", # Notes of this order.
+        "contacts": [ # Contacts for this order.
+          { # Contact of an order.
+            "signatureUserProfileId": "A String", # ID of the user profile containing the signature that will be embedded into order documents.
+            "contactTitle": "A String", # Title of this contact.
+            "contactInfo": "A String", # Free-form information about this contact. It could be any information related to this contact in addition to type, title, name, and signature user profile ID.
+            "contactName": "A String", # Name of this contact.
+            "contactType": "A String", # Type of this contact.
+          },
+        ],
+        "buyerOrganizationName": "A String", # Name of the buyer organization.
+        "comments": "A String", # Comments in this order.
+        "advertiserId": "A String", # Advertiser ID of this order.
+        "approverUserProfileIds": [ # IDs for users that have to approve documents created for this order.
+          "A String",
+        ],
+        "siteId": [ # Site IDs this order is associated with.
+          "A String",
+        ],
+        "sellerOrderId": "A String", # Seller order ID associated with this order.
+        "projectId": "A String", # Project ID of this order.
+        "siteNames": [ # Free-form site names this order is associated with.
+          "A String",
+        ],
+        "planningTermId": "A String", # ID of the terms and conditions template used in this order.
+        "id": "A String", # ID of this order. This is a read-only, auto-generated field.
+        "accountId": "A String", # Account ID of this order.
+      },
+    ],
+  }
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    
+
+ + \ No newline at end of file diff --git a/docs/dyn/dfareporting_v2_5.placementGroups.html b/docs/dyn/dfareporting_v2_5.placementGroups.html new file mode 100644 index 00000000000..4f980660311 --- /dev/null +++ b/docs/dyn/dfareporting_v2_5.placementGroups.html @@ -0,0 +1,976 @@ + + + +

DCM/DFA Reporting And Trafficking API . placementGroups

+

Instance Methods

+

+ get(profileId, id)

+

Gets one placement group by ID.

+

+ insert(profileId, body)

+

Inserts a new placement group.

+

+ list(profileId, siteIds=None, placementGroupType=None, pricingTypes=None, campaignIds=None, advertiserIds=None, pageToken=None, maxStartDate=None, sortOrder=None, maxEndDate=None, placementStrategyIds=None, contentCategoryIds=None, archived=None, maxResults=None, minStartDate=None, searchString=None, minEndDate=None, directorySiteIds=None, ids=None, sortField=None)

+

Retrieves a list of placement groups, possibly filtered.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

+ patch(profileId, id, body)

+

Updates an existing placement group. This method supports patch semantics.

+

+ update(profileId, body)

+

Updates an existing placement group.

+

Method Details

+
+ get(profileId, id) +
Gets one placement group by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Placement group ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a package or roadblock.
+      "comment": "A String", # Comments for this placement group.
+      "primaryPlacementId": "A String", # ID of the primary placement, used to calculate the media cost of a roadblock (placement group). Modifying this field will automatically modify the primary field on all affected roadblock child placements.
+      "campaignId": "A String", # Campaign ID of this placement group. This field is required on insertion.
+      "directorySiteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the directory site. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "advertiserId": "A String", # Advertiser ID of this placement group. This is a required field on insertion.
+      "directorySiteId": "A String", # Directory site ID associated with this placement group. On insert, you must set either this field or the site_id field to specify the site associated with this placement group. This is a required field that is read-only after insertion.
+      "placementGroupType": "A String", # Type of this placement group. A package is a simple group of placements that acts as a single pricing point for a group of tags. A roadblock is a group of placements that not only acts as a single pricing point, but also assumes that all the tags in it will be served at the same time. A roadblock requires one of its assigned placements to be marked as primary for reporting. This field is required on insertion.
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "id": "A String", # ID of this placement group. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this placement group. This is a read-only field that can be left blank.
+      "archived": True or False, # Whether this placement group is archived.
+      "childPlacementIds": [ # IDs of placements which are assigned to this placement group. This is a read-only, auto-generated field.
+        "A String",
+      ],
+      "contentCategoryId": "A String", # ID of the content category assigned to this placement group.
+      "externalId": "A String", # External ID for this placement.
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this placement group. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "primaryPlacementIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the primary placement. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "campaignIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the campaign. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "createInfo": { # Modification timestamp. # Information about the creation of this placement group. This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "siteId": "A String", # Site ID associated with this placement group. On insert, you must set either this field or the directorySiteId field to specify the site associated with this placement group. This is a required field that is read-only after insertion.
+      "siteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the site. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "placementStrategyId": "A String", # ID of the placement strategy assigned to this placement group.
+      "kind": "dfareporting#placementGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#placementGroup".
+      "subaccountId": "A String", # Subaccount ID of this placement group. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this placement group. This is a required field and must be less than 256 characters long.
+      "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this placement group. This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "pricingSchedule": { # Pricing Schedule # Pricing schedule of this placement group. This field is required on insertion.
+        "startDate": "A String", # Placement start date. This date must be later than, or the same day as, the campaign start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error. This field is required on insertion.
+        "endDate": "A String", # Placement end date. This date must be later than, or the same day as, the placement start date, but not later than the campaign end date. If, for example, you set 6/25/2015 as both the start and end dates, the effective placement date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error. This field is required on insertion.
+        "flighted": True or False, # Whether this placement is flighted. If true, pricing periods will be computed automatically.
+        "disregardOverdelivery": True or False, # Whether cap costs are ignored by ad serving.
+        "capCostOption": "A String", # Placement cap cost option.
+        "pricingPeriods": [ # Pricing periods for this placement.
+          { # Pricing Period
+            "units": "A String", # Units of this pricing period.
+            "rateOrCostNanos": "A String", # Rate or cost of this pricing period.
+            "startDate": "A String", # Pricing period start date. This date must be later than, or the same day as, the placement start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.
+            "endDate": "A String", # Pricing period end date. This date must be later than, or the same day as, the pricing period start date, but not later than the placement end date. The period end date can be the same date as the period start date. If, for example, you set 6/25/2015 as both the start and end dates, the effective pricing period date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error.
+            "pricingComment": "A String", # Comments for this pricing period.
+          },
+        ],
+        "pricingType": "A String", # Placement pricing type. This field is required on insertion.
+        "testingStartDate": "A String", # Testing start date of this placement. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.
+        "floodlightActivityId": "A String", # Floodlight activity ID associated with this placement. This field should be set when placement pricing type is set to PRICING_TYPE_CPA.
+      },
+    }
+
+ +
+ insert(profileId, body) +
Inserts a new placement group.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a package or roadblock.
+    "comment": "A String", # Comments for this placement group.
+    "primaryPlacementId": "A String", # ID of the primary placement, used to calculate the media cost of a roadblock (placement group). Modifying this field will automatically modify the primary field on all affected roadblock child placements.
+    "campaignId": "A String", # Campaign ID of this placement group. This field is required on insertion.
+    "directorySiteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the directory site. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "advertiserId": "A String", # Advertiser ID of this placement group. This is a required field on insertion.
+    "directorySiteId": "A String", # Directory site ID associated with this placement group. On insert, you must set either this field or the site_id field to specify the site associated with this placement group. This is a required field that is read-only after insertion.
+    "placementGroupType": "A String", # Type of this placement group. A package is a simple group of placements that acts as a single pricing point for a group of tags. A roadblock is a group of placements that not only acts as a single pricing point, but also assumes that all the tags in it will be served at the same time. A roadblock requires one of its assigned placements to be marked as primary for reporting. This field is required on insertion.
+    "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "id": "A String", # ID of this placement group. This is a read-only, auto-generated field.
+    "accountId": "A String", # Account ID of this placement group. This is a read-only field that can be left blank.
+    "archived": True or False, # Whether this placement group is archived.
+    "childPlacementIds": [ # IDs of placements which are assigned to this placement group. This is a read-only, auto-generated field.
+      "A String",
+    ],
+    "contentCategoryId": "A String", # ID of the content category assigned to this placement group.
+    "externalId": "A String", # External ID for this placement.
+    "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this placement group. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "primaryPlacementIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the primary placement. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "campaignIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the campaign. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "createInfo": { # Modification timestamp. # Information about the creation of this placement group. This is a read-only field.
+      "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+    },
+    "siteId": "A String", # Site ID associated with this placement group. On insert, you must set either this field or the directorySiteId field to specify the site associated with this placement group. This is a required field that is read-only after insertion.
+    "siteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the site. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "placementStrategyId": "A String", # ID of the placement strategy assigned to this placement group.
+    "kind": "dfareporting#placementGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#placementGroup".
+    "subaccountId": "A String", # Subaccount ID of this placement group. This is a read-only field that can be left blank.
+    "name": "A String", # Name of this placement group. This is a required field and must be less than 256 characters long.
+    "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this placement group. This is a read-only field.
+      "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+    },
+    "pricingSchedule": { # Pricing Schedule # Pricing schedule of this placement group. This field is required on insertion.
+      "startDate": "A String", # Placement start date. This date must be later than, or the same day as, the campaign start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error. This field is required on insertion.
+      "endDate": "A String", # Placement end date. This date must be later than, or the same day as, the placement start date, but not later than the campaign end date. If, for example, you set 6/25/2015 as both the start and end dates, the effective placement date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error. This field is required on insertion.
+      "flighted": True or False, # Whether this placement is flighted. If true, pricing periods will be computed automatically.
+      "disregardOverdelivery": True or False, # Whether cap costs are ignored by ad serving.
+      "capCostOption": "A String", # Placement cap cost option.
+      "pricingPeriods": [ # Pricing periods for this placement.
+        { # Pricing Period
+          "units": "A String", # Units of this pricing period.
+          "rateOrCostNanos": "A String", # Rate or cost of this pricing period.
+          "startDate": "A String", # Pricing period start date. This date must be later than, or the same day as, the placement start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.
+          "endDate": "A String", # Pricing period end date. This date must be later than, or the same day as, the pricing period start date, but not later than the placement end date. The period end date can be the same date as the period start date. If, for example, you set 6/25/2015 as both the start and end dates, the effective pricing period date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error.
+          "pricingComment": "A String", # Comments for this pricing period.
+        },
+      ],
+      "pricingType": "A String", # Placement pricing type. This field is required on insertion.
+      "testingStartDate": "A String", # Testing start date of this placement. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.
+      "floodlightActivityId": "A String", # Floodlight activity ID associated with this placement. This field should be set when placement pricing type is set to PRICING_TYPE_CPA.
+    },
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a package or roadblock.
+      "comment": "A String", # Comments for this placement group.
+      "primaryPlacementId": "A String", # ID of the primary placement, used to calculate the media cost of a roadblock (placement group). Modifying this field will automatically modify the primary field on all affected roadblock child placements.
+      "campaignId": "A String", # Campaign ID of this placement group. This field is required on insertion.
+      "directorySiteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the directory site. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "advertiserId": "A String", # Advertiser ID of this placement group. This is a required field on insertion.
+      "directorySiteId": "A String", # Directory site ID associated with this placement group. On insert, you must set either this field or the site_id field to specify the site associated with this placement group. This is a required field that is read-only after insertion.
+      "placementGroupType": "A String", # Type of this placement group. A package is a simple group of placements that acts as a single pricing point for a group of tags. A roadblock is a group of placements that not only acts as a single pricing point, but also assumes that all the tags in it will be served at the same time. A roadblock requires one of its assigned placements to be marked as primary for reporting. This field is required on insertion.
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "id": "A String", # ID of this placement group. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this placement group. This is a read-only field that can be left blank.
+      "archived": True or False, # Whether this placement group is archived.
+      "childPlacementIds": [ # IDs of placements which are assigned to this placement group. This is a read-only, auto-generated field.
+        "A String",
+      ],
+      "contentCategoryId": "A String", # ID of the content category assigned to this placement group.
+      "externalId": "A String", # External ID for this placement.
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this placement group. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "primaryPlacementIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the primary placement. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "campaignIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the campaign. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "createInfo": { # Modification timestamp. # Information about the creation of this placement group. This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "siteId": "A String", # Site ID associated with this placement group. On insert, you must set either this field or the directorySiteId field to specify the site associated with this placement group. This is a required field that is read-only after insertion.
+      "siteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the site. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "placementStrategyId": "A String", # ID of the placement strategy assigned to this placement group.
+      "kind": "dfareporting#placementGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#placementGroup".
+      "subaccountId": "A String", # Subaccount ID of this placement group. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this placement group. This is a required field and must be less than 256 characters long.
+      "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this placement group. This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "pricingSchedule": { # Pricing Schedule # Pricing schedule of this placement group. This field is required on insertion.
+        "startDate": "A String", # Placement start date. This date must be later than, or the same day as, the campaign start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error. This field is required on insertion.
+        "endDate": "A String", # Placement end date. This date must be later than, or the same day as, the placement start date, but not later than the campaign end date. If, for example, you set 6/25/2015 as both the start and end dates, the effective placement date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error. This field is required on insertion.
+        "flighted": True or False, # Whether this placement is flighted. If true, pricing periods will be computed automatically.
+        "disregardOverdelivery": True or False, # Whether cap costs are ignored by ad serving.
+        "capCostOption": "A String", # Placement cap cost option.
+        "pricingPeriods": [ # Pricing periods for this placement.
+          { # Pricing Period
+            "units": "A String", # Units of this pricing period.
+            "rateOrCostNanos": "A String", # Rate or cost of this pricing period.
+            "startDate": "A String", # Pricing period start date. This date must be later than, or the same day as, the placement start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.
+            "endDate": "A String", # Pricing period end date. This date must be later than, or the same day as, the pricing period start date, but not later than the placement end date. The period end date can be the same date as the period start date. If, for example, you set 6/25/2015 as both the start and end dates, the effective pricing period date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error.
+            "pricingComment": "A String", # Comments for this pricing period.
+          },
+        ],
+        "pricingType": "A String", # Placement pricing type. This field is required on insertion.
+        "testingStartDate": "A String", # Testing start date of this placement. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.
+        "floodlightActivityId": "A String", # Floodlight activity ID associated with this placement. This field should be set when placement pricing type is set to PRICING_TYPE_CPA.
+      },
+    }
+
+ +
+ list(profileId, siteIds=None, placementGroupType=None, pricingTypes=None, campaignIds=None, advertiserIds=None, pageToken=None, maxStartDate=None, sortOrder=None, maxEndDate=None, placementStrategyIds=None, contentCategoryIds=None, archived=None, maxResults=None, minStartDate=None, searchString=None, minEndDate=None, directorySiteIds=None, ids=None, sortField=None) +
Retrieves a list of placement groups, possibly filtered.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  siteIds: string, Select only placement groups that are associated with these sites. (repeated)
+  placementGroupType: string, Select only placement groups belonging with this group type. A package is a simple group of placements that acts as a single pricing point for a group of tags. A roadblock is a group of placements that not only acts as a single pricing point but also assumes that all the tags in it will be served at the same time. A roadblock requires one of its assigned placements to be marked as primary for reporting.
+    Allowed values
+      PLACEMENT_PACKAGE - 
+      PLACEMENT_ROADBLOCK - 
+  pricingTypes: string, Select only placement groups with these pricing types. (repeated)
+    Allowed values
+      PRICING_TYPE_CPA - 
+      PRICING_TYPE_CPC - 
+      PRICING_TYPE_CPM - 
+      PRICING_TYPE_FLAT_RATE_CLICKS - 
+      PRICING_TYPE_FLAT_RATE_IMPRESSIONS - 
+  campaignIds: string, Select only placement groups that belong to these campaigns. (repeated)
+  advertiserIds: string, Select only placement groups that belong to these advertisers. (repeated)
+  pageToken: string, Value of the nextPageToken from the previous result page.
+  maxStartDate: string, Select only placements or placement groups whose start date is on or before the specified maxStartDate. The date should be formatted as "yyyy-MM-dd".
+  sortOrder: string, Order of sorted results, default is ASCENDING.
+    Allowed values
+      ASCENDING - 
+      DESCENDING - 
+  maxEndDate: string, Select only placements or placement groups whose end date is on or before the specified maxEndDate. The date should be formatted as "yyyy-MM-dd".
+  placementStrategyIds: string, Select only placement groups that are associated with these placement strategies. (repeated)
+  contentCategoryIds: string, Select only placement groups that are associated with these content categories. (repeated)
+  archived: boolean, Select only archived placements. Don't set this field to select both archived and non-archived placements.
+  maxResults: integer, Maximum number of results to return.
+  minStartDate: string, Select only placements or placement groups whose start date is on or after the specified minStartDate. The date should be formatted as "yyyy-MM-dd".
+  searchString: string, Allows searching for placement groups by name or ID. Wildcards (*) are allowed. For example, "placement*2015" will return placement groups with names like "placement group June 2015", "placement group May 2015", or simply "placements 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "placementgroup" will match placement groups with name "my placementgroup", "placementgroup 2015", or simply "placementgroup".
+  minEndDate: string, Select only placements or placement groups whose end date is on or after the specified minEndDate. The date should be formatted as "yyyy-MM-dd".
+  directorySiteIds: string, Select only placement groups that are associated with these directory sites. (repeated)
+  ids: string, Select only placement groups with these IDs. (repeated)
+  sortField: string, Field by which to sort the list.
+    Allowed values
+      ID - 
+      NAME - 
+
+Returns:
+  An object of the form:
+
+    { # Placement Group List Response
+    "nextPageToken": "A String", # Pagination token to be used for the next list operation.
+    "kind": "dfareporting#placementGroupsListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#placementGroupsListResponse".
+    "placementGroups": [ # Placement group collection.
+      { # Contains properties of a package or roadblock.
+          "comment": "A String", # Comments for this placement group.
+          "primaryPlacementId": "A String", # ID of the primary placement, used to calculate the media cost of a roadblock (placement group). Modifying this field will automatically modify the primary field on all affected roadblock child placements.
+          "campaignId": "A String", # Campaign ID of this placement group. This field is required on insertion.
+          "directorySiteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the directory site. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "advertiserId": "A String", # Advertiser ID of this placement group. This is a required field on insertion.
+          "directorySiteId": "A String", # Directory site ID associated with this placement group. On insert, you must set either this field or the site_id field to specify the site associated with this placement group. This is a required field that is read-only after insertion.
+          "placementGroupType": "A String", # Type of this placement group. A package is a simple group of placements that acts as a single pricing point for a group of tags. A roadblock is a group of placements that not only acts as a single pricing point, but also assumes that all the tags in it will be served at the same time. A roadblock requires one of its assigned placements to be marked as primary for reporting. This field is required on insertion.
+          "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "id": "A String", # ID of this placement group. This is a read-only, auto-generated field.
+          "accountId": "A String", # Account ID of this placement group. This is a read-only field that can be left blank.
+          "archived": True or False, # Whether this placement group is archived.
+          "childPlacementIds": [ # IDs of placements which are assigned to this placement group. This is a read-only, auto-generated field.
+            "A String",
+          ],
+          "contentCategoryId": "A String", # ID of the content category assigned to this placement group.
+          "externalId": "A String", # External ID for this placement.
+          "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this placement group. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "primaryPlacementIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the primary placement. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "campaignIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the campaign. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "createInfo": { # Modification timestamp. # Information about the creation of this placement group. This is a read-only field.
+            "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+          },
+          "siteId": "A String", # Site ID associated with this placement group. On insert, you must set either this field or the directorySiteId field to specify the site associated with this placement group. This is a required field that is read-only after insertion.
+          "siteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the site. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "placementStrategyId": "A String", # ID of the placement strategy assigned to this placement group.
+          "kind": "dfareporting#placementGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#placementGroup".
+          "subaccountId": "A String", # Subaccount ID of this placement group. This is a read-only field that can be left blank.
+          "name": "A String", # Name of this placement group. This is a required field and must be less than 256 characters long.
+          "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this placement group. This is a read-only field.
+            "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+          },
+          "pricingSchedule": { # Pricing Schedule # Pricing schedule of this placement group. This field is required on insertion.
+            "startDate": "A String", # Placement start date. This date must be later than, or the same day as, the campaign start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error. This field is required on insertion.
+            "endDate": "A String", # Placement end date. This date must be later than, or the same day as, the placement start date, but not later than the campaign end date. If, for example, you set 6/25/2015 as both the start and end dates, the effective placement date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error. This field is required on insertion.
+            "flighted": True or False, # Whether this placement is flighted. If true, pricing periods will be computed automatically.
+            "disregardOverdelivery": True or False, # Whether cap costs are ignored by ad serving.
+            "capCostOption": "A String", # Placement cap cost option.
+            "pricingPeriods": [ # Pricing periods for this placement.
+              { # Pricing Period
+                "units": "A String", # Units of this pricing period.
+                "rateOrCostNanos": "A String", # Rate or cost of this pricing period.
+                "startDate": "A String", # Pricing period start date. This date must be later than, or the same day as, the placement start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.
+                "endDate": "A String", # Pricing period end date. This date must be later than, or the same day as, the pricing period start date, but not later than the placement end date. The period end date can be the same date as the period start date. If, for example, you set 6/25/2015 as both the start and end dates, the effective pricing period date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error.
+                "pricingComment": "A String", # Comments for this pricing period.
+              },
+            ],
+            "pricingType": "A String", # Placement pricing type. This field is required on insertion.
+            "testingStartDate": "A String", # Testing start date of this placement. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.
+            "floodlightActivityId": "A String", # Floodlight activity ID associated with this placement. This field should be set when placement pricing type is set to PRICING_TYPE_CPA.
+          },
+        },
+    ],
+  }
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    
+
+ +
+ patch(profileId, id, body) +
Updates an existing placement group. This method supports patch semantics.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Placement group ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a package or roadblock.
+    "comment": "A String", # Comments for this placement group.
+    "primaryPlacementId": "A String", # ID of the primary placement, used to calculate the media cost of a roadblock (placement group). Modifying this field will automatically modify the primary field on all affected roadblock child placements.
+    "campaignId": "A String", # Campaign ID of this placement group. This field is required on insertion.
+    "directorySiteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the directory site. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "advertiserId": "A String", # Advertiser ID of this placement group. This is a required field on insertion.
+    "directorySiteId": "A String", # Directory site ID associated with this placement group. On insert, you must set either this field or the site_id field to specify the site associated with this placement group. This is a required field that is read-only after insertion.
+    "placementGroupType": "A String", # Type of this placement group. A package is a simple group of placements that acts as a single pricing point for a group of tags. A roadblock is a group of placements that not only acts as a single pricing point, but also assumes that all the tags in it will be served at the same time. A roadblock requires one of its assigned placements to be marked as primary for reporting. This field is required on insertion.
+    "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "id": "A String", # ID of this placement group. This is a read-only, auto-generated field.
+    "accountId": "A String", # Account ID of this placement group. This is a read-only field that can be left blank.
+    "archived": True or False, # Whether this placement group is archived.
+    "childPlacementIds": [ # IDs of placements which are assigned to this placement group. This is a read-only, auto-generated field.
+      "A String",
+    ],
+    "contentCategoryId": "A String", # ID of the content category assigned to this placement group.
+    "externalId": "A String", # External ID for this placement.
+    "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this placement group. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "primaryPlacementIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the primary placement. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "campaignIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the campaign. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "createInfo": { # Modification timestamp. # Information about the creation of this placement group. This is a read-only field.
+      "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+    },
+    "siteId": "A String", # Site ID associated with this placement group. On insert, you must set either this field or the directorySiteId field to specify the site associated with this placement group. This is a required field that is read-only after insertion.
+    "siteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the site. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "placementStrategyId": "A String", # ID of the placement strategy assigned to this placement group.
+    "kind": "dfareporting#placementGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#placementGroup".
+    "subaccountId": "A String", # Subaccount ID of this placement group. This is a read-only field that can be left blank.
+    "name": "A String", # Name of this placement group. This is a required field and must be less than 256 characters long.
+    "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this placement group. This is a read-only field.
+      "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+    },
+    "pricingSchedule": { # Pricing Schedule # Pricing schedule of this placement group. This field is required on insertion.
+      "startDate": "A String", # Placement start date. This date must be later than, or the same day as, the campaign start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error. This field is required on insertion.
+      "endDate": "A String", # Placement end date. This date must be later than, or the same day as, the placement start date, but not later than the campaign end date. If, for example, you set 6/25/2015 as both the start and end dates, the effective placement date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error. This field is required on insertion.
+      "flighted": True or False, # Whether this placement is flighted. If true, pricing periods will be computed automatically.
+      "disregardOverdelivery": True or False, # Whether cap costs are ignored by ad serving.
+      "capCostOption": "A String", # Placement cap cost option.
+      "pricingPeriods": [ # Pricing periods for this placement.
+        { # Pricing Period
+          "units": "A String", # Units of this pricing period.
+          "rateOrCostNanos": "A String", # Rate or cost of this pricing period.
+          "startDate": "A String", # Pricing period start date. This date must be later than, or the same day as, the placement start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.
+          "endDate": "A String", # Pricing period end date. This date must be later than, or the same day as, the pricing period start date, but not later than the placement end date. The period end date can be the same date as the period start date. If, for example, you set 6/25/2015 as both the start and end dates, the effective pricing period date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error.
+          "pricingComment": "A String", # Comments for this pricing period.
+        },
+      ],
+      "pricingType": "A String", # Placement pricing type. This field is required on insertion.
+      "testingStartDate": "A String", # Testing start date of this placement. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.
+      "floodlightActivityId": "A String", # Floodlight activity ID associated with this placement. This field should be set when placement pricing type is set to PRICING_TYPE_CPA.
+    },
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a package or roadblock.
+      "comment": "A String", # Comments for this placement group.
+      "primaryPlacementId": "A String", # ID of the primary placement, used to calculate the media cost of a roadblock (placement group). Modifying this field will automatically modify the primary field on all affected roadblock child placements.
+      "campaignId": "A String", # Campaign ID of this placement group. This field is required on insertion.
+      "directorySiteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the directory site. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "advertiserId": "A String", # Advertiser ID of this placement group. This is a required field on insertion.
+      "directorySiteId": "A String", # Directory site ID associated with this placement group. On insert, you must set either this field or the site_id field to specify the site associated with this placement group. This is a required field that is read-only after insertion.
+      "placementGroupType": "A String", # Type of this placement group. A package is a simple group of placements that acts as a single pricing point for a group of tags. A roadblock is a group of placements that not only acts as a single pricing point, but also assumes that all the tags in it will be served at the same time. A roadblock requires one of its assigned placements to be marked as primary for reporting. This field is required on insertion.
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "id": "A String", # ID of this placement group. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this placement group. This is a read-only field that can be left blank.
+      "archived": True or False, # Whether this placement group is archived.
+      "childPlacementIds": [ # IDs of placements which are assigned to this placement group. This is a read-only, auto-generated field.
+        "A String",
+      ],
+      "contentCategoryId": "A String", # ID of the content category assigned to this placement group.
+      "externalId": "A String", # External ID for this placement.
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this placement group. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "primaryPlacementIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the primary placement. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "campaignIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the campaign. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "createInfo": { # Modification timestamp. # Information about the creation of this placement group. This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "siteId": "A String", # Site ID associated with this placement group. On insert, you must set either this field or the directorySiteId field to specify the site associated with this placement group. This is a required field that is read-only after insertion.
+      "siteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the site. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "placementStrategyId": "A String", # ID of the placement strategy assigned to this placement group.
+      "kind": "dfareporting#placementGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#placementGroup".
+      "subaccountId": "A String", # Subaccount ID of this placement group. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this placement group. This is a required field and must be less than 256 characters long.
+      "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this placement group. This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "pricingSchedule": { # Pricing Schedule # Pricing schedule of this placement group. This field is required on insertion.
+        "startDate": "A String", # Placement start date. This date must be later than, or the same day as, the campaign start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error. This field is required on insertion.
+        "endDate": "A String", # Placement end date. This date must be later than, or the same day as, the placement start date, but not later than the campaign end date. If, for example, you set 6/25/2015 as both the start and end dates, the effective placement date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error. This field is required on insertion.
+        "flighted": True or False, # Whether this placement is flighted. If true, pricing periods will be computed automatically.
+        "disregardOverdelivery": True or False, # Whether cap costs are ignored by ad serving.
+        "capCostOption": "A String", # Placement cap cost option.
+        "pricingPeriods": [ # Pricing periods for this placement.
+          { # Pricing Period
+            "units": "A String", # Units of this pricing period.
+            "rateOrCostNanos": "A String", # Rate or cost of this pricing period.
+            "startDate": "A String", # Pricing period start date. This date must be later than, or the same day as, the placement start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.
+            "endDate": "A String", # Pricing period end date. This date must be later than, or the same day as, the pricing period start date, but not later than the placement end date. The period end date can be the same date as the period start date. If, for example, you set 6/25/2015 as both the start and end dates, the effective pricing period date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error.
+            "pricingComment": "A String", # Comments for this pricing period.
+          },
+        ],
+        "pricingType": "A String", # Placement pricing type. This field is required on insertion.
+        "testingStartDate": "A String", # Testing start date of this placement. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.
+        "floodlightActivityId": "A String", # Floodlight activity ID associated with this placement. This field should be set when placement pricing type is set to PRICING_TYPE_CPA.
+      },
+    }
+
+ +
+ update(profileId, body) +
Updates an existing placement group.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a package or roadblock.
+    "comment": "A String", # Comments for this placement group.
+    "primaryPlacementId": "A String", # ID of the primary placement, used to calculate the media cost of a roadblock (placement group). Modifying this field will automatically modify the primary field on all affected roadblock child placements.
+    "campaignId": "A String", # Campaign ID of this placement group. This field is required on insertion.
+    "directorySiteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the directory site. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "advertiserId": "A String", # Advertiser ID of this placement group. This is a required field on insertion.
+    "directorySiteId": "A String", # Directory site ID associated with this placement group. On insert, you must set either this field or the site_id field to specify the site associated with this placement group. This is a required field that is read-only after insertion.
+    "placementGroupType": "A String", # Type of this placement group. A package is a simple group of placements that acts as a single pricing point for a group of tags. A roadblock is a group of placements that not only acts as a single pricing point, but also assumes that all the tags in it will be served at the same time. A roadblock requires one of its assigned placements to be marked as primary for reporting. This field is required on insertion.
+    "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "id": "A String", # ID of this placement group. This is a read-only, auto-generated field.
+    "accountId": "A String", # Account ID of this placement group. This is a read-only field that can be left blank.
+    "archived": True or False, # Whether this placement group is archived.
+    "childPlacementIds": [ # IDs of placements which are assigned to this placement group. This is a read-only, auto-generated field.
+      "A String",
+    ],
+    "contentCategoryId": "A String", # ID of the content category assigned to this placement group.
+    "externalId": "A String", # External ID for this placement.
+    "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this placement group. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "primaryPlacementIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the primary placement. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "campaignIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the campaign. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "createInfo": { # Modification timestamp. # Information about the creation of this placement group. This is a read-only field.
+      "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+    },
+    "siteId": "A String", # Site ID associated with this placement group. On insert, you must set either this field or the directorySiteId field to specify the site associated with this placement group. This is a required field that is read-only after insertion.
+    "siteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the site. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "placementStrategyId": "A String", # ID of the placement strategy assigned to this placement group.
+    "kind": "dfareporting#placementGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#placementGroup".
+    "subaccountId": "A String", # Subaccount ID of this placement group. This is a read-only field that can be left blank.
+    "name": "A String", # Name of this placement group. This is a required field and must be less than 256 characters long.
+    "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this placement group. This is a read-only field.
+      "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+    },
+    "pricingSchedule": { # Pricing Schedule # Pricing schedule of this placement group. This field is required on insertion.
+      "startDate": "A String", # Placement start date. This date must be later than, or the same day as, the campaign start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error. This field is required on insertion.
+      "endDate": "A String", # Placement end date. This date must be later than, or the same day as, the placement start date, but not later than the campaign end date. If, for example, you set 6/25/2015 as both the start and end dates, the effective placement date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error. This field is required on insertion.
+      "flighted": True or False, # Whether this placement is flighted. If true, pricing periods will be computed automatically.
+      "disregardOverdelivery": True or False, # Whether cap costs are ignored by ad serving.
+      "capCostOption": "A String", # Placement cap cost option.
+      "pricingPeriods": [ # Pricing periods for this placement.
+        { # Pricing Period
+          "units": "A String", # Units of this pricing period.
+          "rateOrCostNanos": "A String", # Rate or cost of this pricing period.
+          "startDate": "A String", # Pricing period start date. This date must be later than, or the same day as, the placement start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.
+          "endDate": "A String", # Pricing period end date. This date must be later than, or the same day as, the pricing period start date, but not later than the placement end date. The period end date can be the same date as the period start date. If, for example, you set 6/25/2015 as both the start and end dates, the effective pricing period date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error.
+          "pricingComment": "A String", # Comments for this pricing period.
+        },
+      ],
+      "pricingType": "A String", # Placement pricing type. This field is required on insertion.
+      "testingStartDate": "A String", # Testing start date of this placement. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.
+      "floodlightActivityId": "A String", # Floodlight activity ID associated with this placement. This field should be set when placement pricing type is set to PRICING_TYPE_CPA.
+    },
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a package or roadblock.
+      "comment": "A String", # Comments for this placement group.
+      "primaryPlacementId": "A String", # ID of the primary placement, used to calculate the media cost of a roadblock (placement group). Modifying this field will automatically modify the primary field on all affected roadblock child placements.
+      "campaignId": "A String", # Campaign ID of this placement group. This field is required on insertion.
+      "directorySiteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the directory site. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "advertiserId": "A String", # Advertiser ID of this placement group. This is a required field on insertion.
+      "directorySiteId": "A String", # Directory site ID associated with this placement group. On insert, you must set either this field or the site_id field to specify the site associated with this placement group. This is a required field that is read-only after insertion.
+      "placementGroupType": "A String", # Type of this placement group. A package is a simple group of placements that acts as a single pricing point for a group of tags. A roadblock is a group of placements that not only acts as a single pricing point, but also assumes that all the tags in it will be served at the same time. A roadblock requires one of its assigned placements to be marked as primary for reporting. This field is required on insertion.
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "id": "A String", # ID of this placement group. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this placement group. This is a read-only field that can be left blank.
+      "archived": True or False, # Whether this placement group is archived.
+      "childPlacementIds": [ # IDs of placements which are assigned to this placement group. This is a read-only, auto-generated field.
+        "A String",
+      ],
+      "contentCategoryId": "A String", # ID of the content category assigned to this placement group.
+      "externalId": "A String", # External ID for this placement.
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this placement group. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "primaryPlacementIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the primary placement. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "campaignIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the campaign. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "createInfo": { # Modification timestamp. # Information about the creation of this placement group. This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "siteId": "A String", # Site ID associated with this placement group. On insert, you must set either this field or the directorySiteId field to specify the site associated with this placement group. This is a required field that is read-only after insertion.
+      "siteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the site. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "placementStrategyId": "A String", # ID of the placement strategy assigned to this placement group.
+      "kind": "dfareporting#placementGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#placementGroup".
+      "subaccountId": "A String", # Subaccount ID of this placement group. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this placement group. This is a required field and must be less than 256 characters long.
+      "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this placement group. This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "pricingSchedule": { # Pricing Schedule # Pricing schedule of this placement group. This field is required on insertion.
+        "startDate": "A String", # Placement start date. This date must be later than, or the same day as, the campaign start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error. This field is required on insertion.
+        "endDate": "A String", # Placement end date. This date must be later than, or the same day as, the placement start date, but not later than the campaign end date. If, for example, you set 6/25/2015 as both the start and end dates, the effective placement date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error. This field is required on insertion.
+        "flighted": True or False, # Whether this placement is flighted. If true, pricing periods will be computed automatically.
+        "disregardOverdelivery": True or False, # Whether cap costs are ignored by ad serving.
+        "capCostOption": "A String", # Placement cap cost option.
+        "pricingPeriods": [ # Pricing periods for this placement.
+          { # Pricing Period
+            "units": "A String", # Units of this pricing period.
+            "rateOrCostNanos": "A String", # Rate or cost of this pricing period.
+            "startDate": "A String", # Pricing period start date. This date must be later than, or the same day as, the placement start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.
+            "endDate": "A String", # Pricing period end date. This date must be later than, or the same day as, the pricing period start date, but not later than the placement end date. The period end date can be the same date as the period start date. If, for example, you set 6/25/2015 as both the start and end dates, the effective pricing period date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error.
+            "pricingComment": "A String", # Comments for this pricing period.
+          },
+        ],
+        "pricingType": "A String", # Placement pricing type. This field is required on insertion.
+        "testingStartDate": "A String", # Testing start date of this placement. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.
+        "floodlightActivityId": "A String", # Floodlight activity ID associated with this placement. This field should be set when placement pricing type is set to PRICING_TYPE_CPA.
+      },
+    }
+
+ + \ No newline at end of file diff --git a/docs/dyn/dfareporting_v2_5.placementStrategies.html b/docs/dyn/dfareporting_v2_5.placementStrategies.html new file mode 100644 index 00000000000..81a6d542973 --- /dev/null +++ b/docs/dyn/dfareporting_v2_5.placementStrategies.html @@ -0,0 +1,263 @@ + + + +

DCM/DFA Reporting And Trafficking API . placementStrategies

+

Instance Methods

+

+ delete(profileId, id)

+

Deletes an existing placement strategy.

+

+ get(profileId, id)

+

Gets one placement strategy by ID.

+

+ insert(profileId, body)

+

Inserts a new placement strategy.

+

+ list(profileId, searchString=None, pageToken=None, sortField=None, ids=None, maxResults=None, sortOrder=None)

+

Retrieves a list of placement strategies, possibly filtered.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

+ patch(profileId, id, body)

+

Updates an existing placement strategy. This method supports patch semantics.

+

+ update(profileId, body)

+

Updates an existing placement strategy.

+

Method Details

+
+ delete(profileId, id) +
Deletes an existing placement strategy.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Placement strategy ID. (required)
+
+
+ +
+ get(profileId, id) +
Gets one placement strategy by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Placement strategy ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a placement strategy.
+      "kind": "dfareporting#placementStrategy", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#placementStrategy".
+      "id": "A String", # ID of this placement strategy. This is a read-only, auto-generated field.
+      "name": "A String", # Name of this placement strategy. This is a required field. It must be less than 256 characters long and unique among placement strategies of the same account.
+      "accountId": "A String", # Account ID of this placement strategy.This is a read-only field that can be left blank.
+    }
+
+ +
+ insert(profileId, body) +
Inserts a new placement strategy.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a placement strategy.
+    "kind": "dfareporting#placementStrategy", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#placementStrategy".
+    "id": "A String", # ID of this placement strategy. This is a read-only, auto-generated field.
+    "name": "A String", # Name of this placement strategy. This is a required field. It must be less than 256 characters long and unique among placement strategies of the same account.
+    "accountId": "A String", # Account ID of this placement strategy.This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a placement strategy.
+      "kind": "dfareporting#placementStrategy", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#placementStrategy".
+      "id": "A String", # ID of this placement strategy. This is a read-only, auto-generated field.
+      "name": "A String", # Name of this placement strategy. This is a required field. It must be less than 256 characters long and unique among placement strategies of the same account.
+      "accountId": "A String", # Account ID of this placement strategy.This is a read-only field that can be left blank.
+    }
+
+ +
+ list(profileId, searchString=None, pageToken=None, sortField=None, ids=None, maxResults=None, sortOrder=None) +
Retrieves a list of placement strategies, possibly filtered.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  searchString: string, Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "placementstrategy*2015" will return objects with names like "placementstrategy June 2015", "placementstrategy April 2015", or simply "placementstrategy 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "placementstrategy" will match objects with name "my placementstrategy", "placementstrategy 2015", or simply "placementstrategy".
+  pageToken: string, Value of the nextPageToken from the previous result page.
+  sortField: string, Field by which to sort the list.
+    Allowed values
+      ID - 
+      NAME - 
+  ids: string, Select only placement strategies with these IDs. (repeated)
+  maxResults: integer, Maximum number of results to return.
+  sortOrder: string, Order of sorted results, default is ASCENDING.
+    Allowed values
+      ASCENDING - 
+      DESCENDING - 
+
+Returns:
+  An object of the form:
+
+    { # Placement Strategy List Response
+    "nextPageToken": "A String", # Pagination token to be used for the next list operation.
+    "kind": "dfareporting#placementStrategiesListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#placementStrategiesListResponse".
+    "placementStrategies": [ # Placement strategy collection.
+      { # Contains properties of a placement strategy.
+          "kind": "dfareporting#placementStrategy", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#placementStrategy".
+          "id": "A String", # ID of this placement strategy. This is a read-only, auto-generated field.
+          "name": "A String", # Name of this placement strategy. This is a required field. It must be less than 256 characters long and unique among placement strategies of the same account.
+          "accountId": "A String", # Account ID of this placement strategy.This is a read-only field that can be left blank.
+        },
+    ],
+  }
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    
+
+ +
+ patch(profileId, id, body) +
Updates an existing placement strategy. This method supports patch semantics.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Placement strategy ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a placement strategy.
+    "kind": "dfareporting#placementStrategy", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#placementStrategy".
+    "id": "A String", # ID of this placement strategy. This is a read-only, auto-generated field.
+    "name": "A String", # Name of this placement strategy. This is a required field. It must be less than 256 characters long and unique among placement strategies of the same account.
+    "accountId": "A String", # Account ID of this placement strategy.This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a placement strategy.
+      "kind": "dfareporting#placementStrategy", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#placementStrategy".
+      "id": "A String", # ID of this placement strategy. This is a read-only, auto-generated field.
+      "name": "A String", # Name of this placement strategy. This is a required field. It must be less than 256 characters long and unique among placement strategies of the same account.
+      "accountId": "A String", # Account ID of this placement strategy.This is a read-only field that can be left blank.
+    }
+
+ +
+ update(profileId, body) +
Updates an existing placement strategy.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a placement strategy.
+    "kind": "dfareporting#placementStrategy", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#placementStrategy".
+    "id": "A String", # ID of this placement strategy. This is a read-only, auto-generated field.
+    "name": "A String", # Name of this placement strategy. This is a required field. It must be less than 256 characters long and unique among placement strategies of the same account.
+    "accountId": "A String", # Account ID of this placement strategy.This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a placement strategy.
+      "kind": "dfareporting#placementStrategy", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#placementStrategy".
+      "id": "A String", # ID of this placement strategy. This is a read-only, auto-generated field.
+      "name": "A String", # Name of this placement strategy. This is a required field. It must be less than 256 characters long and unique among placement strategies of the same account.
+      "accountId": "A String", # Account ID of this placement strategy.This is a read-only field that can be left blank.
+    }
+
+ + \ No newline at end of file diff --git a/docs/dyn/dfareporting_v2_5.placements.html b/docs/dyn/dfareporting_v2_5.placements.html new file mode 100644 index 00000000000..41240355ded --- /dev/null +++ b/docs/dyn/dfareporting_v2_5.placements.html @@ -0,0 +1,1359 @@ + + + +

DCM/DFA Reporting And Trafficking API . placements

+

Instance Methods

+

+ generatetags(profileId, campaignId=None, tagFormats=None, placementIds=None)

+

Generates tags for a placement.

+

+ get(profileId, id)

+

Gets one placement by ID.

+

+ insert(profileId, body)

+

Inserts a new placement.

+

+ list(profileId, siteIds=None, paymentSource=None, pricingTypes=None, campaignIds=None, advertiserIds=None, sizeIds=None, pageToken=None, maxStartDate=None, sortOrder=None, maxEndDate=None, placementStrategyIds=None, contentCategoryIds=None, archived=None, maxResults=None, minStartDate=None, compatibilities=None, searchString=None, minEndDate=None, directorySiteIds=None, sortField=None, ids=None, groupIds=None)

+

Retrieves a list of placements, possibly filtered.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

+ patch(profileId, id, body)

+

Updates an existing placement. This method supports patch semantics.

+

+ update(profileId, body)

+

Updates an existing placement.

+

Method Details

+
+ generatetags(profileId, campaignId=None, tagFormats=None, placementIds=None) +
Generates tags for a placement.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  campaignId: string, Generate placements belonging to this campaign. This is a required field.
+  tagFormats: string, Tag formats to generate for these placements. (repeated)
+    Allowed values
+      PLACEMENT_TAG_CLICK_COMMANDS - 
+      PLACEMENT_TAG_IFRAME_ILAYER - 
+      PLACEMENT_TAG_IFRAME_JAVASCRIPT - 
+      PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY - 
+      PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH - 
+      PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3 - 
+      PLACEMENT_TAG_INTERNAL_REDIRECT - 
+      PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT - 
+      PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY - 
+      PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT - 
+      PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT - 
+      PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY - 
+      PLACEMENT_TAG_JAVASCRIPT - 
+      PLACEMENT_TAG_JAVASCRIPT_LEGACY - 
+      PLACEMENT_TAG_STANDARD - 
+      PLACEMENT_TAG_TRACKING - 
+      PLACEMENT_TAG_TRACKING_IFRAME - 
+      PLACEMENT_TAG_TRACKING_JAVASCRIPT - 
+  placementIds: string, Generate tags for these placements. (repeated)
+
+Returns:
+  An object of the form:
+
+    { # Placement GenerateTags Response
+    "kind": "dfareporting#placementsGenerateTagsResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#placementsGenerateTagsResponse".
+    "placementTags": [ # Set of generated tags for the specified placements.
+      { # Placement Tag
+        "tagDatas": [ # Tags generated for this placement.
+          { # Placement Tag Data
+            "clickTag": "A String", # Tag string to record a click.
+            "impressionTag": "A String", # Tag string for serving an ad.
+            "creativeId": "A String", # Creative associated with this placement tag.
+            "adId": "A String", # Ad associated with this placement tag.
+            "format": "A String", # TagData tag format of this tag.
+          },
+        ],
+        "placementId": "A String", # Placement ID
+      },
+    ],
+  }
+
+ +
+ get(profileId, id) +
Gets one placement by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Placement ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a placement.
+      "comment": "A String", # Comments for this placement.
+      "campaignId": "A String", # Campaign ID of this placement. This field is a required field on insertion.
+      "paymentSource": "A String", # Payment source for this placement. This is a required field that is read-only after insertion.
+      "directorySiteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the directory site. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "advertiserId": "A String", # Advertiser ID of this placement. This field can be left blank.
+      "keyName": "A String", # Key name of this placement. This is a read-only, auto-generated field.
+      "directorySiteId": "A String", # Directory site ID of this placement. On insert, you must set either this field or the siteId field to specify the site associated with this placement. This is a required field that is read-only after insertion.
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "id": "A String", # ID of this placement. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this placement. This field can be left blank.
+      "archived": True or False, # Whether this placement is archived.
+      "publisherUpdateInfo": { # Modification timestamp. # Information about the last publisher update. This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "tagFormats": [ # Tag formats to generate for this placement. This field is required on insertion.
+          # Acceptable values are:
+          # - "PLACEMENT_TAG_STANDARD"
+          # - "PLACEMENT_TAG_IFRAME_JAVASCRIPT"
+          # - "PLACEMENT_TAG_IFRAME_ILAYER"
+          # - "PLACEMENT_TAG_INTERNAL_REDIRECT"
+          # - "PLACEMENT_TAG_JAVASCRIPT"
+          # - "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
+          # - "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
+          # - "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
+          # - "PLACEMENT_TAG_CLICK_COMMANDS"
+          # - "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
+          # - "PLACEMENT_TAG_TRACKING"
+          # - "PLACEMENT_TAG_TRACKING_IFRAME"
+          # - "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
+        "A String",
+      ],
+      "paymentApproved": True or False, # Whether payment was approved for this placement. This is a read-only field relevant only to publisher-paid placements.
+      "tagSetting": { # Tag Settings # Tag settings for this placement.
+        "includeClickThroughUrls": True or False, # Whether static landing page URLs should be included in the tags. This setting applies only to placements.
+        "includeClickTracking": True or False, # Whether click-tracking string should be included in the tags.
+        "additionalKeyValues": "A String", # Additional key-values to be included in tags. Each key-value pair must be of the form key=value, and pairs must be separated by a semicolon (;). Keys and values must not contain commas. For example, id=2;color=red is a valid value for this field.
+        "keywordOption": "A String", # Option specifying how keywords are embedded in ad tags. This setting can be used to specify whether keyword placeholders are inserted in placement tags for this site. Publishers can then add keywords to those placeholders.
+      },
+      "contentCategoryId": "A String", # ID of the content category assigned to this placement.
+      "externalId": "A String", # External ID for this placement.
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this placement. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "size": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size associated with this placement. When inserting or updating a placement, only the size ID field is used. This field is required on insertion.
+        "width": 42, # Width of this size.
+        "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+        "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+        "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+        "height": 42, # Height of this size.
+      },
+      "sslRequired": True or False, # Whether creatives assigned to this placement must be SSL-compliant.
+      "status": "A String", # Third-party placement status.
+      "campaignIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the campaign. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "primary": True or False, # Whether this placement is the primary placement of a roadblock (placement group). You cannot change this field from true to false. Setting this field to true will automatically set the primary field on the original primary placement of the roadblock to false, and it will automatically set the roadblock's primaryPlacementId field to the ID of this placement.
+      "placementGroupId": "A String", # ID of this placement's group, if applicable.
+      "createInfo": { # Modification timestamp. # Information about the creation of this placement. This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "siteId": "A String", # Site ID associated with this placement. On insert, you must set either this field or the directorySiteId field to specify the site associated with this placement. This is a required field that is read-only after insertion.
+      "siteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the site. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "compatibility": "A String", # Placement compatibility. DISPLAY and DISPLAY_INTERSTITIAL refer to rendering on desktop, on mobile devices or in mobile apps for regular or interstitial ads respectively. APP and APP_INTERSTITIAL are no longer allowed for new placement insertions. Instead, use DISPLAY or DISPLAY_INTERSTITIAL. IN_STREAM_VIDEO refers to rendering in in-stream video ads developed with the VAST standard. This field is required on insertion.
+      "placementStrategyId": "A String", # ID of the placement strategy assigned to this placement.
+      "placementGroupIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the placement group. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "kind": "dfareporting#placement", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#placement".
+      "subaccountId": "A String", # Subaccount ID of this placement. This field can be left blank.
+      "name": "A String", # Name of this placement.This is a required field and must be less than 256 characters long.
+      "lookbackConfiguration": { # Lookback configuration settings. # Lookback window settings for this placement.
+        "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+        "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+      },
+      "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this placement. This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "pricingSchedule": { # Pricing Schedule # Pricing schedule of this placement. This field is required on insertion, specifically subfields startDate, endDate and pricingType.
+        "startDate": "A String", # Placement start date. This date must be later than, or the same day as, the campaign start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error. This field is required on insertion.
+        "endDate": "A String", # Placement end date. This date must be later than, or the same day as, the placement start date, but not later than the campaign end date. If, for example, you set 6/25/2015 as both the start and end dates, the effective placement date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error. This field is required on insertion.
+        "flighted": True or False, # Whether this placement is flighted. If true, pricing periods will be computed automatically.
+        "disregardOverdelivery": True or False, # Whether cap costs are ignored by ad serving.
+        "capCostOption": "A String", # Placement cap cost option.
+        "pricingPeriods": [ # Pricing periods for this placement.
+          { # Pricing Period
+            "units": "A String", # Units of this pricing period.
+            "rateOrCostNanos": "A String", # Rate or cost of this pricing period.
+            "startDate": "A String", # Pricing period start date. This date must be later than, or the same day as, the placement start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.
+            "endDate": "A String", # Pricing period end date. This date must be later than, or the same day as, the pricing period start date, but not later than the placement end date. The period end date can be the same date as the period start date. If, for example, you set 6/25/2015 as both the start and end dates, the effective pricing period date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error.
+            "pricingComment": "A String", # Comments for this pricing period.
+          },
+        ],
+        "pricingType": "A String", # Placement pricing type. This field is required on insertion.
+        "testingStartDate": "A String", # Testing start date of this placement. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.
+        "floodlightActivityId": "A String", # Floodlight activity ID associated with this placement. This field should be set when placement pricing type is set to PRICING_TYPE_CPA.
+      },
+    }
+
+ +
+ insert(profileId, body) +
Inserts a new placement.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a placement.
+    "comment": "A String", # Comments for this placement.
+    "campaignId": "A String", # Campaign ID of this placement. This field is a required field on insertion.
+    "paymentSource": "A String", # Payment source for this placement. This is a required field that is read-only after insertion.
+    "directorySiteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the directory site. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "advertiserId": "A String", # Advertiser ID of this placement. This field can be left blank.
+    "keyName": "A String", # Key name of this placement. This is a read-only, auto-generated field.
+    "directorySiteId": "A String", # Directory site ID of this placement. On insert, you must set either this field or the siteId field to specify the site associated with this placement. This is a required field that is read-only after insertion.
+    "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "id": "A String", # ID of this placement. This is a read-only, auto-generated field.
+    "accountId": "A String", # Account ID of this placement. This field can be left blank.
+    "archived": True or False, # Whether this placement is archived.
+    "publisherUpdateInfo": { # Modification timestamp. # Information about the last publisher update. This is a read-only field.
+      "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+    },
+    "tagFormats": [ # Tag formats to generate for this placement. This field is required on insertion.
+        # Acceptable values are:
+        # - "PLACEMENT_TAG_STANDARD"
+        # - "PLACEMENT_TAG_IFRAME_JAVASCRIPT"
+        # - "PLACEMENT_TAG_IFRAME_ILAYER"
+        # - "PLACEMENT_TAG_INTERNAL_REDIRECT"
+        # - "PLACEMENT_TAG_JAVASCRIPT"
+        # - "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
+        # - "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
+        # - "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
+        # - "PLACEMENT_TAG_CLICK_COMMANDS"
+        # - "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
+        # - "PLACEMENT_TAG_TRACKING"
+        # - "PLACEMENT_TAG_TRACKING_IFRAME"
+        # - "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
+      "A String",
+    ],
+    "paymentApproved": True or False, # Whether payment was approved for this placement. This is a read-only field relevant only to publisher-paid placements.
+    "tagSetting": { # Tag Settings # Tag settings for this placement.
+      "includeClickThroughUrls": True or False, # Whether static landing page URLs should be included in the tags. This setting applies only to placements.
+      "includeClickTracking": True or False, # Whether click-tracking string should be included in the tags.
+      "additionalKeyValues": "A String", # Additional key-values to be included in tags. Each key-value pair must be of the form key=value, and pairs must be separated by a semicolon (;). Keys and values must not contain commas. For example, id=2;color=red is a valid value for this field.
+      "keywordOption": "A String", # Option specifying how keywords are embedded in ad tags. This setting can be used to specify whether keyword placeholders are inserted in placement tags for this site. Publishers can then add keywords to those placeholders.
+    },
+    "contentCategoryId": "A String", # ID of the content category assigned to this placement.
+    "externalId": "A String", # External ID for this placement.
+    "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this placement. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "size": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size associated with this placement. When inserting or updating a placement, only the size ID field is used. This field is required on insertion.
+      "width": 42, # Width of this size.
+      "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+      "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+      "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+      "height": 42, # Height of this size.
+    },
+    "sslRequired": True or False, # Whether creatives assigned to this placement must be SSL-compliant.
+    "status": "A String", # Third-party placement status.
+    "campaignIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the campaign. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "primary": True or False, # Whether this placement is the primary placement of a roadblock (placement group). You cannot change this field from true to false. Setting this field to true will automatically set the primary field on the original primary placement of the roadblock to false, and it will automatically set the roadblock's primaryPlacementId field to the ID of this placement.
+    "placementGroupId": "A String", # ID of this placement's group, if applicable.
+    "createInfo": { # Modification timestamp. # Information about the creation of this placement. This is a read-only field.
+      "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+    },
+    "siteId": "A String", # Site ID associated with this placement. On insert, you must set either this field or the directorySiteId field to specify the site associated with this placement. This is a required field that is read-only after insertion.
+    "siteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the site. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "compatibility": "A String", # Placement compatibility. DISPLAY and DISPLAY_INTERSTITIAL refer to rendering on desktop, on mobile devices or in mobile apps for regular or interstitial ads respectively. APP and APP_INTERSTITIAL are no longer allowed for new placement insertions. Instead, use DISPLAY or DISPLAY_INTERSTITIAL. IN_STREAM_VIDEO refers to rendering in in-stream video ads developed with the VAST standard. This field is required on insertion.
+    "placementStrategyId": "A String", # ID of the placement strategy assigned to this placement.
+    "placementGroupIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the placement group. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "kind": "dfareporting#placement", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#placement".
+    "subaccountId": "A String", # Subaccount ID of this placement. This field can be left blank.
+    "name": "A String", # Name of this placement.This is a required field and must be less than 256 characters long.
+    "lookbackConfiguration": { # Lookback configuration settings. # Lookback window settings for this placement.
+      "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+      "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+    },
+    "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this placement. This is a read-only field.
+      "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+    },
+    "pricingSchedule": { # Pricing Schedule # Pricing schedule of this placement. This field is required on insertion, specifically subfields startDate, endDate and pricingType.
+      "startDate": "A String", # Placement start date. This date must be later than, or the same day as, the campaign start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error. This field is required on insertion.
+      "endDate": "A String", # Placement end date. This date must be later than, or the same day as, the placement start date, but not later than the campaign end date. If, for example, you set 6/25/2015 as both the start and end dates, the effective placement date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error. This field is required on insertion.
+      "flighted": True or False, # Whether this placement is flighted. If true, pricing periods will be computed automatically.
+      "disregardOverdelivery": True or False, # Whether cap costs are ignored by ad serving.
+      "capCostOption": "A String", # Placement cap cost option.
+      "pricingPeriods": [ # Pricing periods for this placement.
+        { # Pricing Period
+          "units": "A String", # Units of this pricing period.
+          "rateOrCostNanos": "A String", # Rate or cost of this pricing period.
+          "startDate": "A String", # Pricing period start date. This date must be later than, or the same day as, the placement start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.
+          "endDate": "A String", # Pricing period end date. This date must be later than, or the same day as, the pricing period start date, but not later than the placement end date. The period end date can be the same date as the period start date. If, for example, you set 6/25/2015 as both the start and end dates, the effective pricing period date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error.
+          "pricingComment": "A String", # Comments for this pricing period.
+        },
+      ],
+      "pricingType": "A String", # Placement pricing type. This field is required on insertion.
+      "testingStartDate": "A String", # Testing start date of this placement. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.
+      "floodlightActivityId": "A String", # Floodlight activity ID associated with this placement. This field should be set when placement pricing type is set to PRICING_TYPE_CPA.
+    },
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a placement.
+      "comment": "A String", # Comments for this placement.
+      "campaignId": "A String", # Campaign ID of this placement. This field is a required field on insertion.
+      "paymentSource": "A String", # Payment source for this placement. This is a required field that is read-only after insertion.
+      "directorySiteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the directory site. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "advertiserId": "A String", # Advertiser ID of this placement. This field can be left blank.
+      "keyName": "A String", # Key name of this placement. This is a read-only, auto-generated field.
+      "directorySiteId": "A String", # Directory site ID of this placement. On insert, you must set either this field or the siteId field to specify the site associated with this placement. This is a required field that is read-only after insertion.
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "id": "A String", # ID of this placement. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this placement. This field can be left blank.
+      "archived": True or False, # Whether this placement is archived.
+      "publisherUpdateInfo": { # Modification timestamp. # Information about the last publisher update. This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "tagFormats": [ # Tag formats to generate for this placement. This field is required on insertion.
+          # Acceptable values are:
+          # - "PLACEMENT_TAG_STANDARD"
+          # - "PLACEMENT_TAG_IFRAME_JAVASCRIPT"
+          # - "PLACEMENT_TAG_IFRAME_ILAYER"
+          # - "PLACEMENT_TAG_INTERNAL_REDIRECT"
+          # - "PLACEMENT_TAG_JAVASCRIPT"
+          # - "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
+          # - "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
+          # - "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
+          # - "PLACEMENT_TAG_CLICK_COMMANDS"
+          # - "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
+          # - "PLACEMENT_TAG_TRACKING"
+          # - "PLACEMENT_TAG_TRACKING_IFRAME"
+          # - "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
+        "A String",
+      ],
+      "paymentApproved": True or False, # Whether payment was approved for this placement. This is a read-only field relevant only to publisher-paid placements.
+      "tagSetting": { # Tag Settings # Tag settings for this placement.
+        "includeClickThroughUrls": True or False, # Whether static landing page URLs should be included in the tags. This setting applies only to placements.
+        "includeClickTracking": True or False, # Whether click-tracking string should be included in the tags.
+        "additionalKeyValues": "A String", # Additional key-values to be included in tags. Each key-value pair must be of the form key=value, and pairs must be separated by a semicolon (;). Keys and values must not contain commas. For example, id=2;color=red is a valid value for this field.
+        "keywordOption": "A String", # Option specifying how keywords are embedded in ad tags. This setting can be used to specify whether keyword placeholders are inserted in placement tags for this site. Publishers can then add keywords to those placeholders.
+      },
+      "contentCategoryId": "A String", # ID of the content category assigned to this placement.
+      "externalId": "A String", # External ID for this placement.
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this placement. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "size": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size associated with this placement. When inserting or updating a placement, only the size ID field is used. This field is required on insertion.
+        "width": 42, # Width of this size.
+        "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+        "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+        "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+        "height": 42, # Height of this size.
+      },
+      "sslRequired": True or False, # Whether creatives assigned to this placement must be SSL-compliant.
+      "status": "A String", # Third-party placement status.
+      "campaignIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the campaign. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "primary": True or False, # Whether this placement is the primary placement of a roadblock (placement group). You cannot change this field from true to false. Setting this field to true will automatically set the primary field on the original primary placement of the roadblock to false, and it will automatically set the roadblock's primaryPlacementId field to the ID of this placement.
+      "placementGroupId": "A String", # ID of this placement's group, if applicable.
+      "createInfo": { # Modification timestamp. # Information about the creation of this placement. This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "siteId": "A String", # Site ID associated with this placement. On insert, you must set either this field or the directorySiteId field to specify the site associated with this placement. This is a required field that is read-only after insertion.
+      "siteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the site. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "compatibility": "A String", # Placement compatibility. DISPLAY and DISPLAY_INTERSTITIAL refer to rendering on desktop, on mobile devices or in mobile apps for regular or interstitial ads respectively. APP and APP_INTERSTITIAL are no longer allowed for new placement insertions. Instead, use DISPLAY or DISPLAY_INTERSTITIAL. IN_STREAM_VIDEO refers to rendering in in-stream video ads developed with the VAST standard. This field is required on insertion.
+      "placementStrategyId": "A String", # ID of the placement strategy assigned to this placement.
+      "placementGroupIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the placement group. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "kind": "dfareporting#placement", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#placement".
+      "subaccountId": "A String", # Subaccount ID of this placement. This field can be left blank.
+      "name": "A String", # Name of this placement.This is a required field and must be less than 256 characters long.
+      "lookbackConfiguration": { # Lookback configuration settings. # Lookback window settings for this placement.
+        "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+        "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+      },
+      "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this placement. This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "pricingSchedule": { # Pricing Schedule # Pricing schedule of this placement. This field is required on insertion, specifically subfields startDate, endDate and pricingType.
+        "startDate": "A String", # Placement start date. This date must be later than, or the same day as, the campaign start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error. This field is required on insertion.
+        "endDate": "A String", # Placement end date. This date must be later than, or the same day as, the placement start date, but not later than the campaign end date. If, for example, you set 6/25/2015 as both the start and end dates, the effective placement date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error. This field is required on insertion.
+        "flighted": True or False, # Whether this placement is flighted. If true, pricing periods will be computed automatically.
+        "disregardOverdelivery": True or False, # Whether cap costs are ignored by ad serving.
+        "capCostOption": "A String", # Placement cap cost option.
+        "pricingPeriods": [ # Pricing periods for this placement.
+          { # Pricing Period
+            "units": "A String", # Units of this pricing period.
+            "rateOrCostNanos": "A String", # Rate or cost of this pricing period.
+            "startDate": "A String", # Pricing period start date. This date must be later than, or the same day as, the placement start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.
+            "endDate": "A String", # Pricing period end date. This date must be later than, or the same day as, the pricing period start date, but not later than the placement end date. The period end date can be the same date as the period start date. If, for example, you set 6/25/2015 as both the start and end dates, the effective pricing period date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error.
+            "pricingComment": "A String", # Comments for this pricing period.
+          },
+        ],
+        "pricingType": "A String", # Placement pricing type. This field is required on insertion.
+        "testingStartDate": "A String", # Testing start date of this placement. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.
+        "floodlightActivityId": "A String", # Floodlight activity ID associated with this placement. This field should be set when placement pricing type is set to PRICING_TYPE_CPA.
+      },
+    }
+
+ +
+ list(profileId, siteIds=None, paymentSource=None, pricingTypes=None, campaignIds=None, advertiserIds=None, sizeIds=None, pageToken=None, maxStartDate=None, sortOrder=None, maxEndDate=None, placementStrategyIds=None, contentCategoryIds=None, archived=None, maxResults=None, minStartDate=None, compatibilities=None, searchString=None, minEndDate=None, directorySiteIds=None, sortField=None, ids=None, groupIds=None) +
Retrieves a list of placements, possibly filtered.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  siteIds: string, Select only placements that are associated with these sites. (repeated)
+  paymentSource: string, Select only placements with this payment source.
+    Allowed values
+      PLACEMENT_AGENCY_PAID - 
+      PLACEMENT_PUBLISHER_PAID - 
+  pricingTypes: string, Select only placements with these pricing types. (repeated)
+    Allowed values
+      PRICING_TYPE_CPA - 
+      PRICING_TYPE_CPC - 
+      PRICING_TYPE_CPM - 
+      PRICING_TYPE_FLAT_RATE_CLICKS - 
+      PRICING_TYPE_FLAT_RATE_IMPRESSIONS - 
+  campaignIds: string, Select only placements that belong to these campaigns. (repeated)
+  advertiserIds: string, Select only placements that belong to these advertisers. (repeated)
+  sizeIds: string, Select only placements that are associated with these sizes. (repeated)
+  pageToken: string, Value of the nextPageToken from the previous result page.
+  maxStartDate: string, Select only placements or placement groups whose start date is on or before the specified maxStartDate. The date should be formatted as "yyyy-MM-dd".
+  sortOrder: string, Order of sorted results, default is ASCENDING.
+    Allowed values
+      ASCENDING - 
+      DESCENDING - 
+  maxEndDate: string, Select only placements or placement groups whose end date is on or before the specified maxEndDate. The date should be formatted as "yyyy-MM-dd".
+  placementStrategyIds: string, Select only placements that are associated with these placement strategies. (repeated)
+  contentCategoryIds: string, Select only placements that are associated with these content categories. (repeated)
+  archived: boolean, Select only archived placements. Don't set this field to select both archived and non-archived placements.
+  maxResults: integer, Maximum number of results to return.
+  minStartDate: string, Select only placements or placement groups whose start date is on or after the specified minStartDate. The date should be formatted as "yyyy-MM-dd".
+  compatibilities: string, Select only placements that are associated with these compatibilities. DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on desktop or on mobile devices for regular or interstitial ads respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps. IN_STREAM_VIDEO refers to rendering in in-stream video ads developed with the VAST standard. (repeated)
+    Allowed values
+      APP - 
+      APP_INTERSTITIAL - 
+      DISPLAY - 
+      DISPLAY_INTERSTITIAL - 
+      IN_STREAM_VIDEO - 
+  searchString: string, Allows searching for placements by name or ID. Wildcards (*) are allowed. For example, "placement*2015" will return placements with names like "placement June 2015", "placement May 2015", or simply "placements 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "placement" will match placements with name "my placement", "placement 2015", or simply "placement".
+  minEndDate: string, Select only placements or placement groups whose end date is on or after the specified minEndDate. The date should be formatted as "yyyy-MM-dd".
+  directorySiteIds: string, Select only placements that are associated with these directory sites. (repeated)
+  sortField: string, Field by which to sort the list.
+    Allowed values
+      ID - 
+      NAME - 
+  ids: string, Select only placements with these IDs. (repeated)
+  groupIds: string, Select only placements that belong to these placement groups. (repeated)
+
+Returns:
+  An object of the form:
+
+    { # Placement List Response
+    "nextPageToken": "A String", # Pagination token to be used for the next list operation.
+    "kind": "dfareporting#placementsListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#placementsListResponse".
+    "placements": [ # Placement collection.
+      { # Contains properties of a placement.
+          "comment": "A String", # Comments for this placement.
+          "campaignId": "A String", # Campaign ID of this placement. This field is a required field on insertion.
+          "paymentSource": "A String", # Payment source for this placement. This is a required field that is read-only after insertion.
+          "directorySiteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the directory site. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "advertiserId": "A String", # Advertiser ID of this placement. This field can be left blank.
+          "keyName": "A String", # Key name of this placement. This is a read-only, auto-generated field.
+          "directorySiteId": "A String", # Directory site ID of this placement. On insert, you must set either this field or the siteId field to specify the site associated with this placement. This is a required field that is read-only after insertion.
+          "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "id": "A String", # ID of this placement. This is a read-only, auto-generated field.
+          "accountId": "A String", # Account ID of this placement. This field can be left blank.
+          "archived": True or False, # Whether this placement is archived.
+          "publisherUpdateInfo": { # Modification timestamp. # Information about the last publisher update. This is a read-only field.
+            "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+          },
+          "tagFormats": [ # Tag formats to generate for this placement. This field is required on insertion.
+              # Acceptable values are:
+              # - "PLACEMENT_TAG_STANDARD"
+              # - "PLACEMENT_TAG_IFRAME_JAVASCRIPT"
+              # - "PLACEMENT_TAG_IFRAME_ILAYER"
+              # - "PLACEMENT_TAG_INTERNAL_REDIRECT"
+              # - "PLACEMENT_TAG_JAVASCRIPT"
+              # - "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
+              # - "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
+              # - "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
+              # - "PLACEMENT_TAG_CLICK_COMMANDS"
+              # - "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
+              # - "PLACEMENT_TAG_TRACKING"
+              # - "PLACEMENT_TAG_TRACKING_IFRAME"
+              # - "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
+            "A String",
+          ],
+          "paymentApproved": True or False, # Whether payment was approved for this placement. This is a read-only field relevant only to publisher-paid placements.
+          "tagSetting": { # Tag Settings # Tag settings for this placement.
+            "includeClickThroughUrls": True or False, # Whether static landing page URLs should be included in the tags. This setting applies only to placements.
+            "includeClickTracking": True or False, # Whether click-tracking string should be included in the tags.
+            "additionalKeyValues": "A String", # Additional key-values to be included in tags. Each key-value pair must be of the form key=value, and pairs must be separated by a semicolon (;). Keys and values must not contain commas. For example, id=2;color=red is a valid value for this field.
+            "keywordOption": "A String", # Option specifying how keywords are embedded in ad tags. This setting can be used to specify whether keyword placeholders are inserted in placement tags for this site. Publishers can then add keywords to those placeholders.
+          },
+          "contentCategoryId": "A String", # ID of the content category assigned to this placement.
+          "externalId": "A String", # External ID for this placement.
+          "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this placement. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "size": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size associated with this placement. When inserting or updating a placement, only the size ID field is used. This field is required on insertion.
+            "width": 42, # Width of this size.
+            "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+            "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+            "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+            "height": 42, # Height of this size.
+          },
+          "sslRequired": True or False, # Whether creatives assigned to this placement must be SSL-compliant.
+          "status": "A String", # Third-party placement status.
+          "campaignIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the campaign. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "primary": True or False, # Whether this placement is the primary placement of a roadblock (placement group). You cannot change this field from true to false. Setting this field to true will automatically set the primary field on the original primary placement of the roadblock to false, and it will automatically set the roadblock's primaryPlacementId field to the ID of this placement.
+          "placementGroupId": "A String", # ID of this placement's group, if applicable.
+          "createInfo": { # Modification timestamp. # Information about the creation of this placement. This is a read-only field.
+            "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+          },
+          "siteId": "A String", # Site ID associated with this placement. On insert, you must set either this field or the directorySiteId field to specify the site associated with this placement. This is a required field that is read-only after insertion.
+          "siteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the site. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "compatibility": "A String", # Placement compatibility. DISPLAY and DISPLAY_INTERSTITIAL refer to rendering on desktop, on mobile devices or in mobile apps for regular or interstitial ads respectively. APP and APP_INTERSTITIAL are no longer allowed for new placement insertions. Instead, use DISPLAY or DISPLAY_INTERSTITIAL. IN_STREAM_VIDEO refers to rendering in in-stream video ads developed with the VAST standard. This field is required on insertion.
+          "placementStrategyId": "A String", # ID of the placement strategy assigned to this placement.
+          "placementGroupIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the placement group. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "kind": "dfareporting#placement", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#placement".
+          "subaccountId": "A String", # Subaccount ID of this placement. This field can be left blank.
+          "name": "A String", # Name of this placement.This is a required field and must be less than 256 characters long.
+          "lookbackConfiguration": { # Lookback configuration settings. # Lookback window settings for this placement.
+            "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+            "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+          },
+          "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this placement. This is a read-only field.
+            "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+          },
+          "pricingSchedule": { # Pricing Schedule # Pricing schedule of this placement. This field is required on insertion, specifically subfields startDate, endDate and pricingType.
+            "startDate": "A String", # Placement start date. This date must be later than, or the same day as, the campaign start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error. This field is required on insertion.
+            "endDate": "A String", # Placement end date. This date must be later than, or the same day as, the placement start date, but not later than the campaign end date. If, for example, you set 6/25/2015 as both the start and end dates, the effective placement date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error. This field is required on insertion.
+            "flighted": True or False, # Whether this placement is flighted. If true, pricing periods will be computed automatically.
+            "disregardOverdelivery": True or False, # Whether cap costs are ignored by ad serving.
+            "capCostOption": "A String", # Placement cap cost option.
+            "pricingPeriods": [ # Pricing periods for this placement.
+              { # Pricing Period
+                "units": "A String", # Units of this pricing period.
+                "rateOrCostNanos": "A String", # Rate or cost of this pricing period.
+                "startDate": "A String", # Pricing period start date. This date must be later than, or the same day as, the placement start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.
+                "endDate": "A String", # Pricing period end date. This date must be later than, or the same day as, the pricing period start date, but not later than the placement end date. The period end date can be the same date as the period start date. If, for example, you set 6/25/2015 as both the start and end dates, the effective pricing period date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error.
+                "pricingComment": "A String", # Comments for this pricing period.
+              },
+            ],
+            "pricingType": "A String", # Placement pricing type. This field is required on insertion.
+            "testingStartDate": "A String", # Testing start date of this placement. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.
+            "floodlightActivityId": "A String", # Floodlight activity ID associated with this placement. This field should be set when placement pricing type is set to PRICING_TYPE_CPA.
+          },
+        },
+    ],
+  }
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    
+
+ +
+ patch(profileId, id, body) +
Updates an existing placement. This method supports patch semantics.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Placement ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a placement.
+    "comment": "A String", # Comments for this placement.
+    "campaignId": "A String", # Campaign ID of this placement. This field is a required field on insertion.
+    "paymentSource": "A String", # Payment source for this placement. This is a required field that is read-only after insertion.
+    "directorySiteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the directory site. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "advertiserId": "A String", # Advertiser ID of this placement. This field can be left blank.
+    "keyName": "A String", # Key name of this placement. This is a read-only, auto-generated field.
+    "directorySiteId": "A String", # Directory site ID of this placement. On insert, you must set either this field or the siteId field to specify the site associated with this placement. This is a required field that is read-only after insertion.
+    "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "id": "A String", # ID of this placement. This is a read-only, auto-generated field.
+    "accountId": "A String", # Account ID of this placement. This field can be left blank.
+    "archived": True or False, # Whether this placement is archived.
+    "publisherUpdateInfo": { # Modification timestamp. # Information about the last publisher update. This is a read-only field.
+      "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+    },
+    "tagFormats": [ # Tag formats to generate for this placement. This field is required on insertion.
+        # Acceptable values are:
+        # - "PLACEMENT_TAG_STANDARD"
+        # - "PLACEMENT_TAG_IFRAME_JAVASCRIPT"
+        # - "PLACEMENT_TAG_IFRAME_ILAYER"
+        # - "PLACEMENT_TAG_INTERNAL_REDIRECT"
+        # - "PLACEMENT_TAG_JAVASCRIPT"
+        # - "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
+        # - "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
+        # - "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
+        # - "PLACEMENT_TAG_CLICK_COMMANDS"
+        # - "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
+        # - "PLACEMENT_TAG_TRACKING"
+        # - "PLACEMENT_TAG_TRACKING_IFRAME"
+        # - "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
+      "A String",
+    ],
+    "paymentApproved": True or False, # Whether payment was approved for this placement. This is a read-only field relevant only to publisher-paid placements.
+    "tagSetting": { # Tag Settings # Tag settings for this placement.
+      "includeClickThroughUrls": True or False, # Whether static landing page URLs should be included in the tags. This setting applies only to placements.
+      "includeClickTracking": True or False, # Whether click-tracking string should be included in the tags.
+      "additionalKeyValues": "A String", # Additional key-values to be included in tags. Each key-value pair must be of the form key=value, and pairs must be separated by a semicolon (;). Keys and values must not contain commas. For example, id=2;color=red is a valid value for this field.
+      "keywordOption": "A String", # Option specifying how keywords are embedded in ad tags. This setting can be used to specify whether keyword placeholders are inserted in placement tags for this site. Publishers can then add keywords to those placeholders.
+    },
+    "contentCategoryId": "A String", # ID of the content category assigned to this placement.
+    "externalId": "A String", # External ID for this placement.
+    "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this placement. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "size": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size associated with this placement. When inserting or updating a placement, only the size ID field is used. This field is required on insertion.
+      "width": 42, # Width of this size.
+      "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+      "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+      "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+      "height": 42, # Height of this size.
+    },
+    "sslRequired": True or False, # Whether creatives assigned to this placement must be SSL-compliant.
+    "status": "A String", # Third-party placement status.
+    "campaignIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the campaign. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "primary": True or False, # Whether this placement is the primary placement of a roadblock (placement group). You cannot change this field from true to false. Setting this field to true will automatically set the primary field on the original primary placement of the roadblock to false, and it will automatically set the roadblock's primaryPlacementId field to the ID of this placement.
+    "placementGroupId": "A String", # ID of this placement's group, if applicable.
+    "createInfo": { # Modification timestamp. # Information about the creation of this placement. This is a read-only field.
+      "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+    },
+    "siteId": "A String", # Site ID associated with this placement. On insert, you must set either this field or the directorySiteId field to specify the site associated with this placement. This is a required field that is read-only after insertion.
+    "siteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the site. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "compatibility": "A String", # Placement compatibility. DISPLAY and DISPLAY_INTERSTITIAL refer to rendering on desktop, on mobile devices or in mobile apps for regular or interstitial ads respectively. APP and APP_INTERSTITIAL are no longer allowed for new placement insertions. Instead, use DISPLAY or DISPLAY_INTERSTITIAL. IN_STREAM_VIDEO refers to rendering in in-stream video ads developed with the VAST standard. This field is required on insertion.
+    "placementStrategyId": "A String", # ID of the placement strategy assigned to this placement.
+    "placementGroupIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the placement group. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "kind": "dfareporting#placement", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#placement".
+    "subaccountId": "A String", # Subaccount ID of this placement. This field can be left blank.
+    "name": "A String", # Name of this placement.This is a required field and must be less than 256 characters long.
+    "lookbackConfiguration": { # Lookback configuration settings. # Lookback window settings for this placement.
+      "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+      "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+    },
+    "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this placement. This is a read-only field.
+      "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+    },
+    "pricingSchedule": { # Pricing Schedule # Pricing schedule of this placement. This field is required on insertion, specifically subfields startDate, endDate and pricingType.
+      "startDate": "A String", # Placement start date. This date must be later than, or the same day as, the campaign start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error. This field is required on insertion.
+      "endDate": "A String", # Placement end date. This date must be later than, or the same day as, the placement start date, but not later than the campaign end date. If, for example, you set 6/25/2015 as both the start and end dates, the effective placement date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error. This field is required on insertion.
+      "flighted": True or False, # Whether this placement is flighted. If true, pricing periods will be computed automatically.
+      "disregardOverdelivery": True or False, # Whether cap costs are ignored by ad serving.
+      "capCostOption": "A String", # Placement cap cost option.
+      "pricingPeriods": [ # Pricing periods for this placement.
+        { # Pricing Period
+          "units": "A String", # Units of this pricing period.
+          "rateOrCostNanos": "A String", # Rate or cost of this pricing period.
+          "startDate": "A String", # Pricing period start date. This date must be later than, or the same day as, the placement start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.
+          "endDate": "A String", # Pricing period end date. This date must be later than, or the same day as, the pricing period start date, but not later than the placement end date. The period end date can be the same date as the period start date. If, for example, you set 6/25/2015 as both the start and end dates, the effective pricing period date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error.
+          "pricingComment": "A String", # Comments for this pricing period.
+        },
+      ],
+      "pricingType": "A String", # Placement pricing type. This field is required on insertion.
+      "testingStartDate": "A String", # Testing start date of this placement. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.
+      "floodlightActivityId": "A String", # Floodlight activity ID associated with this placement. This field should be set when placement pricing type is set to PRICING_TYPE_CPA.
+    },
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a placement.
+      "comment": "A String", # Comments for this placement.
+      "campaignId": "A String", # Campaign ID of this placement. This field is a required field on insertion.
+      "paymentSource": "A String", # Payment source for this placement. This is a required field that is read-only after insertion.
+      "directorySiteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the directory site. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "advertiserId": "A String", # Advertiser ID of this placement. This field can be left blank.
+      "keyName": "A String", # Key name of this placement. This is a read-only, auto-generated field.
+      "directorySiteId": "A String", # Directory site ID of this placement. On insert, you must set either this field or the siteId field to specify the site associated with this placement. This is a required field that is read-only after insertion.
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "id": "A String", # ID of this placement. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this placement. This field can be left blank.
+      "archived": True or False, # Whether this placement is archived.
+      "publisherUpdateInfo": { # Modification timestamp. # Information about the last publisher update. This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "tagFormats": [ # Tag formats to generate for this placement. This field is required on insertion.
+          # Acceptable values are:
+          # - "PLACEMENT_TAG_STANDARD"
+          # - "PLACEMENT_TAG_IFRAME_JAVASCRIPT"
+          # - "PLACEMENT_TAG_IFRAME_ILAYER"
+          # - "PLACEMENT_TAG_INTERNAL_REDIRECT"
+          # - "PLACEMENT_TAG_JAVASCRIPT"
+          # - "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
+          # - "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
+          # - "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
+          # - "PLACEMENT_TAG_CLICK_COMMANDS"
+          # - "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
+          # - "PLACEMENT_TAG_TRACKING"
+          # - "PLACEMENT_TAG_TRACKING_IFRAME"
+          # - "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
+        "A String",
+      ],
+      "paymentApproved": True or False, # Whether payment was approved for this placement. This is a read-only field relevant only to publisher-paid placements.
+      "tagSetting": { # Tag Settings # Tag settings for this placement.
+        "includeClickThroughUrls": True or False, # Whether static landing page URLs should be included in the tags. This setting applies only to placements.
+        "includeClickTracking": True or False, # Whether click-tracking string should be included in the tags.
+        "additionalKeyValues": "A String", # Additional key-values to be included in tags. Each key-value pair must be of the form key=value, and pairs must be separated by a semicolon (;). Keys and values must not contain commas. For example, id=2;color=red is a valid value for this field.
+        "keywordOption": "A String", # Option specifying how keywords are embedded in ad tags. This setting can be used to specify whether keyword placeholders are inserted in placement tags for this site. Publishers can then add keywords to those placeholders.
+      },
+      "contentCategoryId": "A String", # ID of the content category assigned to this placement.
+      "externalId": "A String", # External ID for this placement.
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this placement. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "size": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size associated with this placement. When inserting or updating a placement, only the size ID field is used. This field is required on insertion.
+        "width": 42, # Width of this size.
+        "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+        "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+        "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+        "height": 42, # Height of this size.
+      },
+      "sslRequired": True or False, # Whether creatives assigned to this placement must be SSL-compliant.
+      "status": "A String", # Third-party placement status.
+      "campaignIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the campaign. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "primary": True or False, # Whether this placement is the primary placement of a roadblock (placement group). You cannot change this field from true to false. Setting this field to true will automatically set the primary field on the original primary placement of the roadblock to false, and it will automatically set the roadblock's primaryPlacementId field to the ID of this placement.
+      "placementGroupId": "A String", # ID of this placement's group, if applicable.
+      "createInfo": { # Modification timestamp. # Information about the creation of this placement. This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "siteId": "A String", # Site ID associated with this placement. On insert, you must set either this field or the directorySiteId field to specify the site associated with this placement. This is a required field that is read-only after insertion.
+      "siteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the site. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "compatibility": "A String", # Placement compatibility. DISPLAY and DISPLAY_INTERSTITIAL refer to rendering on desktop, on mobile devices or in mobile apps for regular or interstitial ads respectively. APP and APP_INTERSTITIAL are no longer allowed for new placement insertions. Instead, use DISPLAY or DISPLAY_INTERSTITIAL. IN_STREAM_VIDEO refers to rendering in in-stream video ads developed with the VAST standard. This field is required on insertion.
+      "placementStrategyId": "A String", # ID of the placement strategy assigned to this placement.
+      "placementGroupIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the placement group. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "kind": "dfareporting#placement", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#placement".
+      "subaccountId": "A String", # Subaccount ID of this placement. This field can be left blank.
+      "name": "A String", # Name of this placement.This is a required field and must be less than 256 characters long.
+      "lookbackConfiguration": { # Lookback configuration settings. # Lookback window settings for this placement.
+        "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+        "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+      },
+      "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this placement. This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "pricingSchedule": { # Pricing Schedule # Pricing schedule of this placement. This field is required on insertion, specifically subfields startDate, endDate and pricingType.
+        "startDate": "A String", # Placement start date. This date must be later than, or the same day as, the campaign start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error. This field is required on insertion.
+        "endDate": "A String", # Placement end date. This date must be later than, or the same day as, the placement start date, but not later than the campaign end date. If, for example, you set 6/25/2015 as both the start and end dates, the effective placement date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error. This field is required on insertion.
+        "flighted": True or False, # Whether this placement is flighted. If true, pricing periods will be computed automatically.
+        "disregardOverdelivery": True or False, # Whether cap costs are ignored by ad serving.
+        "capCostOption": "A String", # Placement cap cost option.
+        "pricingPeriods": [ # Pricing periods for this placement.
+          { # Pricing Period
+            "units": "A String", # Units of this pricing period.
+            "rateOrCostNanos": "A String", # Rate or cost of this pricing period.
+            "startDate": "A String", # Pricing period start date. This date must be later than, or the same day as, the placement start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.
+            "endDate": "A String", # Pricing period end date. This date must be later than, or the same day as, the pricing period start date, but not later than the placement end date. The period end date can be the same date as the period start date. If, for example, you set 6/25/2015 as both the start and end dates, the effective pricing period date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error.
+            "pricingComment": "A String", # Comments for this pricing period.
+          },
+        ],
+        "pricingType": "A String", # Placement pricing type. This field is required on insertion.
+        "testingStartDate": "A String", # Testing start date of this placement. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.
+        "floodlightActivityId": "A String", # Floodlight activity ID associated with this placement. This field should be set when placement pricing type is set to PRICING_TYPE_CPA.
+      },
+    }
+
+ +
+ update(profileId, body) +
Updates an existing placement.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a placement.
+    "comment": "A String", # Comments for this placement.
+    "campaignId": "A String", # Campaign ID of this placement. This field is a required field on insertion.
+    "paymentSource": "A String", # Payment source for this placement. This is a required field that is read-only after insertion.
+    "directorySiteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the directory site. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "advertiserId": "A String", # Advertiser ID of this placement. This field can be left blank.
+    "keyName": "A String", # Key name of this placement. This is a read-only, auto-generated field.
+    "directorySiteId": "A String", # Directory site ID of this placement. On insert, you must set either this field or the siteId field to specify the site associated with this placement. This is a required field that is read-only after insertion.
+    "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "id": "A String", # ID of this placement. This is a read-only, auto-generated field.
+    "accountId": "A String", # Account ID of this placement. This field can be left blank.
+    "archived": True or False, # Whether this placement is archived.
+    "publisherUpdateInfo": { # Modification timestamp. # Information about the last publisher update. This is a read-only field.
+      "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+    },
+    "tagFormats": [ # Tag formats to generate for this placement. This field is required on insertion.
+        # Acceptable values are:
+        # - "PLACEMENT_TAG_STANDARD"
+        # - "PLACEMENT_TAG_IFRAME_JAVASCRIPT"
+        # - "PLACEMENT_TAG_IFRAME_ILAYER"
+        # - "PLACEMENT_TAG_INTERNAL_REDIRECT"
+        # - "PLACEMENT_TAG_JAVASCRIPT"
+        # - "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
+        # - "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
+        # - "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
+        # - "PLACEMENT_TAG_CLICK_COMMANDS"
+        # - "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
+        # - "PLACEMENT_TAG_TRACKING"
+        # - "PLACEMENT_TAG_TRACKING_IFRAME"
+        # - "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
+      "A String",
+    ],
+    "paymentApproved": True or False, # Whether payment was approved for this placement. This is a read-only field relevant only to publisher-paid placements.
+    "tagSetting": { # Tag Settings # Tag settings for this placement.
+      "includeClickThroughUrls": True or False, # Whether static landing page URLs should be included in the tags. This setting applies only to placements.
+      "includeClickTracking": True or False, # Whether click-tracking string should be included in the tags.
+      "additionalKeyValues": "A String", # Additional key-values to be included in tags. Each key-value pair must be of the form key=value, and pairs must be separated by a semicolon (;). Keys and values must not contain commas. For example, id=2;color=red is a valid value for this field.
+      "keywordOption": "A String", # Option specifying how keywords are embedded in ad tags. This setting can be used to specify whether keyword placeholders are inserted in placement tags for this site. Publishers can then add keywords to those placeholders.
+    },
+    "contentCategoryId": "A String", # ID of the content category assigned to this placement.
+    "externalId": "A String", # External ID for this placement.
+    "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this placement. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "size": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size associated with this placement. When inserting or updating a placement, only the size ID field is used. This field is required on insertion.
+      "width": 42, # Width of this size.
+      "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+      "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+      "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+      "height": 42, # Height of this size.
+    },
+    "sslRequired": True or False, # Whether creatives assigned to this placement must be SSL-compliant.
+    "status": "A String", # Third-party placement status.
+    "campaignIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the campaign. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "primary": True or False, # Whether this placement is the primary placement of a roadblock (placement group). You cannot change this field from true to false. Setting this field to true will automatically set the primary field on the original primary placement of the roadblock to false, and it will automatically set the roadblock's primaryPlacementId field to the ID of this placement.
+    "placementGroupId": "A String", # ID of this placement's group, if applicable.
+    "createInfo": { # Modification timestamp. # Information about the creation of this placement. This is a read-only field.
+      "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+    },
+    "siteId": "A String", # Site ID associated with this placement. On insert, you must set either this field or the directorySiteId field to specify the site associated with this placement. This is a required field that is read-only after insertion.
+    "siteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the site. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "compatibility": "A String", # Placement compatibility. DISPLAY and DISPLAY_INTERSTITIAL refer to rendering on desktop, on mobile devices or in mobile apps for regular or interstitial ads respectively. APP and APP_INTERSTITIAL are no longer allowed for new placement insertions. Instead, use DISPLAY or DISPLAY_INTERSTITIAL. IN_STREAM_VIDEO refers to rendering in in-stream video ads developed with the VAST standard. This field is required on insertion.
+    "placementStrategyId": "A String", # ID of the placement strategy assigned to this placement.
+    "placementGroupIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the placement group. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "kind": "dfareporting#placement", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#placement".
+    "subaccountId": "A String", # Subaccount ID of this placement. This field can be left blank.
+    "name": "A String", # Name of this placement.This is a required field and must be less than 256 characters long.
+    "lookbackConfiguration": { # Lookback configuration settings. # Lookback window settings for this placement.
+      "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+      "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+    },
+    "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this placement. This is a read-only field.
+      "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+    },
+    "pricingSchedule": { # Pricing Schedule # Pricing schedule of this placement. This field is required on insertion, specifically subfields startDate, endDate and pricingType.
+      "startDate": "A String", # Placement start date. This date must be later than, or the same day as, the campaign start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error. This field is required on insertion.
+      "endDate": "A String", # Placement end date. This date must be later than, or the same day as, the placement start date, but not later than the campaign end date. If, for example, you set 6/25/2015 as both the start and end dates, the effective placement date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error. This field is required on insertion.
+      "flighted": True or False, # Whether this placement is flighted. If true, pricing periods will be computed automatically.
+      "disregardOverdelivery": True or False, # Whether cap costs are ignored by ad serving.
+      "capCostOption": "A String", # Placement cap cost option.
+      "pricingPeriods": [ # Pricing periods for this placement.
+        { # Pricing Period
+          "units": "A String", # Units of this pricing period.
+          "rateOrCostNanos": "A String", # Rate or cost of this pricing period.
+          "startDate": "A String", # Pricing period start date. This date must be later than, or the same day as, the placement start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.
+          "endDate": "A String", # Pricing period end date. This date must be later than, or the same day as, the pricing period start date, but not later than the placement end date. The period end date can be the same date as the period start date. If, for example, you set 6/25/2015 as both the start and end dates, the effective pricing period date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error.
+          "pricingComment": "A String", # Comments for this pricing period.
+        },
+      ],
+      "pricingType": "A String", # Placement pricing type. This field is required on insertion.
+      "testingStartDate": "A String", # Testing start date of this placement. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.
+      "floodlightActivityId": "A String", # Floodlight activity ID associated with this placement. This field should be set when placement pricing type is set to PRICING_TYPE_CPA.
+    },
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a placement.
+      "comment": "A String", # Comments for this placement.
+      "campaignId": "A String", # Campaign ID of this placement. This field is a required field on insertion.
+      "paymentSource": "A String", # Payment source for this placement. This is a required field that is read-only after insertion.
+      "directorySiteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the directory site. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "advertiserId": "A String", # Advertiser ID of this placement. This field can be left blank.
+      "keyName": "A String", # Key name of this placement. This is a read-only, auto-generated field.
+      "directorySiteId": "A String", # Directory site ID of this placement. On insert, you must set either this field or the siteId field to specify the site associated with this placement. This is a required field that is read-only after insertion.
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "id": "A String", # ID of this placement. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this placement. This field can be left blank.
+      "archived": True or False, # Whether this placement is archived.
+      "publisherUpdateInfo": { # Modification timestamp. # Information about the last publisher update. This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "tagFormats": [ # Tag formats to generate for this placement. This field is required on insertion.
+          # Acceptable values are:
+          # - "PLACEMENT_TAG_STANDARD"
+          # - "PLACEMENT_TAG_IFRAME_JAVASCRIPT"
+          # - "PLACEMENT_TAG_IFRAME_ILAYER"
+          # - "PLACEMENT_TAG_INTERNAL_REDIRECT"
+          # - "PLACEMENT_TAG_JAVASCRIPT"
+          # - "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
+          # - "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
+          # - "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
+          # - "PLACEMENT_TAG_CLICK_COMMANDS"
+          # - "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
+          # - "PLACEMENT_TAG_TRACKING"
+          # - "PLACEMENT_TAG_TRACKING_IFRAME"
+          # - "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
+        "A String",
+      ],
+      "paymentApproved": True or False, # Whether payment was approved for this placement. This is a read-only field relevant only to publisher-paid placements.
+      "tagSetting": { # Tag Settings # Tag settings for this placement.
+        "includeClickThroughUrls": True or False, # Whether static landing page URLs should be included in the tags. This setting applies only to placements.
+        "includeClickTracking": True or False, # Whether click-tracking string should be included in the tags.
+        "additionalKeyValues": "A String", # Additional key-values to be included in tags. Each key-value pair must be of the form key=value, and pairs must be separated by a semicolon (;). Keys and values must not contain commas. For example, id=2;color=red is a valid value for this field.
+        "keywordOption": "A String", # Option specifying how keywords are embedded in ad tags. This setting can be used to specify whether keyword placeholders are inserted in placement tags for this site. Publishers can then add keywords to those placeholders.
+      },
+      "contentCategoryId": "A String", # ID of the content category assigned to this placement.
+      "externalId": "A String", # External ID for this placement.
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this placement. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "size": { # Represents the dimensions of ads, placements, creatives, or creative assets. # Size associated with this placement. When inserting or updating a placement, only the size ID field is used. This field is required on insertion.
+        "width": 42, # Width of this size.
+        "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+        "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+        "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+        "height": 42, # Height of this size.
+      },
+      "sslRequired": True or False, # Whether creatives assigned to this placement must be SSL-compliant.
+      "status": "A String", # Third-party placement status.
+      "campaignIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the campaign. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "primary": True or False, # Whether this placement is the primary placement of a roadblock (placement group). You cannot change this field from true to false. Setting this field to true will automatically set the primary field on the original primary placement of the roadblock to false, and it will automatically set the roadblock's primaryPlacementId field to the ID of this placement.
+      "placementGroupId": "A String", # ID of this placement's group, if applicable.
+      "createInfo": { # Modification timestamp. # Information about the creation of this placement. This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "siteId": "A String", # Site ID associated with this placement. On insert, you must set either this field or the directorySiteId field to specify the site associated with this placement. This is a required field that is read-only after insertion.
+      "siteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the site. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "compatibility": "A String", # Placement compatibility. DISPLAY and DISPLAY_INTERSTITIAL refer to rendering on desktop, on mobile devices or in mobile apps for regular or interstitial ads respectively. APP and APP_INTERSTITIAL are no longer allowed for new placement insertions. Instead, use DISPLAY or DISPLAY_INTERSTITIAL. IN_STREAM_VIDEO refers to rendering in in-stream video ads developed with the VAST standard. This field is required on insertion.
+      "placementStrategyId": "A String", # ID of the placement strategy assigned to this placement.
+      "placementGroupIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the placement group. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "kind": "dfareporting#placement", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#placement".
+      "subaccountId": "A String", # Subaccount ID of this placement. This field can be left blank.
+      "name": "A String", # Name of this placement.This is a required field and must be less than 256 characters long.
+      "lookbackConfiguration": { # Lookback configuration settings. # Lookback window settings for this placement.
+        "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+        "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+      },
+      "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this placement. This is a read-only field.
+        "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+      },
+      "pricingSchedule": { # Pricing Schedule # Pricing schedule of this placement. This field is required on insertion, specifically subfields startDate, endDate and pricingType.
+        "startDate": "A String", # Placement start date. This date must be later than, or the same day as, the campaign start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error. This field is required on insertion.
+        "endDate": "A String", # Placement end date. This date must be later than, or the same day as, the placement start date, but not later than the campaign end date. If, for example, you set 6/25/2015 as both the start and end dates, the effective placement date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error. This field is required on insertion.
+        "flighted": True or False, # Whether this placement is flighted. If true, pricing periods will be computed automatically.
+        "disregardOverdelivery": True or False, # Whether cap costs are ignored by ad serving.
+        "capCostOption": "A String", # Placement cap cost option.
+        "pricingPeriods": [ # Pricing periods for this placement.
+          { # Pricing Period
+            "units": "A String", # Units of this pricing period.
+            "rateOrCostNanos": "A String", # Rate or cost of this pricing period.
+            "startDate": "A String", # Pricing period start date. This date must be later than, or the same day as, the placement start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.
+            "endDate": "A String", # Pricing period end date. This date must be later than, or the same day as, the pricing period start date, but not later than the placement end date. The period end date can be the same date as the period start date. If, for example, you set 6/25/2015 as both the start and end dates, the effective pricing period date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error.
+            "pricingComment": "A String", # Comments for this pricing period.
+          },
+        ],
+        "pricingType": "A String", # Placement pricing type. This field is required on insertion.
+        "testingStartDate": "A String", # Testing start date of this placement. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.
+        "floodlightActivityId": "A String", # Floodlight activity ID associated with this placement. This field should be set when placement pricing type is set to PRICING_TYPE_CPA.
+      },
+    }
+
+ + \ No newline at end of file diff --git a/docs/dyn/dfareporting_v2_5.platformTypes.html b/docs/dyn/dfareporting_v2_5.platformTypes.html new file mode 100644 index 00000000000..1c566f7467f --- /dev/null +++ b/docs/dyn/dfareporting_v2_5.platformTypes.html @@ -0,0 +1,124 @@ + + + +

DCM/DFA Reporting And Trafficking API . platformTypes

+

Instance Methods

+

+ get(profileId, id)

+

Gets one platform type by ID.

+

+ list(profileId)

+

Retrieves a list of platform types.

+

Method Details

+
+ get(profileId, id) +
Gets one platform type by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Platform type ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Contains information about a platform type that can be targeted by ads.
+    "kind": "dfareporting#platformType", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#platformType".
+    "id": "A String", # ID of this platform type.
+    "name": "A String", # Name of this platform type.
+  }
+
+ +
+ list(profileId) +
Retrieves a list of platform types.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+
+Returns:
+  An object of the form:
+
+    { # Platform Type List Response
+    "kind": "dfareporting#platformTypesListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#platformTypesListResponse".
+    "platformTypes": [ # Platform type collection.
+      { # Contains information about a platform type that can be targeted by ads.
+        "kind": "dfareporting#platformType", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#platformType".
+        "id": "A String", # ID of this platform type.
+        "name": "A String", # Name of this platform type.
+      },
+    ],
+  }
+
+ + \ No newline at end of file diff --git a/docs/dyn/dfareporting_v2_5.postalCodes.html b/docs/dyn/dfareporting_v2_5.postalCodes.html new file mode 100644 index 00000000000..b9d28dfd748 --- /dev/null +++ b/docs/dyn/dfareporting_v2_5.postalCodes.html @@ -0,0 +1,128 @@ + + + +

DCM/DFA Reporting And Trafficking API . postalCodes

+

Instance Methods

+

+ get(profileId, code)

+

Gets one postal code by ID.

+

+ list(profileId)

+

Retrieves a list of postal codes.

+

Method Details

+
+ get(profileId, code) +
Gets one postal code by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  code: string, Postal code ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Contains information about a postal code that can be targeted by ads.
+    "countryDartId": "A String", # DART ID of the country to which this postal code belongs.
+    "kind": "dfareporting#postalCode", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#postalCode".
+    "code": "A String", # Postal code. This is equivalent to the id field.
+    "id": "A String", # ID of this postal code.
+    "countryCode": "A String", # Country code of the country to which this postal code belongs.
+  }
+
+ +
+ list(profileId) +
Retrieves a list of postal codes.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+
+Returns:
+  An object of the form:
+
+    { # Postal Code List Response
+    "kind": "dfareporting#postalCodesListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#postalCodesListResponse".
+    "postalCodes": [ # Postal code collection.
+      { # Contains information about a postal code that can be targeted by ads.
+        "countryDartId": "A String", # DART ID of the country to which this postal code belongs.
+        "kind": "dfareporting#postalCode", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#postalCode".
+        "code": "A String", # Postal code. This is equivalent to the id field.
+        "id": "A String", # ID of this postal code.
+        "countryCode": "A String", # Country code of the country to which this postal code belongs.
+      },
+    ],
+  }
+
+ + \ No newline at end of file diff --git a/docs/dyn/dfareporting_v2_5.projects.html b/docs/dyn/dfareporting_v2_5.projects.html new file mode 100644 index 00000000000..46b90e72d31 --- /dev/null +++ b/docs/dyn/dfareporting_v2_5.projects.html @@ -0,0 +1,195 @@ + + + +

DCM/DFA Reporting And Trafficking API . projects

+

Instance Methods

+

+ get(profileId, id)

+

Gets one project by ID.

+

+ list(profileId, searchString=None, pageToken=None, sortField=None, advertiserIds=None, ids=None, maxResults=None, sortOrder=None)

+

Retrieves a list of projects, possibly filtered.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

Method Details

+
+ get(profileId, id) +
Gets one project by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Project ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a DoubleClick Planning project.
+    "startDate": "A String", # Start date of the project.
+    "kind": "dfareporting#project", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#project".
+    "targetConversions": "A String", # Number of conversions that the advertiser is targeting.
+    "endDate": "A String", # End date of the project.
+    "name": "A String", # Name of this project.
+    "targetCpmNanos": "A String", # CPM that the advertiser is targeting.
+    "targetCpcNanos": "A String", # CPC that the advertiser is targeting.
+    "clientBillingCode": "A String", # Client billing code of this project.
+    "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this project.
+      "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+    },
+    "targetClicks": "A String", # Number of clicks that the advertiser is targeting.
+    "budget": "A String", # Budget of this project in the currency specified by the current account. The value stored in this field represents only the non-fractional amount. For example, for USD, the smallest value that can be represented by this field is 1 US dollar.
+    "targetCpaNanos": "A String", # CPA that the advertiser is targeting.
+    "advertiserId": "A String", # Advertiser ID of this project.
+    "targetImpressions": "A String", # Number of impressions that the advertiser is targeting.
+    "overview": "A String", # Overview of this project.
+    "audienceAgeGroup": "A String", # Audience age group of this project.
+    "subaccountId": "A String", # Subaccount ID of this project.
+    "audienceGender": "A String", # Audience gender of this project.
+    "id": "A String", # ID of this project. This is a read-only, auto-generated field.
+    "clientName": "A String", # Name of the project client.
+    "accountId": "A String", # Account ID of this project.
+  }
+
+ +
+ list(profileId, searchString=None, pageToken=None, sortField=None, advertiserIds=None, ids=None, maxResults=None, sortOrder=None) +
Retrieves a list of projects, possibly filtered.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  searchString: string, Allows searching for projects by name or ID. Wildcards (*) are allowed. For example, "project*2015" will return projects with names like "project June 2015", "project April 2015", or simply "project 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "project" will match projects with name "my project", "project 2015", or simply "project".
+  pageToken: string, Value of the nextPageToken from the previous result page.
+  sortField: string, Field by which to sort the list.
+    Allowed values
+      ID - 
+      NAME - 
+  advertiserIds: string, Select only projects with these advertiser IDs. (repeated)
+  ids: string, Select only projects with these IDs. (repeated)
+  maxResults: integer, Maximum number of results to return.
+  sortOrder: string, Order of sorted results, default is ASCENDING.
+    Allowed values
+      ASCENDING - 
+      DESCENDING - 
+
+Returns:
+  An object of the form:
+
+    { # Project List Response
+    "nextPageToken": "A String", # Pagination token to be used for the next list operation.
+    "kind": "dfareporting#projectsListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#projectsListResponse".
+    "projects": [ # Project collection.
+      { # Contains properties of a DoubleClick Planning project.
+        "startDate": "A String", # Start date of the project.
+        "kind": "dfareporting#project", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#project".
+        "targetConversions": "A String", # Number of conversions that the advertiser is targeting.
+        "endDate": "A String", # End date of the project.
+        "name": "A String", # Name of this project.
+        "targetCpmNanos": "A String", # CPM that the advertiser is targeting.
+        "targetCpcNanos": "A String", # CPC that the advertiser is targeting.
+        "clientBillingCode": "A String", # Client billing code of this project.
+        "lastModifiedInfo": { # Modification timestamp. # Information about the most recent modification of this project.
+          "time": "A String", # Timestamp of the last change in milliseconds since epoch.
+        },
+        "targetClicks": "A String", # Number of clicks that the advertiser is targeting.
+        "budget": "A String", # Budget of this project in the currency specified by the current account. The value stored in this field represents only the non-fractional amount. For example, for USD, the smallest value that can be represented by this field is 1 US dollar.
+        "targetCpaNanos": "A String", # CPA that the advertiser is targeting.
+        "advertiserId": "A String", # Advertiser ID of this project.
+        "targetImpressions": "A String", # Number of impressions that the advertiser is targeting.
+        "overview": "A String", # Overview of this project.
+        "audienceAgeGroup": "A String", # Audience age group of this project.
+        "subaccountId": "A String", # Subaccount ID of this project.
+        "audienceGender": "A String", # Audience gender of this project.
+        "id": "A String", # ID of this project. This is a read-only, auto-generated field.
+        "clientName": "A String", # Name of the project client.
+        "accountId": "A String", # Account ID of this project.
+      },
+    ],
+  }
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    
+
+ + \ No newline at end of file diff --git a/docs/dyn/dfareporting_v2_5.regions.html b/docs/dyn/dfareporting_v2_5.regions.html new file mode 100644 index 00000000000..d770c7ad32c --- /dev/null +++ b/docs/dyn/dfareporting_v2_5.regions.html @@ -0,0 +1,106 @@ + + + +

DCM/DFA Reporting And Trafficking API . regions

+

Instance Methods

+

+ list(profileId)

+

Retrieves a list of regions.

+

Method Details

+
+ list(profileId) +
Retrieves a list of regions.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+
+Returns:
+  An object of the form:
+
+    { # Region List Response
+    "regions": [ # Region collection.
+      { # Contains information about a region that can be targeted by ads.
+        "kind": "dfareporting#region", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#region".
+        "countryDartId": "A String", # DART ID of the country to which this region belongs.
+        "name": "A String", # Name of this region.
+        "countryCode": "A String", # Country code of the country to which this region belongs.
+        "regionCode": "A String", # Region code.
+        "dartId": "A String", # DART ID of this region.
+      },
+    ],
+    "kind": "dfareporting#regionsListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#regionsListResponse".
+  }
+
+ + \ No newline at end of file diff --git a/docs/dyn/dfareporting_v2_5.remarketingListShares.html b/docs/dyn/dfareporting_v2_5.remarketingListShares.html new file mode 100644 index 00000000000..60b750837e1 --- /dev/null +++ b/docs/dyn/dfareporting_v2_5.remarketingListShares.html @@ -0,0 +1,183 @@ + + + +

DCM/DFA Reporting And Trafficking API . remarketingListShares

+

Instance Methods

+

+ get(profileId, remarketingListId)

+

Gets one remarketing list share by remarketing list ID.

+

+ patch(profileId, remarketingListId, body)

+

Updates an existing remarketing list share. This method supports patch semantics.

+

+ update(profileId, body)

+

Updates an existing remarketing list share.

+

Method Details

+
+ get(profileId, remarketingListId) +
Gets one remarketing list share by remarketing list ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  remarketingListId: string, Remarketing list ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a remarketing list's sharing information. Sharing allows other accounts or advertisers to target to your remarketing lists. This resource can be used to manage remarketing list sharing to other accounts and advertisers.
+      "sharedAdvertiserIds": [ # Advertisers that the remarketing list is shared with.
+        "A String",
+      ],
+      "kind": "dfareporting#remarketingListShare", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#remarketingListShare".
+      "remarketingListId": "A String", # Remarketing list ID. This is a read-only, auto-generated field.
+      "sharedAccountIds": [ # Accounts that the remarketing list is shared with.
+        "A String",
+      ],
+    }
+
+ +
+ patch(profileId, remarketingListId, body) +
Updates an existing remarketing list share. This method supports patch semantics.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  remarketingListId: string, Remarketing list ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a remarketing list's sharing information. Sharing allows other accounts or advertisers to target to your remarketing lists. This resource can be used to manage remarketing list sharing to other accounts and advertisers.
+    "sharedAdvertiserIds": [ # Advertisers that the remarketing list is shared with.
+      "A String",
+    ],
+    "kind": "dfareporting#remarketingListShare", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#remarketingListShare".
+    "remarketingListId": "A String", # Remarketing list ID. This is a read-only, auto-generated field.
+    "sharedAccountIds": [ # Accounts that the remarketing list is shared with.
+      "A String",
+    ],
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a remarketing list's sharing information. Sharing allows other accounts or advertisers to target to your remarketing lists. This resource can be used to manage remarketing list sharing to other accounts and advertisers.
+      "sharedAdvertiserIds": [ # Advertisers that the remarketing list is shared with.
+        "A String",
+      ],
+      "kind": "dfareporting#remarketingListShare", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#remarketingListShare".
+      "remarketingListId": "A String", # Remarketing list ID. This is a read-only, auto-generated field.
+      "sharedAccountIds": [ # Accounts that the remarketing list is shared with.
+        "A String",
+      ],
+    }
+
+ +
+ update(profileId, body) +
Updates an existing remarketing list share.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a remarketing list's sharing information. Sharing allows other accounts or advertisers to target to your remarketing lists. This resource can be used to manage remarketing list sharing to other accounts and advertisers.
+    "sharedAdvertiserIds": [ # Advertisers that the remarketing list is shared with.
+      "A String",
+    ],
+    "kind": "dfareporting#remarketingListShare", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#remarketingListShare".
+    "remarketingListId": "A String", # Remarketing list ID. This is a read-only, auto-generated field.
+    "sharedAccountIds": [ # Accounts that the remarketing list is shared with.
+      "A String",
+    ],
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a remarketing list's sharing information. Sharing allows other accounts or advertisers to target to your remarketing lists. This resource can be used to manage remarketing list sharing to other accounts and advertisers.
+      "sharedAdvertiserIds": [ # Advertisers that the remarketing list is shared with.
+        "A String",
+      ],
+      "kind": "dfareporting#remarketingListShare", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#remarketingListShare".
+      "remarketingListId": "A String", # Remarketing list ID. This is a read-only, auto-generated field.
+      "sharedAccountIds": [ # Accounts that the remarketing list is shared with.
+        "A String",
+      ],
+    }
+
+ + \ No newline at end of file diff --git a/docs/dyn/dfareporting_v2_5.remarketingLists.html b/docs/dyn/dfareporting_v2_5.remarketingLists.html new file mode 100644 index 00000000000..e305cfe9e2b --- /dev/null +++ b/docs/dyn/dfareporting_v2_5.remarketingLists.html @@ -0,0 +1,532 @@ + + + +

DCM/DFA Reporting And Trafficking API . remarketingLists

+

Instance Methods

+

+ get(profileId, id)

+

Gets one remarketing list by ID.

+

+ insert(profileId, body)

+

Inserts a new remarketing list.

+

+ list(profileId, advertiserId, name=None, pageToken=None, sortField=None, floodlightActivityId=None, maxResults=None, active=None, sortOrder=None)

+

Retrieves a list of remarketing lists, possibly filtered.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

+ patch(profileId, id, body)

+

Updates an existing remarketing list. This method supports patch semantics.

+

+ update(profileId, body)

+

Updates an existing remarketing list.

+

Method Details

+
+ get(profileId, id) +
Gets one remarketing list by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Remarketing list ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a remarketing list. Remarketing enables you to create lists of users who have performed specific actions on a site, then target ads to members of those lists. This resource can be used to manage remarketing lists that are owned by your advertisers. To see all remarketing lists that are visible to your advertisers, including those that are shared to your advertiser or account, use the TargetableRemarketingLists resource.
+      "listPopulationRule": { # Remarketing List Population Rule. # Rule used to populate the remarketing list with users.
+        "floodlightActivityName": "A String", # Name of floodlight activity associated with this rule. This is a read-only, auto-generated field.
+        "floodlightActivityId": "A String", # Floodlight activity ID associated with this rule. This field can be left blank.
+        "listPopulationClauses": [ # Clauses that make up this list population rule. Clauses are joined by ANDs, and the clauses themselves are made up of list population terms which are joined by ORs.
+          { # A group clause made up of list population terms representing constraints joined by ORs.
+            "terms": [ # Terms of this list population clause. Each clause is made up of list population terms representing constraints and are joined by ORs.
+              { # Remarketing List Population Rule Term.
+                "remarketingListId": "A String", # ID of the list in question. This field is only relevant when type is set to LIST_MEMBERSHIP_TERM.
+                "contains": True or False, # Will be true if the term should check if the user is in the list and false if the term should check if the user is not in the list. This field is only relevant when type is set to LIST_MEMBERSHIP_TERM. False by default.
+                "negation": True or False, # Whether to negate the comparison result of this term during rule evaluation. This field is only relevant when type is left unset or set to CUSTOM_VARIABLE_TERM or REFERRER_TERM.
+                "value": "A String", # Literal to compare the variable to. This field is only relevant when type is left unset or set to CUSTOM_VARIABLE_TERM or REFERRER_TERM.
+                "variableFriendlyName": "A String", # Friendly name of this term's variable. This is a read-only, auto-generated field. This field is only relevant when type is left unset or set to CUSTOM_VARIABLE_TERM.
+                "operator": "A String", # Comparison operator of this term. This field is only relevant when type is left unset or set to CUSTOM_VARIABLE_TERM or REFERRER_TERM.
+                "type": "A String", # List population term type determines the applicable fields in this object. If left unset or set to CUSTOM_VARIABLE_TERM, then variableName, variableFriendlyName, operator, value, and negation are applicable. If set to LIST_MEMBERSHIP_TERM then remarketingListId and contains are applicable. If set to REFERRER_TERM then operator, value, and negation are applicable.
+                "variableName": "A String", # Name of the variable (U1, U2, etc.) being compared in this term. This field is only relevant when type is set to null, CUSTOM_VARIABLE_TERM or REFERRER_TERM.
+              },
+            ],
+          },
+        ],
+      },
+      "kind": "dfareporting#remarketingList", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#remarketingList".
+      "subaccountId": "A String", # Subaccount ID of this remarketing list. This is a read-only, auto-generated field that is only returned in GET requests.
+      "description": "A String", # Remarketing list description.
+      "listSize": "A String", # Number of users currently in the list. This is a read-only field.
+      "lifeSpan": "A String", # Number of days that a user should remain in the remarketing list without an impression.
+      "name": "A String", # Name of the remarketing list. This is a required field. Must be no greater than 128 characters long.
+      "advertiserId": "A String", # Dimension value for the advertiser ID that owns this remarketing list. This is a required field.
+      "listSource": "A String", # Product from which this remarketing list was originated.
+      "active": True or False, # Whether this remarketing list is active.
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "id": "A String", # Remarketing list ID. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this remarketing list. This is a read-only, auto-generated field that is only returned in GET requests.
+    }
+
+ +
+ insert(profileId, body) +
Inserts a new remarketing list.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a remarketing list. Remarketing enables you to create lists of users who have performed specific actions on a site, then target ads to members of those lists. This resource can be used to manage remarketing lists that are owned by your advertisers. To see all remarketing lists that are visible to your advertisers, including those that are shared to your advertiser or account, use the TargetableRemarketingLists resource.
+    "listPopulationRule": { # Remarketing List Population Rule. # Rule used to populate the remarketing list with users.
+      "floodlightActivityName": "A String", # Name of floodlight activity associated with this rule. This is a read-only, auto-generated field.
+      "floodlightActivityId": "A String", # Floodlight activity ID associated with this rule. This field can be left blank.
+      "listPopulationClauses": [ # Clauses that make up this list population rule. Clauses are joined by ANDs, and the clauses themselves are made up of list population terms which are joined by ORs.
+        { # A group clause made up of list population terms representing constraints joined by ORs.
+          "terms": [ # Terms of this list population clause. Each clause is made up of list population terms representing constraints and are joined by ORs.
+            { # Remarketing List Population Rule Term.
+              "remarketingListId": "A String", # ID of the list in question. This field is only relevant when type is set to LIST_MEMBERSHIP_TERM.
+              "contains": True or False, # Will be true if the term should check if the user is in the list and false if the term should check if the user is not in the list. This field is only relevant when type is set to LIST_MEMBERSHIP_TERM. False by default.
+              "negation": True or False, # Whether to negate the comparison result of this term during rule evaluation. This field is only relevant when type is left unset or set to CUSTOM_VARIABLE_TERM or REFERRER_TERM.
+              "value": "A String", # Literal to compare the variable to. This field is only relevant when type is left unset or set to CUSTOM_VARIABLE_TERM or REFERRER_TERM.
+              "variableFriendlyName": "A String", # Friendly name of this term's variable. This is a read-only, auto-generated field. This field is only relevant when type is left unset or set to CUSTOM_VARIABLE_TERM.
+              "operator": "A String", # Comparison operator of this term. This field is only relevant when type is left unset or set to CUSTOM_VARIABLE_TERM or REFERRER_TERM.
+              "type": "A String", # List population term type determines the applicable fields in this object. If left unset or set to CUSTOM_VARIABLE_TERM, then variableName, variableFriendlyName, operator, value, and negation are applicable. If set to LIST_MEMBERSHIP_TERM then remarketingListId and contains are applicable. If set to REFERRER_TERM then operator, value, and negation are applicable.
+              "variableName": "A String", # Name of the variable (U1, U2, etc.) being compared in this term. This field is only relevant when type is set to null, CUSTOM_VARIABLE_TERM or REFERRER_TERM.
+            },
+          ],
+        },
+      ],
+    },
+    "kind": "dfareporting#remarketingList", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#remarketingList".
+    "subaccountId": "A String", # Subaccount ID of this remarketing list. This is a read-only, auto-generated field that is only returned in GET requests.
+    "description": "A String", # Remarketing list description.
+    "listSize": "A String", # Number of users currently in the list. This is a read-only field.
+    "lifeSpan": "A String", # Number of days that a user should remain in the remarketing list without an impression.
+    "name": "A String", # Name of the remarketing list. This is a required field. Must be no greater than 128 characters long.
+    "advertiserId": "A String", # Dimension value for the advertiser ID that owns this remarketing list. This is a required field.
+    "listSource": "A String", # Product from which this remarketing list was originated.
+    "active": True or False, # Whether this remarketing list is active.
+    "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "id": "A String", # Remarketing list ID. This is a read-only, auto-generated field.
+    "accountId": "A String", # Account ID of this remarketing list. This is a read-only, auto-generated field that is only returned in GET requests.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a remarketing list. Remarketing enables you to create lists of users who have performed specific actions on a site, then target ads to members of those lists. This resource can be used to manage remarketing lists that are owned by your advertisers. To see all remarketing lists that are visible to your advertisers, including those that are shared to your advertiser or account, use the TargetableRemarketingLists resource.
+      "listPopulationRule": { # Remarketing List Population Rule. # Rule used to populate the remarketing list with users.
+        "floodlightActivityName": "A String", # Name of floodlight activity associated with this rule. This is a read-only, auto-generated field.
+        "floodlightActivityId": "A String", # Floodlight activity ID associated with this rule. This field can be left blank.
+        "listPopulationClauses": [ # Clauses that make up this list population rule. Clauses are joined by ANDs, and the clauses themselves are made up of list population terms which are joined by ORs.
+          { # A group clause made up of list population terms representing constraints joined by ORs.
+            "terms": [ # Terms of this list population clause. Each clause is made up of list population terms representing constraints and are joined by ORs.
+              { # Remarketing List Population Rule Term.
+                "remarketingListId": "A String", # ID of the list in question. This field is only relevant when type is set to LIST_MEMBERSHIP_TERM.
+                "contains": True or False, # Will be true if the term should check if the user is in the list and false if the term should check if the user is not in the list. This field is only relevant when type is set to LIST_MEMBERSHIP_TERM. False by default.
+                "negation": True or False, # Whether to negate the comparison result of this term during rule evaluation. This field is only relevant when type is left unset or set to CUSTOM_VARIABLE_TERM or REFERRER_TERM.
+                "value": "A String", # Literal to compare the variable to. This field is only relevant when type is left unset or set to CUSTOM_VARIABLE_TERM or REFERRER_TERM.
+                "variableFriendlyName": "A String", # Friendly name of this term's variable. This is a read-only, auto-generated field. This field is only relevant when type is left unset or set to CUSTOM_VARIABLE_TERM.
+                "operator": "A String", # Comparison operator of this term. This field is only relevant when type is left unset or set to CUSTOM_VARIABLE_TERM or REFERRER_TERM.
+                "type": "A String", # List population term type determines the applicable fields in this object. If left unset or set to CUSTOM_VARIABLE_TERM, then variableName, variableFriendlyName, operator, value, and negation are applicable. If set to LIST_MEMBERSHIP_TERM then remarketingListId and contains are applicable. If set to REFERRER_TERM then operator, value, and negation are applicable.
+                "variableName": "A String", # Name of the variable (U1, U2, etc.) being compared in this term. This field is only relevant when type is set to null, CUSTOM_VARIABLE_TERM or REFERRER_TERM.
+              },
+            ],
+          },
+        ],
+      },
+      "kind": "dfareporting#remarketingList", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#remarketingList".
+      "subaccountId": "A String", # Subaccount ID of this remarketing list. This is a read-only, auto-generated field that is only returned in GET requests.
+      "description": "A String", # Remarketing list description.
+      "listSize": "A String", # Number of users currently in the list. This is a read-only field.
+      "lifeSpan": "A String", # Number of days that a user should remain in the remarketing list without an impression.
+      "name": "A String", # Name of the remarketing list. This is a required field. Must be no greater than 128 characters long.
+      "advertiserId": "A String", # Dimension value for the advertiser ID that owns this remarketing list. This is a required field.
+      "listSource": "A String", # Product from which this remarketing list was originated.
+      "active": True or False, # Whether this remarketing list is active.
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "id": "A String", # Remarketing list ID. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this remarketing list. This is a read-only, auto-generated field that is only returned in GET requests.
+    }
+
+ +
+ list(profileId, advertiserId, name=None, pageToken=None, sortField=None, floodlightActivityId=None, maxResults=None, active=None, sortOrder=None) +
Retrieves a list of remarketing lists, possibly filtered.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  advertiserId: string, Select only remarketing lists owned by this advertiser. (required)
+  name: string, Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "remarketing list*2015" will return objects with names like "remarketing list June 2015", "remarketing list April 2015", or simply "remarketing list 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "remarketing list" will match objects with name "my remarketing list", "remarketing list 2015", or simply "remarketing list".
+  pageToken: string, Value of the nextPageToken from the previous result page.
+  sortField: string, Field by which to sort the list.
+    Allowed values
+      ID - 
+      NAME - 
+  floodlightActivityId: string, Select only remarketing lists that have this floodlight activity ID.
+  maxResults: integer, Maximum number of results to return.
+  active: boolean, Select only active or only inactive remarketing lists.
+  sortOrder: string, Order of sorted results, default is ASCENDING.
+    Allowed values
+      ASCENDING - 
+      DESCENDING - 
+
+Returns:
+  An object of the form:
+
+    { # Remarketing list response
+    "nextPageToken": "A String", # Pagination token to be used for the next list operation.
+    "remarketingLists": [ # Remarketing list collection.
+      { # Contains properties of a remarketing list. Remarketing enables you to create lists of users who have performed specific actions on a site, then target ads to members of those lists. This resource can be used to manage remarketing lists that are owned by your advertisers. To see all remarketing lists that are visible to your advertisers, including those that are shared to your advertiser or account, use the TargetableRemarketingLists resource.
+          "listPopulationRule": { # Remarketing List Population Rule. # Rule used to populate the remarketing list with users.
+            "floodlightActivityName": "A String", # Name of floodlight activity associated with this rule. This is a read-only, auto-generated field.
+            "floodlightActivityId": "A String", # Floodlight activity ID associated with this rule. This field can be left blank.
+            "listPopulationClauses": [ # Clauses that make up this list population rule. Clauses are joined by ANDs, and the clauses themselves are made up of list population terms which are joined by ORs.
+              { # A group clause made up of list population terms representing constraints joined by ORs.
+                "terms": [ # Terms of this list population clause. Each clause is made up of list population terms representing constraints and are joined by ORs.
+                  { # Remarketing List Population Rule Term.
+                    "remarketingListId": "A String", # ID of the list in question. This field is only relevant when type is set to LIST_MEMBERSHIP_TERM.
+                    "contains": True or False, # Will be true if the term should check if the user is in the list and false if the term should check if the user is not in the list. This field is only relevant when type is set to LIST_MEMBERSHIP_TERM. False by default.
+                    "negation": True or False, # Whether to negate the comparison result of this term during rule evaluation. This field is only relevant when type is left unset or set to CUSTOM_VARIABLE_TERM or REFERRER_TERM.
+                    "value": "A String", # Literal to compare the variable to. This field is only relevant when type is left unset or set to CUSTOM_VARIABLE_TERM or REFERRER_TERM.
+                    "variableFriendlyName": "A String", # Friendly name of this term's variable. This is a read-only, auto-generated field. This field is only relevant when type is left unset or set to CUSTOM_VARIABLE_TERM.
+                    "operator": "A String", # Comparison operator of this term. This field is only relevant when type is left unset or set to CUSTOM_VARIABLE_TERM or REFERRER_TERM.
+                    "type": "A String", # List population term type determines the applicable fields in this object. If left unset or set to CUSTOM_VARIABLE_TERM, then variableName, variableFriendlyName, operator, value, and negation are applicable. If set to LIST_MEMBERSHIP_TERM then remarketingListId and contains are applicable. If set to REFERRER_TERM then operator, value, and negation are applicable.
+                    "variableName": "A String", # Name of the variable (U1, U2, etc.) being compared in this term. This field is only relevant when type is set to null, CUSTOM_VARIABLE_TERM or REFERRER_TERM.
+                  },
+                ],
+              },
+            ],
+          },
+          "kind": "dfareporting#remarketingList", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#remarketingList".
+          "subaccountId": "A String", # Subaccount ID of this remarketing list. This is a read-only, auto-generated field that is only returned in GET requests.
+          "description": "A String", # Remarketing list description.
+          "listSize": "A String", # Number of users currently in the list. This is a read-only field.
+          "lifeSpan": "A String", # Number of days that a user should remain in the remarketing list without an impression.
+          "name": "A String", # Name of the remarketing list. This is a required field. Must be no greater than 128 characters long.
+          "advertiserId": "A String", # Dimension value for the advertiser ID that owns this remarketing list. This is a required field.
+          "listSource": "A String", # Product from which this remarketing list was originated.
+          "active": True or False, # Whether this remarketing list is active.
+          "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "id": "A String", # Remarketing list ID. This is a read-only, auto-generated field.
+          "accountId": "A String", # Account ID of this remarketing list. This is a read-only, auto-generated field that is only returned in GET requests.
+        },
+    ],
+    "kind": "dfareporting#remarketingListsListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#remarketingListsListResponse".
+  }
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    
+
+ +
+ patch(profileId, id, body) +
Updates an existing remarketing list. This method supports patch semantics.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Remarketing list ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a remarketing list. Remarketing enables you to create lists of users who have performed specific actions on a site, then target ads to members of those lists. This resource can be used to manage remarketing lists that are owned by your advertisers. To see all remarketing lists that are visible to your advertisers, including those that are shared to your advertiser or account, use the TargetableRemarketingLists resource.
+    "listPopulationRule": { # Remarketing List Population Rule. # Rule used to populate the remarketing list with users.
+      "floodlightActivityName": "A String", # Name of floodlight activity associated with this rule. This is a read-only, auto-generated field.
+      "floodlightActivityId": "A String", # Floodlight activity ID associated with this rule. This field can be left blank.
+      "listPopulationClauses": [ # Clauses that make up this list population rule. Clauses are joined by ANDs, and the clauses themselves are made up of list population terms which are joined by ORs.
+        { # A group clause made up of list population terms representing constraints joined by ORs.
+          "terms": [ # Terms of this list population clause. Each clause is made up of list population terms representing constraints and are joined by ORs.
+            { # Remarketing List Population Rule Term.
+              "remarketingListId": "A String", # ID of the list in question. This field is only relevant when type is set to LIST_MEMBERSHIP_TERM.
+              "contains": True or False, # Will be true if the term should check if the user is in the list and false if the term should check if the user is not in the list. This field is only relevant when type is set to LIST_MEMBERSHIP_TERM. False by default.
+              "negation": True or False, # Whether to negate the comparison result of this term during rule evaluation. This field is only relevant when type is left unset or set to CUSTOM_VARIABLE_TERM or REFERRER_TERM.
+              "value": "A String", # Literal to compare the variable to. This field is only relevant when type is left unset or set to CUSTOM_VARIABLE_TERM or REFERRER_TERM.
+              "variableFriendlyName": "A String", # Friendly name of this term's variable. This is a read-only, auto-generated field. This field is only relevant when type is left unset or set to CUSTOM_VARIABLE_TERM.
+              "operator": "A String", # Comparison operator of this term. This field is only relevant when type is left unset or set to CUSTOM_VARIABLE_TERM or REFERRER_TERM.
+              "type": "A String", # List population term type determines the applicable fields in this object. If left unset or set to CUSTOM_VARIABLE_TERM, then variableName, variableFriendlyName, operator, value, and negation are applicable. If set to LIST_MEMBERSHIP_TERM then remarketingListId and contains are applicable. If set to REFERRER_TERM then operator, value, and negation are applicable.
+              "variableName": "A String", # Name of the variable (U1, U2, etc.) being compared in this term. This field is only relevant when type is set to null, CUSTOM_VARIABLE_TERM or REFERRER_TERM.
+            },
+          ],
+        },
+      ],
+    },
+    "kind": "dfareporting#remarketingList", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#remarketingList".
+    "subaccountId": "A String", # Subaccount ID of this remarketing list. This is a read-only, auto-generated field that is only returned in GET requests.
+    "description": "A String", # Remarketing list description.
+    "listSize": "A String", # Number of users currently in the list. This is a read-only field.
+    "lifeSpan": "A String", # Number of days that a user should remain in the remarketing list without an impression.
+    "name": "A String", # Name of the remarketing list. This is a required field. Must be no greater than 128 characters long.
+    "advertiserId": "A String", # Dimension value for the advertiser ID that owns this remarketing list. This is a required field.
+    "listSource": "A String", # Product from which this remarketing list was originated.
+    "active": True or False, # Whether this remarketing list is active.
+    "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "id": "A String", # Remarketing list ID. This is a read-only, auto-generated field.
+    "accountId": "A String", # Account ID of this remarketing list. This is a read-only, auto-generated field that is only returned in GET requests.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a remarketing list. Remarketing enables you to create lists of users who have performed specific actions on a site, then target ads to members of those lists. This resource can be used to manage remarketing lists that are owned by your advertisers. To see all remarketing lists that are visible to your advertisers, including those that are shared to your advertiser or account, use the TargetableRemarketingLists resource.
+      "listPopulationRule": { # Remarketing List Population Rule. # Rule used to populate the remarketing list with users.
+        "floodlightActivityName": "A String", # Name of floodlight activity associated with this rule. This is a read-only, auto-generated field.
+        "floodlightActivityId": "A String", # Floodlight activity ID associated with this rule. This field can be left blank.
+        "listPopulationClauses": [ # Clauses that make up this list population rule. Clauses are joined by ANDs, and the clauses themselves are made up of list population terms which are joined by ORs.
+          { # A group clause made up of list population terms representing constraints joined by ORs.
+            "terms": [ # Terms of this list population clause. Each clause is made up of list population terms representing constraints and are joined by ORs.
+              { # Remarketing List Population Rule Term.
+                "remarketingListId": "A String", # ID of the list in question. This field is only relevant when type is set to LIST_MEMBERSHIP_TERM.
+                "contains": True or False, # Will be true if the term should check if the user is in the list and false if the term should check if the user is not in the list. This field is only relevant when type is set to LIST_MEMBERSHIP_TERM. False by default.
+                "negation": True or False, # Whether to negate the comparison result of this term during rule evaluation. This field is only relevant when type is left unset or set to CUSTOM_VARIABLE_TERM or REFERRER_TERM.
+                "value": "A String", # Literal to compare the variable to. This field is only relevant when type is left unset or set to CUSTOM_VARIABLE_TERM or REFERRER_TERM.
+                "variableFriendlyName": "A String", # Friendly name of this term's variable. This is a read-only, auto-generated field. This field is only relevant when type is left unset or set to CUSTOM_VARIABLE_TERM.
+                "operator": "A String", # Comparison operator of this term. This field is only relevant when type is left unset or set to CUSTOM_VARIABLE_TERM or REFERRER_TERM.
+                "type": "A String", # List population term type determines the applicable fields in this object. If left unset or set to CUSTOM_VARIABLE_TERM, then variableName, variableFriendlyName, operator, value, and negation are applicable. If set to LIST_MEMBERSHIP_TERM then remarketingListId and contains are applicable. If set to REFERRER_TERM then operator, value, and negation are applicable.
+                "variableName": "A String", # Name of the variable (U1, U2, etc.) being compared in this term. This field is only relevant when type is set to null, CUSTOM_VARIABLE_TERM or REFERRER_TERM.
+              },
+            ],
+          },
+        ],
+      },
+      "kind": "dfareporting#remarketingList", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#remarketingList".
+      "subaccountId": "A String", # Subaccount ID of this remarketing list. This is a read-only, auto-generated field that is only returned in GET requests.
+      "description": "A String", # Remarketing list description.
+      "listSize": "A String", # Number of users currently in the list. This is a read-only field.
+      "lifeSpan": "A String", # Number of days that a user should remain in the remarketing list without an impression.
+      "name": "A String", # Name of the remarketing list. This is a required field. Must be no greater than 128 characters long.
+      "advertiserId": "A String", # Dimension value for the advertiser ID that owns this remarketing list. This is a required field.
+      "listSource": "A String", # Product from which this remarketing list was originated.
+      "active": True or False, # Whether this remarketing list is active.
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "id": "A String", # Remarketing list ID. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this remarketing list. This is a read-only, auto-generated field that is only returned in GET requests.
+    }
+
+ +
+ update(profileId, body) +
Updates an existing remarketing list.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a remarketing list. Remarketing enables you to create lists of users who have performed specific actions on a site, then target ads to members of those lists. This resource can be used to manage remarketing lists that are owned by your advertisers. To see all remarketing lists that are visible to your advertisers, including those that are shared to your advertiser or account, use the TargetableRemarketingLists resource.
+    "listPopulationRule": { # Remarketing List Population Rule. # Rule used to populate the remarketing list with users.
+      "floodlightActivityName": "A String", # Name of floodlight activity associated with this rule. This is a read-only, auto-generated field.
+      "floodlightActivityId": "A String", # Floodlight activity ID associated with this rule. This field can be left blank.
+      "listPopulationClauses": [ # Clauses that make up this list population rule. Clauses are joined by ANDs, and the clauses themselves are made up of list population terms which are joined by ORs.
+        { # A group clause made up of list population terms representing constraints joined by ORs.
+          "terms": [ # Terms of this list population clause. Each clause is made up of list population terms representing constraints and are joined by ORs.
+            { # Remarketing List Population Rule Term.
+              "remarketingListId": "A String", # ID of the list in question. This field is only relevant when type is set to LIST_MEMBERSHIP_TERM.
+              "contains": True or False, # Will be true if the term should check if the user is in the list and false if the term should check if the user is not in the list. This field is only relevant when type is set to LIST_MEMBERSHIP_TERM. False by default.
+              "negation": True or False, # Whether to negate the comparison result of this term during rule evaluation. This field is only relevant when type is left unset or set to CUSTOM_VARIABLE_TERM or REFERRER_TERM.
+              "value": "A String", # Literal to compare the variable to. This field is only relevant when type is left unset or set to CUSTOM_VARIABLE_TERM or REFERRER_TERM.
+              "variableFriendlyName": "A String", # Friendly name of this term's variable. This is a read-only, auto-generated field. This field is only relevant when type is left unset or set to CUSTOM_VARIABLE_TERM.
+              "operator": "A String", # Comparison operator of this term. This field is only relevant when type is left unset or set to CUSTOM_VARIABLE_TERM or REFERRER_TERM.
+              "type": "A String", # List population term type determines the applicable fields in this object. If left unset or set to CUSTOM_VARIABLE_TERM, then variableName, variableFriendlyName, operator, value, and negation are applicable. If set to LIST_MEMBERSHIP_TERM then remarketingListId and contains are applicable. If set to REFERRER_TERM then operator, value, and negation are applicable.
+              "variableName": "A String", # Name of the variable (U1, U2, etc.) being compared in this term. This field is only relevant when type is set to null, CUSTOM_VARIABLE_TERM or REFERRER_TERM.
+            },
+          ],
+        },
+      ],
+    },
+    "kind": "dfareporting#remarketingList", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#remarketingList".
+    "subaccountId": "A String", # Subaccount ID of this remarketing list. This is a read-only, auto-generated field that is only returned in GET requests.
+    "description": "A String", # Remarketing list description.
+    "listSize": "A String", # Number of users currently in the list. This is a read-only field.
+    "lifeSpan": "A String", # Number of days that a user should remain in the remarketing list without an impression.
+    "name": "A String", # Name of the remarketing list. This is a required field. Must be no greater than 128 characters long.
+    "advertiserId": "A String", # Dimension value for the advertiser ID that owns this remarketing list. This is a required field.
+    "listSource": "A String", # Product from which this remarketing list was originated.
+    "active": True or False, # Whether this remarketing list is active.
+    "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "id": "A String", # Remarketing list ID. This is a read-only, auto-generated field.
+    "accountId": "A String", # Account ID of this remarketing list. This is a read-only, auto-generated field that is only returned in GET requests.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a remarketing list. Remarketing enables you to create lists of users who have performed specific actions on a site, then target ads to members of those lists. This resource can be used to manage remarketing lists that are owned by your advertisers. To see all remarketing lists that are visible to your advertisers, including those that are shared to your advertiser or account, use the TargetableRemarketingLists resource.
+      "listPopulationRule": { # Remarketing List Population Rule. # Rule used to populate the remarketing list with users.
+        "floodlightActivityName": "A String", # Name of floodlight activity associated with this rule. This is a read-only, auto-generated field.
+        "floodlightActivityId": "A String", # Floodlight activity ID associated with this rule. This field can be left blank.
+        "listPopulationClauses": [ # Clauses that make up this list population rule. Clauses are joined by ANDs, and the clauses themselves are made up of list population terms which are joined by ORs.
+          { # A group clause made up of list population terms representing constraints joined by ORs.
+            "terms": [ # Terms of this list population clause. Each clause is made up of list population terms representing constraints and are joined by ORs.
+              { # Remarketing List Population Rule Term.
+                "remarketingListId": "A String", # ID of the list in question. This field is only relevant when type is set to LIST_MEMBERSHIP_TERM.
+                "contains": True or False, # Will be true if the term should check if the user is in the list and false if the term should check if the user is not in the list. This field is only relevant when type is set to LIST_MEMBERSHIP_TERM. False by default.
+                "negation": True or False, # Whether to negate the comparison result of this term during rule evaluation. This field is only relevant when type is left unset or set to CUSTOM_VARIABLE_TERM or REFERRER_TERM.
+                "value": "A String", # Literal to compare the variable to. This field is only relevant when type is left unset or set to CUSTOM_VARIABLE_TERM or REFERRER_TERM.
+                "variableFriendlyName": "A String", # Friendly name of this term's variable. This is a read-only, auto-generated field. This field is only relevant when type is left unset or set to CUSTOM_VARIABLE_TERM.
+                "operator": "A String", # Comparison operator of this term. This field is only relevant when type is left unset or set to CUSTOM_VARIABLE_TERM or REFERRER_TERM.
+                "type": "A String", # List population term type determines the applicable fields in this object. If left unset or set to CUSTOM_VARIABLE_TERM, then variableName, variableFriendlyName, operator, value, and negation are applicable. If set to LIST_MEMBERSHIP_TERM then remarketingListId and contains are applicable. If set to REFERRER_TERM then operator, value, and negation are applicable.
+                "variableName": "A String", # Name of the variable (U1, U2, etc.) being compared in this term. This field is only relevant when type is set to null, CUSTOM_VARIABLE_TERM or REFERRER_TERM.
+              },
+            ],
+          },
+        ],
+      },
+      "kind": "dfareporting#remarketingList", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#remarketingList".
+      "subaccountId": "A String", # Subaccount ID of this remarketing list. This is a read-only, auto-generated field that is only returned in GET requests.
+      "description": "A String", # Remarketing list description.
+      "listSize": "A String", # Number of users currently in the list. This is a read-only field.
+      "lifeSpan": "A String", # Number of days that a user should remain in the remarketing list without an impression.
+      "name": "A String", # Name of the remarketing list. This is a required field. Must be no greater than 128 characters long.
+      "advertiserId": "A String", # Dimension value for the advertiser ID that owns this remarketing list. This is a required field.
+      "listSource": "A String", # Product from which this remarketing list was originated.
+      "active": True or False, # Whether this remarketing list is active.
+      "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "id": "A String", # Remarketing list ID. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this remarketing list. This is a read-only, auto-generated field that is only returned in GET requests.
+    }
+
+ + \ No newline at end of file diff --git a/docs/dyn/dfareporting_v2_5.reports.compatibleFields.html b/docs/dyn/dfareporting_v2_5.reports.compatibleFields.html new file mode 100644 index 00000000000..28e57f7a00b --- /dev/null +++ b/docs/dyn/dfareporting_v2_5.reports.compatibleFields.html @@ -0,0 +1,551 @@ + + + +

DCM/DFA Reporting And Trafficking API . reports . compatibleFields

+

Instance Methods

+

+ query(profileId, body)

+

Returns the fields that are compatible to be selected in the respective sections of a report criteria, given the fields already selected in the input report and user permissions.

+

Method Details

+
+ query(profileId, body) +
Returns the fields that are compatible to be selected in the respective sections of a report criteria, given the fields already selected in the input report and user permissions.
+
+Args:
+  profileId: string, The DFA user profile ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Represents a Report resource.
+    "pathToConversionCriteria": { # The report criteria for a report of type "PATH_TO_CONVERSION".
+      "conversionDimensions": [ # The list of conversion dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column.
+        },
+      ],
+      "metricNames": [ # The list of names of metrics the report should include.
+        "A String",
+      ],
+      "dateRange": { # Represents a date range. # The date range this report should be run for.
+        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+      },
+      "reportProperties": { # The properties of the report.
+        "clicksLookbackWindow": 42, # DFA checks to see if a click interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
+        "pivotOnInteractionPath": True or False, # Enable pivoting on interaction path.
+        "impressionsLookbackWindow": 42, # DFA checks to see if an impression interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
+        "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
+        "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
+        "maximumInteractionGap": 42, # The maximum amount of time that can take place between interactions (clicks or impressions) by the same user. Valid values: 1-90.
+        "includeAttributedIPConversions": True or False, # Deprecated: has no effect.
+        "maximumClickInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
+        "maximumImpressionInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
+      },
+      "perInteractionDimensions": [ # The list of per interaction dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column.
+        },
+      ],
+      "activityFilters": [ # The list of 'dfa:activity' values to filter on.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "customRichMediaEvents": [ # The list of custom rich media events to include.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "customFloodlightVariables": [ # The list of custom floodlight variables the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column.
+        },
+      ],
+    },
+    "kind": "dfareporting#report", # The kind of resource this is, in this case dfareporting#report.
+    "subAccountId": "A String", # The subaccount ID to which this report belongs if applicable.
+    "name": "A String", # The name of the report.
+    "schedule": { # The report's schedule. Can only be set if the report's 'dateRange' is a relative date range and the relative date range is not "TODAY".
+      "startDate": "A String", # Start date of date range for which scheduled reports should be run.
+      "runsOnDayOfMonth": "A String", # Enum to define for "MONTHLY" scheduled reports whether reports should be repeated on the same day of the month as "startDate" or the same day of the week of the month.
+          # Example: If 'startDate' is Monday, April 2nd 2012 (2012-04-02), "DAY_OF_MONTH" would run subsequent reports on the 2nd of every Month, and "WEEK_OF_MONTH" would run subsequent reports on the first Monday of the month.
+      "every": 42, # Defines every how many days, weeks or months the report should be run. Needs to be set when "repeats" is either "DAILY", "WEEKLY" or "MONTHLY".
+      "expirationDate": "A String", # The expiration date when the scheduled report stops running.
+      "active": True or False, # Whether the schedule is active or not. Must be set to either true or false.
+      "repeats": "A String", # The interval for which the report is repeated. Note:
+          # - "DAILY" also requires field "every" to be set.
+          # - "WEEKLY" also requires fields "every" and "repeatsOnWeekDays" to be set.
+          # - "MONTHLY" also requires fields "every" and "runsOnDayOfMonth" to be set.
+      "repeatsOnWeekDays": [ # List of week days "WEEKLY" on which scheduled reports should run.
+        "A String",
+      ],
+    },
+    "format": "A String", # The output format of the report. If not specified, default format is "CSV". Note that the actual format in the completed report file might differ if for instance the report's size exceeds the format's capabilities. "CSV" will then be the fallback format.
+    "ownerProfileId": "A String", # The user profile id of the owner of this report.
+    "reachCriteria": { # The report criteria for a report of type "REACH".
+      "activities": { # Represents an activity group. # Activity group.
+        "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
+        "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "metricNames": [ # List of names of floodlight activity metrics.
+          "A String",
+        ],
+      },
+      "dimensions": [ # The list of dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column.
+        },
+      ],
+      "metricNames": [ # The list of names of metrics the report should include.
+        "A String",
+      ],
+      "dateRange": { # Represents a date range. # The date range this report should be run for.
+        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+      },
+      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "reachByFrequencyMetricNames": [ # The list of names of  Reach By Frequency metrics the report should include.
+        "A String",
+      ],
+      "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
+        "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
+        "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+      },
+      "enableAllDimensionCombinations": True or False, # Whether to enable all reach dimension combinations in the report. Defaults to false. If enabled, the date range of the report should be within the last three months.
+    },
+    "floodlightCriteria": { # The report criteria for a report of type "FLOODLIGHT".
+      "dimensions": [ # The list of dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column.
+        },
+      ],
+      "metricNames": [ # The list of names of metrics the report should include.
+        "A String",
+      ],
+      "dateRange": { # Represents a date range. # The date range this report should be run for.
+        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+      },
+      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "customRichMediaEvents": [ # The list of custom rich media events to include.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "reportProperties": { # The properties of the report.
+        "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
+        "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
+        "includeAttributedIPConversions": True or False, # Include conversions that have no cookie, but do have an exposure path.
+      },
+    },
+    "fileName": "A String", # The filename used when generating report files for this report.
+    "delivery": { # The report's email delivery settings.
+      "message": "A String", # The message to be sent with each email.
+      "emailOwnerDeliveryType": "A String", # The type of delivery for the owner to receive, if enabled.
+      "recipients": [ # The list of recipients to which to email the report.
+        { # Represents a recipient.
+          "kind": "dfareporting#recipient", # The kind of resource this is, in this case dfareporting#recipient.
+          "deliveryType": "A String", # The delivery type for the recipient.
+          "email": "A String", # The email address of the recipient.
+        },
+      ],
+      "emailOwner": True or False, # Whether the report should be emailed to the report owner.
+    },
+    "etag": "A String", # The eTag of this response for caching purposes.
+    "criteria": { # The report criteria for a report of type "STANDARD".
+      "activities": { # Represents an activity group. # Activity group.
+        "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
+        "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "metricNames": [ # List of names of floodlight activity metrics.
+          "A String",
+        ],
+      },
+      "dimensions": [ # The list of standard dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column.
+        },
+      ],
+      "metricNames": [ # The list of names of metrics the report should include.
+        "A String",
+      ],
+      "dateRange": { # Represents a date range. # The date range for which this report should be run.
+        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+      },
+      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
+        "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
+        "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+      },
+    },
+    "id": "A String", # The unique ID identifying this report resource.
+    "lastModifiedTime": "A String", # The timestamp (in milliseconds since epoch) of when this report was last modified.
+    "type": "A String", # The type of the report.
+    "crossDimensionReachCriteria": { # The report criteria for a report of type "CROSS_DIMENSION_REACH".
+      "breakdown": [ # The list of dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column.
+        },
+      ],
+      "overlapMetricNames": [ # The list of names of overlap metrics the report should include.
+        "A String",
+      ],
+      "metricNames": [ # The list of names of metrics the report should include.
+        "A String",
+      ],
+      "dateRange": { # Represents a date range. # The date range this report should be run for.
+        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+      },
+      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "pivoted": True or False, # Whether the report is pivoted or not. Defaults to true.
+      "dimension": "A String", # The dimension option.
+    },
+    "accountId": "A String", # The account ID to which this report belongs.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Represents a response to the queryCompatibleFields method.
+    "kind": "dfareporting#compatibleFields", # The kind of resource this is, in this case dfareporting#compatibleFields.
+    "reachReportCompatibleFields": { # Represents fields that are compatible to be selected for a report of type "REACH". # Contains items that are compatible to be selected for a report of type "REACH".
+      "kind": "dfareporting#reachReportCompatibleFields", # The kind of resource this is, in this case dfareporting#reachReportCompatibleFields.
+      "dimensions": [ # Dimensions which are compatible to be selected in the "dimensions" section of the report.
+        { # Represents a dimension.
+          "kind": "dfareporting#dimension", # The kind of resource this is, in this case dfareporting#dimension.
+          "name": "A String", # The dimension name, e.g. dfa:advertiser
+        },
+      ],
+      "reachByFrequencyMetrics": [ # Metrics which are compatible to be selected in the "reachByFrequencyMetricNames" section of the report.
+        { # Represents a metric.
+          "kind": "dfareporting#metric", # The kind of resource this is, in this case dfareporting#metric.
+          "name": "A String", # The metric name, e.g. dfa:impressions
+        },
+      ],
+      "pivotedActivityMetrics": [ # Metrics which are compatible to be selected as activity metrics to pivot on in the "activities" section of the report.
+        { # Represents a metric.
+          "kind": "dfareporting#metric", # The kind of resource this is, in this case dfareporting#metric.
+          "name": "A String", # The metric name, e.g. dfa:impressions
+        },
+      ],
+      "dimensionFilters": [ # Dimensions which are compatible to be selected in the "dimensionFilters" section of the report.
+        { # Represents a dimension.
+          "kind": "dfareporting#dimension", # The kind of resource this is, in this case dfareporting#dimension.
+          "name": "A String", # The dimension name, e.g. dfa:advertiser
+        },
+      ],
+      "metrics": [ # Metrics which are compatible to be selected in the "metricNames" section of the report.
+        { # Represents a metric.
+          "kind": "dfareporting#metric", # The kind of resource this is, in this case dfareporting#metric.
+          "name": "A String", # The metric name, e.g. dfa:impressions
+        },
+      ],
+    },
+    "pathToConversionReportCompatibleFields": { # Represents fields that are compatible to be selected for a report of type "PATH_TO_CONVERSION". # Contains items that are compatible to be selected for a report of type "PATH_TO_CONVERSION".
+      "metrics": [ # Metrics which are compatible to be selected in the "metricNames" section of the report.
+        { # Represents a metric.
+          "kind": "dfareporting#metric", # The kind of resource this is, in this case dfareporting#metric.
+          "name": "A String", # The metric name, e.g. dfa:impressions
+        },
+      ],
+      "perInteractionDimensions": [ # Per-interaction dimensions which are compatible to be selected in the "perInteractionDimensions" section of the report.
+        { # Represents a dimension.
+          "kind": "dfareporting#dimension", # The kind of resource this is, in this case dfareporting#dimension.
+          "name": "A String", # The dimension name, e.g. dfa:advertiser
+        },
+      ],
+      "kind": "dfareporting#pathToConversionReportCompatibleFields", # The kind of resource this is, in this case dfareporting#pathToConversionReportCompatibleFields.
+      "conversionDimensions": [ # Conversion dimensions which are compatible to be selected in the "conversionDimensions" section of the report.
+        { # Represents a dimension.
+          "kind": "dfareporting#dimension", # The kind of resource this is, in this case dfareporting#dimension.
+          "name": "A String", # The dimension name, e.g. dfa:advertiser
+        },
+      ],
+      "customFloodlightVariables": [ # Custom floodlight variables which are compatible to be selected in the "customFloodlightVariables" section of the report.
+        { # Represents a dimension.
+          "kind": "dfareporting#dimension", # The kind of resource this is, in this case dfareporting#dimension.
+          "name": "A String", # The dimension name, e.g. dfa:advertiser
+        },
+      ],
+    },
+    "crossDimensionReachReportCompatibleFields": { # Represents fields that are compatible to be selected for a report of type "CROSS_DIMENSION_REACH". # Contains items that are compatible to be selected for a report of type "CROSS_DIMENSION_REACH".
+      "breakdown": [ # Dimensions which are compatible to be selected in the "breakdown" section of the report.
+        { # Represents a dimension.
+          "kind": "dfareporting#dimension", # The kind of resource this is, in this case dfareporting#dimension.
+          "name": "A String", # The dimension name, e.g. dfa:advertiser
+        },
+      ],
+      "metrics": [ # Metrics which are compatible to be selected in the "metricNames" section of the report.
+        { # Represents a metric.
+          "kind": "dfareporting#metric", # The kind of resource this is, in this case dfareporting#metric.
+          "name": "A String", # The metric name, e.g. dfa:impressions
+        },
+      ],
+      "kind": "dfareporting#crossDimensionReachReportCompatibleFields", # The kind of resource this is, in this case dfareporting#crossDimensionReachReportCompatibleFields.
+      "overlapMetrics": [ # Metrics which are compatible to be selected in the "overlapMetricNames" section of the report.
+        { # Represents a metric.
+          "kind": "dfareporting#metric", # The kind of resource this is, in this case dfareporting#metric.
+          "name": "A String", # The metric name, e.g. dfa:impressions
+        },
+      ],
+      "dimensionFilters": [ # Dimensions which are compatible to be selected in the "dimensionFilters" section of the report.
+        { # Represents a dimension.
+          "kind": "dfareporting#dimension", # The kind of resource this is, in this case dfareporting#dimension.
+          "name": "A String", # The dimension name, e.g. dfa:advertiser
+        },
+      ],
+    },
+    "floodlightReportCompatibleFields": { # Represents fields that are compatible to be selected for a report of type "FlOODLIGHT". # Contains items that are compatible to be selected for a report of type "FLOODLIGHT".
+      "metrics": [ # Metrics which are compatible to be selected in the "metricNames" section of the report.
+        { # Represents a metric.
+          "kind": "dfareporting#metric", # The kind of resource this is, in this case dfareporting#metric.
+          "name": "A String", # The metric name, e.g. dfa:impressions
+        },
+      ],
+      "kind": "dfareporting#floodlightReportCompatibleFields", # The kind of resource this is, in this case dfareporting#floodlightReportCompatibleFields.
+      "dimensionFilters": [ # Dimensions which are compatible to be selected in the "dimensionFilters" section of the report.
+        { # Represents a dimension.
+          "kind": "dfareporting#dimension", # The kind of resource this is, in this case dfareporting#dimension.
+          "name": "A String", # The dimension name, e.g. dfa:advertiser
+        },
+      ],
+      "dimensions": [ # Dimensions which are compatible to be selected in the "dimensions" section of the report.
+        { # Represents a dimension.
+          "kind": "dfareporting#dimension", # The kind of resource this is, in this case dfareporting#dimension.
+          "name": "A String", # The dimension name, e.g. dfa:advertiser
+        },
+      ],
+    },
+    "reportCompatibleFields": { # Represents fields that are compatible to be selected for a report of type "STANDARD". # Contains items that are compatible to be selected for a report of type "STANDARD".
+      "metrics": [ # Metrics which are compatible to be selected in the "metricNames" section of the report.
+        { # Represents a metric.
+          "kind": "dfareporting#metric", # The kind of resource this is, in this case dfareporting#metric.
+          "name": "A String", # The metric name, e.g. dfa:impressions
+        },
+      ],
+      "kind": "dfareporting#reportCompatibleFields", # The kind of resource this is, in this case dfareporting#reportCompatibleFields.
+      "pivotedActivityMetrics": [ # Metrics which are compatible to be selected as activity metrics to pivot on in the "activities" section of the report.
+        { # Represents a metric.
+          "kind": "dfareporting#metric", # The kind of resource this is, in this case dfareporting#metric.
+          "name": "A String", # The metric name, e.g. dfa:impressions
+        },
+      ],
+      "dimensionFilters": [ # Dimensions which are compatible to be selected in the "dimensionFilters" section of the report.
+        { # Represents a dimension.
+          "kind": "dfareporting#dimension", # The kind of resource this is, in this case dfareporting#dimension.
+          "name": "A String", # The dimension name, e.g. dfa:advertiser
+        },
+      ],
+      "dimensions": [ # Dimensions which are compatible to be selected in the "dimensions" section of the report.
+        { # Represents a dimension.
+          "kind": "dfareporting#dimension", # The kind of resource this is, in this case dfareporting#dimension.
+          "name": "A String", # The dimension name, e.g. dfa:advertiser
+        },
+      ],
+    },
+  }
+
+ + \ No newline at end of file diff --git a/docs/dyn/dfareporting_v2_5.reports.files.html b/docs/dyn/dfareporting_v2_5.reports.files.html new file mode 100644 index 00000000000..b8b2ffd6504 --- /dev/null +++ b/docs/dyn/dfareporting_v2_5.reports.files.html @@ -0,0 +1,203 @@ + + + +

DCM/DFA Reporting And Trafficking API . reports . files

+

Instance Methods

+

+ get(profileId, reportId, fileId)

+

Retrieves a report file.

+

+ get_media(profileId, reportId, fileId)

+

Retrieves a report file.

+

+ list(profileId, reportId, pageToken=None, sortField=None, maxResults=None, sortOrder=None)

+

Lists files for a report.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

Method Details

+
+ get(profileId, reportId, fileId) +
Retrieves a report file.
+
+Args:
+  profileId: string, The DFA profile ID. (required)
+  reportId: string, The ID of the report. (required)
+  fileId: string, The ID of the report file. (required)
+
+Returns:
+  An object of the form:
+
+    { # Represents a File resource. A file contains the metadata for a report run. It shows the status of the run and holds the URLs to the generated report data if the run is finished and the status is "REPORT_AVAILABLE".
+    "status": "A String", # The status of the report file.
+    "kind": "dfareporting#file", # The kind of resource this is, in this case dfareporting#file.
+    "format": "A String", # The output format of the report. Only available once the file is available.
+    "dateRange": { # Represents a date range. # The date range for which the file has report data. The date range will always be the absolute date range for which the report is run.
+      "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+      "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+      "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+      "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+    },
+    "fileName": "A String", # The filename of the file.
+    "etag": "A String", # The eTag of this response for caching purposes.
+    "reportId": "A String", # The ID of the report this file was generated from.
+    "urls": { # The URLs where the completed report file can be downloaded.
+      "browserUrl": "A String", # The URL for downloading the report data through a browser.
+      "apiUrl": "A String", # The URL for downloading the report data through the API.
+    },
+    "lastModifiedTime": "A String", # The timestamp in milliseconds since epoch when this file was last modified.
+    "id": "A String", # The unique ID of this report file.
+  }
+
+ +
+ get_media(profileId, reportId, fileId) +
Retrieves a report file.
+
+Args:
+  profileId: string, The DFA profile ID. (required)
+  reportId: string, The ID of the report. (required)
+  fileId: string, The ID of the report file. (required)
+
+Returns:
+  The media object as a string.
+
+    
+
+ +
+ list(profileId, reportId, pageToken=None, sortField=None, maxResults=None, sortOrder=None) +
Lists files for a report.
+
+Args:
+  profileId: string, The DFA profile ID. (required)
+  reportId: string, The ID of the parent report. (required)
+  pageToken: string, The value of the nextToken from the previous result page.
+  sortField: string, The field by which to sort the list.
+    Allowed values
+      ID - Sort by file ID.
+      LAST_MODIFIED_TIME - Sort by 'lastmodifiedAt' field.
+  maxResults: integer, Maximum number of results to return.
+  sortOrder: string, Order of sorted results, default is 'DESCENDING'.
+    Allowed values
+      ASCENDING - Ascending order.
+      DESCENDING - Descending order.
+
+Returns:
+  An object of the form:
+
+    { # Represents the list of File resources.
+    "nextPageToken": "A String", # Continuation token used to page through files. To retrieve the next page of results, set the next request's "pageToken" to the value of this field. The page token is only valid for a limited amount of time and should not be persisted.
+    "items": [ # The files returned in this response.
+      { # Represents a File resource. A file contains the metadata for a report run. It shows the status of the run and holds the URLs to the generated report data if the run is finished and the status is "REPORT_AVAILABLE".
+        "status": "A String", # The status of the report file.
+        "kind": "dfareporting#file", # The kind of resource this is, in this case dfareporting#file.
+        "format": "A String", # The output format of the report. Only available once the file is available.
+        "dateRange": { # Represents a date range. # The date range for which the file has report data. The date range will always be the absolute date range for which the report is run.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+        },
+        "fileName": "A String", # The filename of the file.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "reportId": "A String", # The ID of the report this file was generated from.
+        "urls": { # The URLs where the completed report file can be downloaded.
+          "browserUrl": "A String", # The URL for downloading the report data through a browser.
+          "apiUrl": "A String", # The URL for downloading the report data through the API.
+        },
+        "lastModifiedTime": "A String", # The timestamp in milliseconds since epoch when this file was last modified.
+        "id": "A String", # The unique ID of this report file.
+      },
+    ],
+    "kind": "dfareporting#fileList", # The kind of list this is, in this case dfareporting#fileList.
+    "etag": "A String", # The eTag of this response for caching purposes.
+  }
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    
+
+ + \ No newline at end of file diff --git a/docs/dyn/dfareporting_v2_5.reports.html b/docs/dyn/dfareporting_v2_5.reports.html new file mode 100644 index 00000000000..9958ce4fda8 --- /dev/null +++ b/docs/dyn/dfareporting_v2_5.reports.html @@ -0,0 +1,2795 @@ + + + +

DCM/DFA Reporting And Trafficking API . reports

+

Instance Methods

+

+ compatibleFields() +

+

Returns the compatibleFields Resource.

+ +

+ files() +

+

Returns the files Resource.

+ +

+ delete(profileId, reportId)

+

Deletes a report by its ID.

+

+ get(profileId, reportId)

+

Retrieves a report by its ID.

+

+ insert(profileId, body)

+

Creates a report.

+

+ list(profileId, pageToken=None, maxResults=None, sortOrder=None, sortField=None, scope=None)

+

Retrieves list of reports.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

+ patch(profileId, reportId, body)

+

Updates a report. This method supports patch semantics.

+

+ run(profileId, reportId, synchronous=None)

+

Runs a report.

+

+ update(profileId, reportId, body)

+

Updates a report.

+

Method Details

+
+ delete(profileId, reportId) +
Deletes a report by its ID.
+
+Args:
+  profileId: string, The DFA user profile ID. (required)
+  reportId: string, The ID of the report. (required)
+
+
+ +
+ get(profileId, reportId) +
Retrieves a report by its ID.
+
+Args:
+  profileId: string, The DFA user profile ID. (required)
+  reportId: string, The ID of the report. (required)
+
+Returns:
+  An object of the form:
+
+    { # Represents a Report resource.
+      "pathToConversionCriteria": { # The report criteria for a report of type "PATH_TO_CONVERSION".
+        "conversionDimensions": [ # The list of conversion dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column.
+          },
+        ],
+        "metricNames": [ # The list of names of metrics the report should include.
+          "A String",
+        ],
+        "dateRange": { # Represents a date range. # The date range this report should be run for.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+        },
+        "reportProperties": { # The properties of the report.
+          "clicksLookbackWindow": 42, # DFA checks to see if a click interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
+          "pivotOnInteractionPath": True or False, # Enable pivoting on interaction path.
+          "impressionsLookbackWindow": 42, # DFA checks to see if an impression interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
+          "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
+          "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
+          "maximumInteractionGap": 42, # The maximum amount of time that can take place between interactions (clicks or impressions) by the same user. Valid values: 1-90.
+          "includeAttributedIPConversions": True or False, # Deprecated: has no effect.
+          "maximumClickInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
+          "maximumImpressionInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
+        },
+        "perInteractionDimensions": [ # The list of per interaction dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column.
+          },
+        ],
+        "activityFilters": [ # The list of 'dfa:activity' values to filter on.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "customRichMediaEvents": [ # The list of custom rich media events to include.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+        "customFloodlightVariables": [ # The list of custom floodlight variables the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column.
+          },
+        ],
+      },
+      "kind": "dfareporting#report", # The kind of resource this is, in this case dfareporting#report.
+      "subAccountId": "A String", # The subaccount ID to which this report belongs if applicable.
+      "name": "A String", # The name of the report.
+      "schedule": { # The report's schedule. Can only be set if the report's 'dateRange' is a relative date range and the relative date range is not "TODAY".
+        "startDate": "A String", # Start date of date range for which scheduled reports should be run.
+        "runsOnDayOfMonth": "A String", # Enum to define for "MONTHLY" scheduled reports whether reports should be repeated on the same day of the month as "startDate" or the same day of the week of the month.
+            # Example: If 'startDate' is Monday, April 2nd 2012 (2012-04-02), "DAY_OF_MONTH" would run subsequent reports on the 2nd of every Month, and "WEEK_OF_MONTH" would run subsequent reports on the first Monday of the month.
+        "every": 42, # Defines every how many days, weeks or months the report should be run. Needs to be set when "repeats" is either "DAILY", "WEEKLY" or "MONTHLY".
+        "expirationDate": "A String", # The expiration date when the scheduled report stops running.
+        "active": True or False, # Whether the schedule is active or not. Must be set to either true or false.
+        "repeats": "A String", # The interval for which the report is repeated. Note:
+            # - "DAILY" also requires field "every" to be set.
+            # - "WEEKLY" also requires fields "every" and "repeatsOnWeekDays" to be set.
+            # - "MONTHLY" also requires fields "every" and "runsOnDayOfMonth" to be set.
+        "repeatsOnWeekDays": [ # List of week days "WEEKLY" on which scheduled reports should run.
+          "A String",
+        ],
+      },
+      "format": "A String", # The output format of the report. If not specified, default format is "CSV". Note that the actual format in the completed report file might differ if for instance the report's size exceeds the format's capabilities. "CSV" will then be the fallback format.
+      "ownerProfileId": "A String", # The user profile id of the owner of this report.
+      "reachCriteria": { # The report criteria for a report of type "REACH".
+        "activities": { # Represents an activity group. # Activity group.
+          "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
+          "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
+            { # Represents a DimensionValue resource.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+          ],
+          "metricNames": [ # List of names of floodlight activity metrics.
+            "A String",
+          ],
+        },
+        "dimensions": [ # The list of dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column.
+          },
+        ],
+        "metricNames": [ # The list of names of metrics the report should include.
+          "A String",
+        ],
+        "dateRange": { # Represents a date range. # The date range this report should be run for.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+        },
+        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "reachByFrequencyMetricNames": [ # The list of names of  Reach By Frequency metrics the report should include.
+          "A String",
+        ],
+        "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
+          "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
+          "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
+            { # Represents a DimensionValue resource.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+          ],
+        },
+        "enableAllDimensionCombinations": True or False, # Whether to enable all reach dimension combinations in the report. Defaults to false. If enabled, the date range of the report should be within the last three months.
+      },
+      "floodlightCriteria": { # The report criteria for a report of type "FLOODLIGHT".
+        "dimensions": [ # The list of dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column.
+          },
+        ],
+        "metricNames": [ # The list of names of metrics the report should include.
+          "A String",
+        ],
+        "dateRange": { # Represents a date range. # The date range this report should be run for.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+        },
+        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+        "customRichMediaEvents": [ # The list of custom rich media events to include.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "reportProperties": { # The properties of the report.
+          "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
+          "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
+          "includeAttributedIPConversions": True or False, # Include conversions that have no cookie, but do have an exposure path.
+        },
+      },
+      "fileName": "A String", # The filename used when generating report files for this report.
+      "delivery": { # The report's email delivery settings.
+        "message": "A String", # The message to be sent with each email.
+        "emailOwnerDeliveryType": "A String", # The type of delivery for the owner to receive, if enabled.
+        "recipients": [ # The list of recipients to which to email the report.
+          { # Represents a recipient.
+            "kind": "dfareporting#recipient", # The kind of resource this is, in this case dfareporting#recipient.
+            "deliveryType": "A String", # The delivery type for the recipient.
+            "email": "A String", # The email address of the recipient.
+          },
+        ],
+        "emailOwner": True or False, # Whether the report should be emailed to the report owner.
+      },
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "criteria": { # The report criteria for a report of type "STANDARD".
+        "activities": { # Represents an activity group. # Activity group.
+          "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
+          "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
+            { # Represents a DimensionValue resource.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+          ],
+          "metricNames": [ # List of names of floodlight activity metrics.
+            "A String",
+          ],
+        },
+        "dimensions": [ # The list of standard dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column.
+          },
+        ],
+        "metricNames": [ # The list of names of metrics the report should include.
+          "A String",
+        ],
+        "dateRange": { # Represents a date range. # The date range for which this report should be run.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+        },
+        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
+          "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
+          "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
+            { # Represents a DimensionValue resource.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+          ],
+        },
+      },
+      "id": "A String", # The unique ID identifying this report resource.
+      "lastModifiedTime": "A String", # The timestamp (in milliseconds since epoch) of when this report was last modified.
+      "type": "A String", # The type of the report.
+      "crossDimensionReachCriteria": { # The report criteria for a report of type "CROSS_DIMENSION_REACH".
+        "breakdown": [ # The list of dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column.
+          },
+        ],
+        "overlapMetricNames": [ # The list of names of overlap metrics the report should include.
+          "A String",
+        ],
+        "metricNames": [ # The list of names of metrics the report should include.
+          "A String",
+        ],
+        "dateRange": { # Represents a date range. # The date range this report should be run for.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+        },
+        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "pivoted": True or False, # Whether the report is pivoted or not. Defaults to true.
+        "dimension": "A String", # The dimension option.
+      },
+      "accountId": "A String", # The account ID to which this report belongs.
+    }
+
+ +
+ insert(profileId, body) +
Creates a report.
+
+Args:
+  profileId: string, The DFA user profile ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Represents a Report resource.
+    "pathToConversionCriteria": { # The report criteria for a report of type "PATH_TO_CONVERSION".
+      "conversionDimensions": [ # The list of conversion dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column.
+        },
+      ],
+      "metricNames": [ # The list of names of metrics the report should include.
+        "A String",
+      ],
+      "dateRange": { # Represents a date range. # The date range this report should be run for.
+        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+      },
+      "reportProperties": { # The properties of the report.
+        "clicksLookbackWindow": 42, # DFA checks to see if a click interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
+        "pivotOnInteractionPath": True or False, # Enable pivoting on interaction path.
+        "impressionsLookbackWindow": 42, # DFA checks to see if an impression interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
+        "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
+        "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
+        "maximumInteractionGap": 42, # The maximum amount of time that can take place between interactions (clicks or impressions) by the same user. Valid values: 1-90.
+        "includeAttributedIPConversions": True or False, # Deprecated: has no effect.
+        "maximumClickInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
+        "maximumImpressionInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
+      },
+      "perInteractionDimensions": [ # The list of per interaction dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column.
+        },
+      ],
+      "activityFilters": [ # The list of 'dfa:activity' values to filter on.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "customRichMediaEvents": [ # The list of custom rich media events to include.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "customFloodlightVariables": [ # The list of custom floodlight variables the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column.
+        },
+      ],
+    },
+    "kind": "dfareporting#report", # The kind of resource this is, in this case dfareporting#report.
+    "subAccountId": "A String", # The subaccount ID to which this report belongs if applicable.
+    "name": "A String", # The name of the report.
+    "schedule": { # The report's schedule. Can only be set if the report's 'dateRange' is a relative date range and the relative date range is not "TODAY".
+      "startDate": "A String", # Start date of date range for which scheduled reports should be run.
+      "runsOnDayOfMonth": "A String", # Enum to define for "MONTHLY" scheduled reports whether reports should be repeated on the same day of the month as "startDate" or the same day of the week of the month.
+          # Example: If 'startDate' is Monday, April 2nd 2012 (2012-04-02), "DAY_OF_MONTH" would run subsequent reports on the 2nd of every Month, and "WEEK_OF_MONTH" would run subsequent reports on the first Monday of the month.
+      "every": 42, # Defines every how many days, weeks or months the report should be run. Needs to be set when "repeats" is either "DAILY", "WEEKLY" or "MONTHLY".
+      "expirationDate": "A String", # The expiration date when the scheduled report stops running.
+      "active": True or False, # Whether the schedule is active or not. Must be set to either true or false.
+      "repeats": "A String", # The interval for which the report is repeated. Note:
+          # - "DAILY" also requires field "every" to be set.
+          # - "WEEKLY" also requires fields "every" and "repeatsOnWeekDays" to be set.
+          # - "MONTHLY" also requires fields "every" and "runsOnDayOfMonth" to be set.
+      "repeatsOnWeekDays": [ # List of week days "WEEKLY" on which scheduled reports should run.
+        "A String",
+      ],
+    },
+    "format": "A String", # The output format of the report. If not specified, default format is "CSV". Note that the actual format in the completed report file might differ if for instance the report's size exceeds the format's capabilities. "CSV" will then be the fallback format.
+    "ownerProfileId": "A String", # The user profile id of the owner of this report.
+    "reachCriteria": { # The report criteria for a report of type "REACH".
+      "activities": { # Represents an activity group. # Activity group.
+        "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
+        "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "metricNames": [ # List of names of floodlight activity metrics.
+          "A String",
+        ],
+      },
+      "dimensions": [ # The list of dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column.
+        },
+      ],
+      "metricNames": [ # The list of names of metrics the report should include.
+        "A String",
+      ],
+      "dateRange": { # Represents a date range. # The date range this report should be run for.
+        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+      },
+      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "reachByFrequencyMetricNames": [ # The list of names of  Reach By Frequency metrics the report should include.
+        "A String",
+      ],
+      "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
+        "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
+        "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+      },
+      "enableAllDimensionCombinations": True or False, # Whether to enable all reach dimension combinations in the report. Defaults to false. If enabled, the date range of the report should be within the last three months.
+    },
+    "floodlightCriteria": { # The report criteria for a report of type "FLOODLIGHT".
+      "dimensions": [ # The list of dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column.
+        },
+      ],
+      "metricNames": [ # The list of names of metrics the report should include.
+        "A String",
+      ],
+      "dateRange": { # Represents a date range. # The date range this report should be run for.
+        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+      },
+      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "customRichMediaEvents": [ # The list of custom rich media events to include.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "reportProperties": { # The properties of the report.
+        "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
+        "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
+        "includeAttributedIPConversions": True or False, # Include conversions that have no cookie, but do have an exposure path.
+      },
+    },
+    "fileName": "A String", # The filename used when generating report files for this report.
+    "delivery": { # The report's email delivery settings.
+      "message": "A String", # The message to be sent with each email.
+      "emailOwnerDeliveryType": "A String", # The type of delivery for the owner to receive, if enabled.
+      "recipients": [ # The list of recipients to which to email the report.
+        { # Represents a recipient.
+          "kind": "dfareporting#recipient", # The kind of resource this is, in this case dfareporting#recipient.
+          "deliveryType": "A String", # The delivery type for the recipient.
+          "email": "A String", # The email address of the recipient.
+        },
+      ],
+      "emailOwner": True or False, # Whether the report should be emailed to the report owner.
+    },
+    "etag": "A String", # The eTag of this response for caching purposes.
+    "criteria": { # The report criteria for a report of type "STANDARD".
+      "activities": { # Represents an activity group. # Activity group.
+        "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
+        "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "metricNames": [ # List of names of floodlight activity metrics.
+          "A String",
+        ],
+      },
+      "dimensions": [ # The list of standard dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column.
+        },
+      ],
+      "metricNames": [ # The list of names of metrics the report should include.
+        "A String",
+      ],
+      "dateRange": { # Represents a date range. # The date range for which this report should be run.
+        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+      },
+      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
+        "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
+        "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+      },
+    },
+    "id": "A String", # The unique ID identifying this report resource.
+    "lastModifiedTime": "A String", # The timestamp (in milliseconds since epoch) of when this report was last modified.
+    "type": "A String", # The type of the report.
+    "crossDimensionReachCriteria": { # The report criteria for a report of type "CROSS_DIMENSION_REACH".
+      "breakdown": [ # The list of dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column.
+        },
+      ],
+      "overlapMetricNames": [ # The list of names of overlap metrics the report should include.
+        "A String",
+      ],
+      "metricNames": [ # The list of names of metrics the report should include.
+        "A String",
+      ],
+      "dateRange": { # Represents a date range. # The date range this report should be run for.
+        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+      },
+      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "pivoted": True or False, # Whether the report is pivoted or not. Defaults to true.
+      "dimension": "A String", # The dimension option.
+    },
+    "accountId": "A String", # The account ID to which this report belongs.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Represents a Report resource.
+      "pathToConversionCriteria": { # The report criteria for a report of type "PATH_TO_CONVERSION".
+        "conversionDimensions": [ # The list of conversion dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column.
+          },
+        ],
+        "metricNames": [ # The list of names of metrics the report should include.
+          "A String",
+        ],
+        "dateRange": { # Represents a date range. # The date range this report should be run for.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+        },
+        "reportProperties": { # The properties of the report.
+          "clicksLookbackWindow": 42, # DFA checks to see if a click interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
+          "pivotOnInteractionPath": True or False, # Enable pivoting on interaction path.
+          "impressionsLookbackWindow": 42, # DFA checks to see if an impression interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
+          "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
+          "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
+          "maximumInteractionGap": 42, # The maximum amount of time that can take place between interactions (clicks or impressions) by the same user. Valid values: 1-90.
+          "includeAttributedIPConversions": True or False, # Deprecated: has no effect.
+          "maximumClickInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
+          "maximumImpressionInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
+        },
+        "perInteractionDimensions": [ # The list of per interaction dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column.
+          },
+        ],
+        "activityFilters": [ # The list of 'dfa:activity' values to filter on.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "customRichMediaEvents": [ # The list of custom rich media events to include.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+        "customFloodlightVariables": [ # The list of custom floodlight variables the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column.
+          },
+        ],
+      },
+      "kind": "dfareporting#report", # The kind of resource this is, in this case dfareporting#report.
+      "subAccountId": "A String", # The subaccount ID to which this report belongs if applicable.
+      "name": "A String", # The name of the report.
+      "schedule": { # The report's schedule. Can only be set if the report's 'dateRange' is a relative date range and the relative date range is not "TODAY".
+        "startDate": "A String", # Start date of date range for which scheduled reports should be run.
+        "runsOnDayOfMonth": "A String", # Enum to define for "MONTHLY" scheduled reports whether reports should be repeated on the same day of the month as "startDate" or the same day of the week of the month.
+            # Example: If 'startDate' is Monday, April 2nd 2012 (2012-04-02), "DAY_OF_MONTH" would run subsequent reports on the 2nd of every Month, and "WEEK_OF_MONTH" would run subsequent reports on the first Monday of the month.
+        "every": 42, # Defines every how many days, weeks or months the report should be run. Needs to be set when "repeats" is either "DAILY", "WEEKLY" or "MONTHLY".
+        "expirationDate": "A String", # The expiration date when the scheduled report stops running.
+        "active": True or False, # Whether the schedule is active or not. Must be set to either true or false.
+        "repeats": "A String", # The interval for which the report is repeated. Note:
+            # - "DAILY" also requires field "every" to be set.
+            # - "WEEKLY" also requires fields "every" and "repeatsOnWeekDays" to be set.
+            # - "MONTHLY" also requires fields "every" and "runsOnDayOfMonth" to be set.
+        "repeatsOnWeekDays": [ # List of week days "WEEKLY" on which scheduled reports should run.
+          "A String",
+        ],
+      },
+      "format": "A String", # The output format of the report. If not specified, default format is "CSV". Note that the actual format in the completed report file might differ if for instance the report's size exceeds the format's capabilities. "CSV" will then be the fallback format.
+      "ownerProfileId": "A String", # The user profile id of the owner of this report.
+      "reachCriteria": { # The report criteria for a report of type "REACH".
+        "activities": { # Represents an activity group. # Activity group.
+          "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
+          "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
+            { # Represents a DimensionValue resource.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+          ],
+          "metricNames": [ # List of names of floodlight activity metrics.
+            "A String",
+          ],
+        },
+        "dimensions": [ # The list of dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column.
+          },
+        ],
+        "metricNames": [ # The list of names of metrics the report should include.
+          "A String",
+        ],
+        "dateRange": { # Represents a date range. # The date range this report should be run for.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+        },
+        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "reachByFrequencyMetricNames": [ # The list of names of  Reach By Frequency metrics the report should include.
+          "A String",
+        ],
+        "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
+          "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
+          "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
+            { # Represents a DimensionValue resource.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+          ],
+        },
+        "enableAllDimensionCombinations": True or False, # Whether to enable all reach dimension combinations in the report. Defaults to false. If enabled, the date range of the report should be within the last three months.
+      },
+      "floodlightCriteria": { # The report criteria for a report of type "FLOODLIGHT".
+        "dimensions": [ # The list of dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column.
+          },
+        ],
+        "metricNames": [ # The list of names of metrics the report should include.
+          "A String",
+        ],
+        "dateRange": { # Represents a date range. # The date range this report should be run for.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+        },
+        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+        "customRichMediaEvents": [ # The list of custom rich media events to include.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "reportProperties": { # The properties of the report.
+          "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
+          "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
+          "includeAttributedIPConversions": True or False, # Include conversions that have no cookie, but do have an exposure path.
+        },
+      },
+      "fileName": "A String", # The filename used when generating report files for this report.
+      "delivery": { # The report's email delivery settings.
+        "message": "A String", # The message to be sent with each email.
+        "emailOwnerDeliveryType": "A String", # The type of delivery for the owner to receive, if enabled.
+        "recipients": [ # The list of recipients to which to email the report.
+          { # Represents a recipient.
+            "kind": "dfareporting#recipient", # The kind of resource this is, in this case dfareporting#recipient.
+            "deliveryType": "A String", # The delivery type for the recipient.
+            "email": "A String", # The email address of the recipient.
+          },
+        ],
+        "emailOwner": True or False, # Whether the report should be emailed to the report owner.
+      },
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "criteria": { # The report criteria for a report of type "STANDARD".
+        "activities": { # Represents an activity group. # Activity group.
+          "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
+          "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
+            { # Represents a DimensionValue resource.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+          ],
+          "metricNames": [ # List of names of floodlight activity metrics.
+            "A String",
+          ],
+        },
+        "dimensions": [ # The list of standard dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column.
+          },
+        ],
+        "metricNames": [ # The list of names of metrics the report should include.
+          "A String",
+        ],
+        "dateRange": { # Represents a date range. # The date range for which this report should be run.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+        },
+        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
+          "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
+          "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
+            { # Represents a DimensionValue resource.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+          ],
+        },
+      },
+      "id": "A String", # The unique ID identifying this report resource.
+      "lastModifiedTime": "A String", # The timestamp (in milliseconds since epoch) of when this report was last modified.
+      "type": "A String", # The type of the report.
+      "crossDimensionReachCriteria": { # The report criteria for a report of type "CROSS_DIMENSION_REACH".
+        "breakdown": [ # The list of dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column.
+          },
+        ],
+        "overlapMetricNames": [ # The list of names of overlap metrics the report should include.
+          "A String",
+        ],
+        "metricNames": [ # The list of names of metrics the report should include.
+          "A String",
+        ],
+        "dateRange": { # Represents a date range. # The date range this report should be run for.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+        },
+        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "pivoted": True or False, # Whether the report is pivoted or not. Defaults to true.
+        "dimension": "A String", # The dimension option.
+      },
+      "accountId": "A String", # The account ID to which this report belongs.
+    }
+
+ +
+ list(profileId, pageToken=None, maxResults=None, sortOrder=None, sortField=None, scope=None) +
Retrieves list of reports.
+
+Args:
+  profileId: string, The DFA user profile ID. (required)
+  pageToken: string, The value of the nextToken from the previous result page.
+  maxResults: integer, Maximum number of results to return.
+  sortOrder: string, Order of sorted results, default is 'DESCENDING'.
+    Allowed values
+      ASCENDING - Ascending order.
+      DESCENDING - Descending order.
+  sortField: string, The field by which to sort the list.
+    Allowed values
+      ID - Sort by report ID.
+      LAST_MODIFIED_TIME - Sort by 'lastModifiedTime' field.
+      NAME - Sort by name of reports.
+  scope: string, The scope that defines which results are returned, default is 'MINE'.
+    Allowed values
+      ALL - All reports in account.
+      MINE - My reports.
+
+Returns:
+  An object of the form:
+
+    { # Represents the list of reports.
+    "nextPageToken": "A String", # Continuation token used to page through reports. To retrieve the next page of results, set the next request's "pageToken" to the value of this field. The page token is only valid for a limited amount of time and should not be persisted.
+    "items": [ # The reports returned in this response.
+      { # Represents a Report resource.
+          "pathToConversionCriteria": { # The report criteria for a report of type "PATH_TO_CONVERSION".
+            "conversionDimensions": [ # The list of conversion dimensions the report should include.
+              { # Represents a sorted dimension.
+                "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+                "name": "A String", # The name of the dimension.
+                "sortOrder": "A String", # An optional sort order for the dimension column.
+              },
+            ],
+            "metricNames": [ # The list of names of metrics the report should include.
+              "A String",
+            ],
+            "dateRange": { # Represents a date range. # The date range this report should be run for.
+              "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+              "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+              "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+              "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+            },
+            "reportProperties": { # The properties of the report.
+              "clicksLookbackWindow": 42, # DFA checks to see if a click interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
+              "pivotOnInteractionPath": True or False, # Enable pivoting on interaction path.
+              "impressionsLookbackWindow": 42, # DFA checks to see if an impression interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
+              "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
+              "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
+              "maximumInteractionGap": 42, # The maximum amount of time that can take place between interactions (clicks or impressions) by the same user. Valid values: 1-90.
+              "includeAttributedIPConversions": True or False, # Deprecated: has no effect.
+              "maximumClickInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
+              "maximumImpressionInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
+            },
+            "perInteractionDimensions": [ # The list of per interaction dimensions the report should include.
+              { # Represents a sorted dimension.
+                "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+                "name": "A String", # The name of the dimension.
+                "sortOrder": "A String", # An optional sort order for the dimension column.
+              },
+            ],
+            "activityFilters": [ # The list of 'dfa:activity' values to filter on.
+              { # Represents a DimensionValue resource.
+                "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+                "value": "A String", # The value of the dimension.
+                "dimensionName": "A String", # The name of the dimension.
+                "etag": "A String", # The eTag of this response for caching purposes.
+                "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+                "id": "A String", # The ID associated with the value if available.
+              },
+            ],
+            "customRichMediaEvents": [ # The list of custom rich media events to include.
+              { # Represents a DimensionValue resource.
+                "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+                "value": "A String", # The value of the dimension.
+                "dimensionName": "A String", # The name of the dimension.
+                "etag": "A String", # The eTag of this response for caching purposes.
+                "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+                "id": "A String", # The ID associated with the value if available.
+              },
+            ],
+            "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+            "customFloodlightVariables": [ # The list of custom floodlight variables the report should include.
+              { # Represents a sorted dimension.
+                "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+                "name": "A String", # The name of the dimension.
+                "sortOrder": "A String", # An optional sort order for the dimension column.
+              },
+            ],
+          },
+          "kind": "dfareporting#report", # The kind of resource this is, in this case dfareporting#report.
+          "subAccountId": "A String", # The subaccount ID to which this report belongs if applicable.
+          "name": "A String", # The name of the report.
+          "schedule": { # The report's schedule. Can only be set if the report's 'dateRange' is a relative date range and the relative date range is not "TODAY".
+            "startDate": "A String", # Start date of date range for which scheduled reports should be run.
+            "runsOnDayOfMonth": "A String", # Enum to define for "MONTHLY" scheduled reports whether reports should be repeated on the same day of the month as "startDate" or the same day of the week of the month.
+                # Example: If 'startDate' is Monday, April 2nd 2012 (2012-04-02), "DAY_OF_MONTH" would run subsequent reports on the 2nd of every Month, and "WEEK_OF_MONTH" would run subsequent reports on the first Monday of the month.
+            "every": 42, # Defines every how many days, weeks or months the report should be run. Needs to be set when "repeats" is either "DAILY", "WEEKLY" or "MONTHLY".
+            "expirationDate": "A String", # The expiration date when the scheduled report stops running.
+            "active": True or False, # Whether the schedule is active or not. Must be set to either true or false.
+            "repeats": "A String", # The interval for which the report is repeated. Note:
+                # - "DAILY" also requires field "every" to be set.
+                # - "WEEKLY" also requires fields "every" and "repeatsOnWeekDays" to be set.
+                # - "MONTHLY" also requires fields "every" and "runsOnDayOfMonth" to be set.
+            "repeatsOnWeekDays": [ # List of week days "WEEKLY" on which scheduled reports should run.
+              "A String",
+            ],
+          },
+          "format": "A String", # The output format of the report. If not specified, default format is "CSV". Note that the actual format in the completed report file might differ if for instance the report's size exceeds the format's capabilities. "CSV" will then be the fallback format.
+          "ownerProfileId": "A String", # The user profile id of the owner of this report.
+          "reachCriteria": { # The report criteria for a report of type "REACH".
+            "activities": { # Represents an activity group. # Activity group.
+              "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
+              "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
+                { # Represents a DimensionValue resource.
+                  "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+                  "value": "A String", # The value of the dimension.
+                  "dimensionName": "A String", # The name of the dimension.
+                  "etag": "A String", # The eTag of this response for caching purposes.
+                  "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+                  "id": "A String", # The ID associated with the value if available.
+                },
+              ],
+              "metricNames": [ # List of names of floodlight activity metrics.
+                "A String",
+              ],
+            },
+            "dimensions": [ # The list of dimensions the report should include.
+              { # Represents a sorted dimension.
+                "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+                "name": "A String", # The name of the dimension.
+                "sortOrder": "A String", # An optional sort order for the dimension column.
+              },
+            ],
+            "metricNames": [ # The list of names of metrics the report should include.
+              "A String",
+            ],
+            "dateRange": { # Represents a date range. # The date range this report should be run for.
+              "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+              "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+              "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+              "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+            },
+            "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+                # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+              { # Represents a DimensionValue resource.
+                "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+                "value": "A String", # The value of the dimension.
+                "dimensionName": "A String", # The name of the dimension.
+                "etag": "A String", # The eTag of this response for caching purposes.
+                "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+                "id": "A String", # The ID associated with the value if available.
+              },
+            ],
+            "reachByFrequencyMetricNames": [ # The list of names of  Reach By Frequency metrics the report should include.
+              "A String",
+            ],
+            "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
+              "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
+              "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
+                { # Represents a DimensionValue resource.
+                  "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+                  "value": "A String", # The value of the dimension.
+                  "dimensionName": "A String", # The name of the dimension.
+                  "etag": "A String", # The eTag of this response for caching purposes.
+                  "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+                  "id": "A String", # The ID associated with the value if available.
+                },
+              ],
+            },
+            "enableAllDimensionCombinations": True or False, # Whether to enable all reach dimension combinations in the report. Defaults to false. If enabled, the date range of the report should be within the last three months.
+          },
+          "floodlightCriteria": { # The report criteria for a report of type "FLOODLIGHT".
+            "dimensions": [ # The list of dimensions the report should include.
+              { # Represents a sorted dimension.
+                "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+                "name": "A String", # The name of the dimension.
+                "sortOrder": "A String", # An optional sort order for the dimension column.
+              },
+            ],
+            "metricNames": [ # The list of names of metrics the report should include.
+              "A String",
+            ],
+            "dateRange": { # Represents a date range. # The date range this report should be run for.
+              "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+              "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+              "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+              "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+            },
+            "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+                # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+              { # Represents a DimensionValue resource.
+                "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+                "value": "A String", # The value of the dimension.
+                "dimensionName": "A String", # The name of the dimension.
+                "etag": "A String", # The eTag of this response for caching purposes.
+                "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+                "id": "A String", # The ID associated with the value if available.
+              },
+            ],
+            "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+            "customRichMediaEvents": [ # The list of custom rich media events to include.
+              { # Represents a DimensionValue resource.
+                "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+                "value": "A String", # The value of the dimension.
+                "dimensionName": "A String", # The name of the dimension.
+                "etag": "A String", # The eTag of this response for caching purposes.
+                "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+                "id": "A String", # The ID associated with the value if available.
+              },
+            ],
+            "reportProperties": { # The properties of the report.
+              "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
+              "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
+              "includeAttributedIPConversions": True or False, # Include conversions that have no cookie, but do have an exposure path.
+            },
+          },
+          "fileName": "A String", # The filename used when generating report files for this report.
+          "delivery": { # The report's email delivery settings.
+            "message": "A String", # The message to be sent with each email.
+            "emailOwnerDeliveryType": "A String", # The type of delivery for the owner to receive, if enabled.
+            "recipients": [ # The list of recipients to which to email the report.
+              { # Represents a recipient.
+                "kind": "dfareporting#recipient", # The kind of resource this is, in this case dfareporting#recipient.
+                "deliveryType": "A String", # The delivery type for the recipient.
+                "email": "A String", # The email address of the recipient.
+              },
+            ],
+            "emailOwner": True or False, # Whether the report should be emailed to the report owner.
+          },
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "criteria": { # The report criteria for a report of type "STANDARD".
+            "activities": { # Represents an activity group. # Activity group.
+              "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
+              "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
+                { # Represents a DimensionValue resource.
+                  "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+                  "value": "A String", # The value of the dimension.
+                  "dimensionName": "A String", # The name of the dimension.
+                  "etag": "A String", # The eTag of this response for caching purposes.
+                  "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+                  "id": "A String", # The ID associated with the value if available.
+                },
+              ],
+              "metricNames": [ # List of names of floodlight activity metrics.
+                "A String",
+              ],
+            },
+            "dimensions": [ # The list of standard dimensions the report should include.
+              { # Represents a sorted dimension.
+                "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+                "name": "A String", # The name of the dimension.
+                "sortOrder": "A String", # An optional sort order for the dimension column.
+              },
+            ],
+            "metricNames": [ # The list of names of metrics the report should include.
+              "A String",
+            ],
+            "dateRange": { # Represents a date range. # The date range for which this report should be run.
+              "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+              "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+              "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+              "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+            },
+            "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+                # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+              { # Represents a DimensionValue resource.
+                "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+                "value": "A String", # The value of the dimension.
+                "dimensionName": "A String", # The name of the dimension.
+                "etag": "A String", # The eTag of this response for caching purposes.
+                "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+                "id": "A String", # The ID associated with the value if available.
+              },
+            ],
+            "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
+              "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
+              "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
+                { # Represents a DimensionValue resource.
+                  "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+                  "value": "A String", # The value of the dimension.
+                  "dimensionName": "A String", # The name of the dimension.
+                  "etag": "A String", # The eTag of this response for caching purposes.
+                  "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+                  "id": "A String", # The ID associated with the value if available.
+                },
+              ],
+            },
+          },
+          "id": "A String", # The unique ID identifying this report resource.
+          "lastModifiedTime": "A String", # The timestamp (in milliseconds since epoch) of when this report was last modified.
+          "type": "A String", # The type of the report.
+          "crossDimensionReachCriteria": { # The report criteria for a report of type "CROSS_DIMENSION_REACH".
+            "breakdown": [ # The list of dimensions the report should include.
+              { # Represents a sorted dimension.
+                "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+                "name": "A String", # The name of the dimension.
+                "sortOrder": "A String", # An optional sort order for the dimension column.
+              },
+            ],
+            "overlapMetricNames": [ # The list of names of overlap metrics the report should include.
+              "A String",
+            ],
+            "metricNames": [ # The list of names of metrics the report should include.
+              "A String",
+            ],
+            "dateRange": { # Represents a date range. # The date range this report should be run for.
+              "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+              "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+              "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+              "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+            },
+            "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+              { # Represents a DimensionValue resource.
+                "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+                "value": "A String", # The value of the dimension.
+                "dimensionName": "A String", # The name of the dimension.
+                "etag": "A String", # The eTag of this response for caching purposes.
+                "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+                "id": "A String", # The ID associated with the value if available.
+              },
+            ],
+            "pivoted": True or False, # Whether the report is pivoted or not. Defaults to true.
+            "dimension": "A String", # The dimension option.
+          },
+          "accountId": "A String", # The account ID to which this report belongs.
+        },
+    ],
+    "kind": "dfareporting#reportList", # The kind of list this is, in this case dfareporting#reportList.
+    "etag": "A String", # The eTag of this response for caching purposes.
+  }
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    
+
+ +
+ patch(profileId, reportId, body) +
Updates a report. This method supports patch semantics.
+
+Args:
+  profileId: string, The DFA user profile ID. (required)
+  reportId: string, The ID of the report. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Represents a Report resource.
+    "pathToConversionCriteria": { # The report criteria for a report of type "PATH_TO_CONVERSION".
+      "conversionDimensions": [ # The list of conversion dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column.
+        },
+      ],
+      "metricNames": [ # The list of names of metrics the report should include.
+        "A String",
+      ],
+      "dateRange": { # Represents a date range. # The date range this report should be run for.
+        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+      },
+      "reportProperties": { # The properties of the report.
+        "clicksLookbackWindow": 42, # DFA checks to see if a click interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
+        "pivotOnInteractionPath": True or False, # Enable pivoting on interaction path.
+        "impressionsLookbackWindow": 42, # DFA checks to see if an impression interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
+        "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
+        "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
+        "maximumInteractionGap": 42, # The maximum amount of time that can take place between interactions (clicks or impressions) by the same user. Valid values: 1-90.
+        "includeAttributedIPConversions": True or False, # Deprecated: has no effect.
+        "maximumClickInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
+        "maximumImpressionInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
+      },
+      "perInteractionDimensions": [ # The list of per interaction dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column.
+        },
+      ],
+      "activityFilters": [ # The list of 'dfa:activity' values to filter on.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "customRichMediaEvents": [ # The list of custom rich media events to include.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "customFloodlightVariables": [ # The list of custom floodlight variables the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column.
+        },
+      ],
+    },
+    "kind": "dfareporting#report", # The kind of resource this is, in this case dfareporting#report.
+    "subAccountId": "A String", # The subaccount ID to which this report belongs if applicable.
+    "name": "A String", # The name of the report.
+    "schedule": { # The report's schedule. Can only be set if the report's 'dateRange' is a relative date range and the relative date range is not "TODAY".
+      "startDate": "A String", # Start date of date range for which scheduled reports should be run.
+      "runsOnDayOfMonth": "A String", # Enum to define for "MONTHLY" scheduled reports whether reports should be repeated on the same day of the month as "startDate" or the same day of the week of the month.
+          # Example: If 'startDate' is Monday, April 2nd 2012 (2012-04-02), "DAY_OF_MONTH" would run subsequent reports on the 2nd of every Month, and "WEEK_OF_MONTH" would run subsequent reports on the first Monday of the month.
+      "every": 42, # Defines every how many days, weeks or months the report should be run. Needs to be set when "repeats" is either "DAILY", "WEEKLY" or "MONTHLY".
+      "expirationDate": "A String", # The expiration date when the scheduled report stops running.
+      "active": True or False, # Whether the schedule is active or not. Must be set to either true or false.
+      "repeats": "A String", # The interval for which the report is repeated. Note:
+          # - "DAILY" also requires field "every" to be set.
+          # - "WEEKLY" also requires fields "every" and "repeatsOnWeekDays" to be set.
+          # - "MONTHLY" also requires fields "every" and "runsOnDayOfMonth" to be set.
+      "repeatsOnWeekDays": [ # List of week days "WEEKLY" on which scheduled reports should run.
+        "A String",
+      ],
+    },
+    "format": "A String", # The output format of the report. If not specified, default format is "CSV". Note that the actual format in the completed report file might differ if for instance the report's size exceeds the format's capabilities. "CSV" will then be the fallback format.
+    "ownerProfileId": "A String", # The user profile id of the owner of this report.
+    "reachCriteria": { # The report criteria for a report of type "REACH".
+      "activities": { # Represents an activity group. # Activity group.
+        "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
+        "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "metricNames": [ # List of names of floodlight activity metrics.
+          "A String",
+        ],
+      },
+      "dimensions": [ # The list of dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column.
+        },
+      ],
+      "metricNames": [ # The list of names of metrics the report should include.
+        "A String",
+      ],
+      "dateRange": { # Represents a date range. # The date range this report should be run for.
+        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+      },
+      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "reachByFrequencyMetricNames": [ # The list of names of  Reach By Frequency metrics the report should include.
+        "A String",
+      ],
+      "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
+        "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
+        "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+      },
+      "enableAllDimensionCombinations": True or False, # Whether to enable all reach dimension combinations in the report. Defaults to false. If enabled, the date range of the report should be within the last three months.
+    },
+    "floodlightCriteria": { # The report criteria for a report of type "FLOODLIGHT".
+      "dimensions": [ # The list of dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column.
+        },
+      ],
+      "metricNames": [ # The list of names of metrics the report should include.
+        "A String",
+      ],
+      "dateRange": { # Represents a date range. # The date range this report should be run for.
+        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+      },
+      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "customRichMediaEvents": [ # The list of custom rich media events to include.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "reportProperties": { # The properties of the report.
+        "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
+        "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
+        "includeAttributedIPConversions": True or False, # Include conversions that have no cookie, but do have an exposure path.
+      },
+    },
+    "fileName": "A String", # The filename used when generating report files for this report.
+    "delivery": { # The report's email delivery settings.
+      "message": "A String", # The message to be sent with each email.
+      "emailOwnerDeliveryType": "A String", # The type of delivery for the owner to receive, if enabled.
+      "recipients": [ # The list of recipients to which to email the report.
+        { # Represents a recipient.
+          "kind": "dfareporting#recipient", # The kind of resource this is, in this case dfareporting#recipient.
+          "deliveryType": "A String", # The delivery type for the recipient.
+          "email": "A String", # The email address of the recipient.
+        },
+      ],
+      "emailOwner": True or False, # Whether the report should be emailed to the report owner.
+    },
+    "etag": "A String", # The eTag of this response for caching purposes.
+    "criteria": { # The report criteria for a report of type "STANDARD".
+      "activities": { # Represents an activity group. # Activity group.
+        "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
+        "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "metricNames": [ # List of names of floodlight activity metrics.
+          "A String",
+        ],
+      },
+      "dimensions": [ # The list of standard dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column.
+        },
+      ],
+      "metricNames": [ # The list of names of metrics the report should include.
+        "A String",
+      ],
+      "dateRange": { # Represents a date range. # The date range for which this report should be run.
+        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+      },
+      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
+        "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
+        "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+      },
+    },
+    "id": "A String", # The unique ID identifying this report resource.
+    "lastModifiedTime": "A String", # The timestamp (in milliseconds since epoch) of when this report was last modified.
+    "type": "A String", # The type of the report.
+    "crossDimensionReachCriteria": { # The report criteria for a report of type "CROSS_DIMENSION_REACH".
+      "breakdown": [ # The list of dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column.
+        },
+      ],
+      "overlapMetricNames": [ # The list of names of overlap metrics the report should include.
+        "A String",
+      ],
+      "metricNames": [ # The list of names of metrics the report should include.
+        "A String",
+      ],
+      "dateRange": { # Represents a date range. # The date range this report should be run for.
+        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+      },
+      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "pivoted": True or False, # Whether the report is pivoted or not. Defaults to true.
+      "dimension": "A String", # The dimension option.
+    },
+    "accountId": "A String", # The account ID to which this report belongs.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Represents a Report resource.
+      "pathToConversionCriteria": { # The report criteria for a report of type "PATH_TO_CONVERSION".
+        "conversionDimensions": [ # The list of conversion dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column.
+          },
+        ],
+        "metricNames": [ # The list of names of metrics the report should include.
+          "A String",
+        ],
+        "dateRange": { # Represents a date range. # The date range this report should be run for.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+        },
+        "reportProperties": { # The properties of the report.
+          "clicksLookbackWindow": 42, # DFA checks to see if a click interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
+          "pivotOnInteractionPath": True or False, # Enable pivoting on interaction path.
+          "impressionsLookbackWindow": 42, # DFA checks to see if an impression interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
+          "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
+          "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
+          "maximumInteractionGap": 42, # The maximum amount of time that can take place between interactions (clicks or impressions) by the same user. Valid values: 1-90.
+          "includeAttributedIPConversions": True or False, # Deprecated: has no effect.
+          "maximumClickInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
+          "maximumImpressionInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
+        },
+        "perInteractionDimensions": [ # The list of per interaction dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column.
+          },
+        ],
+        "activityFilters": [ # The list of 'dfa:activity' values to filter on.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "customRichMediaEvents": [ # The list of custom rich media events to include.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+        "customFloodlightVariables": [ # The list of custom floodlight variables the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column.
+          },
+        ],
+      },
+      "kind": "dfareporting#report", # The kind of resource this is, in this case dfareporting#report.
+      "subAccountId": "A String", # The subaccount ID to which this report belongs if applicable.
+      "name": "A String", # The name of the report.
+      "schedule": { # The report's schedule. Can only be set if the report's 'dateRange' is a relative date range and the relative date range is not "TODAY".
+        "startDate": "A String", # Start date of date range for which scheduled reports should be run.
+        "runsOnDayOfMonth": "A String", # Enum to define for "MONTHLY" scheduled reports whether reports should be repeated on the same day of the month as "startDate" or the same day of the week of the month.
+            # Example: If 'startDate' is Monday, April 2nd 2012 (2012-04-02), "DAY_OF_MONTH" would run subsequent reports on the 2nd of every Month, and "WEEK_OF_MONTH" would run subsequent reports on the first Monday of the month.
+        "every": 42, # Defines every how many days, weeks or months the report should be run. Needs to be set when "repeats" is either "DAILY", "WEEKLY" or "MONTHLY".
+        "expirationDate": "A String", # The expiration date when the scheduled report stops running.
+        "active": True or False, # Whether the schedule is active or not. Must be set to either true or false.
+        "repeats": "A String", # The interval for which the report is repeated. Note:
+            # - "DAILY" also requires field "every" to be set.
+            # - "WEEKLY" also requires fields "every" and "repeatsOnWeekDays" to be set.
+            # - "MONTHLY" also requires fields "every" and "runsOnDayOfMonth" to be set.
+        "repeatsOnWeekDays": [ # List of week days "WEEKLY" on which scheduled reports should run.
+          "A String",
+        ],
+      },
+      "format": "A String", # The output format of the report. If not specified, default format is "CSV". Note that the actual format in the completed report file might differ if for instance the report's size exceeds the format's capabilities. "CSV" will then be the fallback format.
+      "ownerProfileId": "A String", # The user profile id of the owner of this report.
+      "reachCriteria": { # The report criteria for a report of type "REACH".
+        "activities": { # Represents an activity group. # Activity group.
+          "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
+          "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
+            { # Represents a DimensionValue resource.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+          ],
+          "metricNames": [ # List of names of floodlight activity metrics.
+            "A String",
+          ],
+        },
+        "dimensions": [ # The list of dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column.
+          },
+        ],
+        "metricNames": [ # The list of names of metrics the report should include.
+          "A String",
+        ],
+        "dateRange": { # Represents a date range. # The date range this report should be run for.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+        },
+        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "reachByFrequencyMetricNames": [ # The list of names of  Reach By Frequency metrics the report should include.
+          "A String",
+        ],
+        "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
+          "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
+          "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
+            { # Represents a DimensionValue resource.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+          ],
+        },
+        "enableAllDimensionCombinations": True or False, # Whether to enable all reach dimension combinations in the report. Defaults to false. If enabled, the date range of the report should be within the last three months.
+      },
+      "floodlightCriteria": { # The report criteria for a report of type "FLOODLIGHT".
+        "dimensions": [ # The list of dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column.
+          },
+        ],
+        "metricNames": [ # The list of names of metrics the report should include.
+          "A String",
+        ],
+        "dateRange": { # Represents a date range. # The date range this report should be run for.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+        },
+        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+        "customRichMediaEvents": [ # The list of custom rich media events to include.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "reportProperties": { # The properties of the report.
+          "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
+          "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
+          "includeAttributedIPConversions": True or False, # Include conversions that have no cookie, but do have an exposure path.
+        },
+      },
+      "fileName": "A String", # The filename used when generating report files for this report.
+      "delivery": { # The report's email delivery settings.
+        "message": "A String", # The message to be sent with each email.
+        "emailOwnerDeliveryType": "A String", # The type of delivery for the owner to receive, if enabled.
+        "recipients": [ # The list of recipients to which to email the report.
+          { # Represents a recipient.
+            "kind": "dfareporting#recipient", # The kind of resource this is, in this case dfareporting#recipient.
+            "deliveryType": "A String", # The delivery type for the recipient.
+            "email": "A String", # The email address of the recipient.
+          },
+        ],
+        "emailOwner": True or False, # Whether the report should be emailed to the report owner.
+      },
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "criteria": { # The report criteria for a report of type "STANDARD".
+        "activities": { # Represents an activity group. # Activity group.
+          "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
+          "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
+            { # Represents a DimensionValue resource.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+          ],
+          "metricNames": [ # List of names of floodlight activity metrics.
+            "A String",
+          ],
+        },
+        "dimensions": [ # The list of standard dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column.
+          },
+        ],
+        "metricNames": [ # The list of names of metrics the report should include.
+          "A String",
+        ],
+        "dateRange": { # Represents a date range. # The date range for which this report should be run.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+        },
+        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
+          "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
+          "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
+            { # Represents a DimensionValue resource.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+          ],
+        },
+      },
+      "id": "A String", # The unique ID identifying this report resource.
+      "lastModifiedTime": "A String", # The timestamp (in milliseconds since epoch) of when this report was last modified.
+      "type": "A String", # The type of the report.
+      "crossDimensionReachCriteria": { # The report criteria for a report of type "CROSS_DIMENSION_REACH".
+        "breakdown": [ # The list of dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column.
+          },
+        ],
+        "overlapMetricNames": [ # The list of names of overlap metrics the report should include.
+          "A String",
+        ],
+        "metricNames": [ # The list of names of metrics the report should include.
+          "A String",
+        ],
+        "dateRange": { # Represents a date range. # The date range this report should be run for.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+        },
+        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "pivoted": True or False, # Whether the report is pivoted or not. Defaults to true.
+        "dimension": "A String", # The dimension option.
+      },
+      "accountId": "A String", # The account ID to which this report belongs.
+    }
+
+ +
+ run(profileId, reportId, synchronous=None) +
Runs a report.
+
+Args:
+  profileId: string, The DFA profile ID. (required)
+  reportId: string, The ID of the report. (required)
+  synchronous: boolean, If set and true, tries to run the report synchronously.
+
+Returns:
+  An object of the form:
+
+    { # Represents a File resource. A file contains the metadata for a report run. It shows the status of the run and holds the URLs to the generated report data if the run is finished and the status is "REPORT_AVAILABLE".
+    "status": "A String", # The status of the report file.
+    "kind": "dfareporting#file", # The kind of resource this is, in this case dfareporting#file.
+    "format": "A String", # The output format of the report. Only available once the file is available.
+    "dateRange": { # Represents a date range. # The date range for which the file has report data. The date range will always be the absolute date range for which the report is run.
+      "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+      "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+      "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+      "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+    },
+    "fileName": "A String", # The filename of the file.
+    "etag": "A String", # The eTag of this response for caching purposes.
+    "reportId": "A String", # The ID of the report this file was generated from.
+    "urls": { # The URLs where the completed report file can be downloaded.
+      "browserUrl": "A String", # The URL for downloading the report data through a browser.
+      "apiUrl": "A String", # The URL for downloading the report data through the API.
+    },
+    "lastModifiedTime": "A String", # The timestamp in milliseconds since epoch when this file was last modified.
+    "id": "A String", # The unique ID of this report file.
+  }
+
+ +
+ update(profileId, reportId, body) +
Updates a report.
+
+Args:
+  profileId: string, The DFA user profile ID. (required)
+  reportId: string, The ID of the report. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Represents a Report resource.
+    "pathToConversionCriteria": { # The report criteria for a report of type "PATH_TO_CONVERSION".
+      "conversionDimensions": [ # The list of conversion dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column.
+        },
+      ],
+      "metricNames": [ # The list of names of metrics the report should include.
+        "A String",
+      ],
+      "dateRange": { # Represents a date range. # The date range this report should be run for.
+        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+      },
+      "reportProperties": { # The properties of the report.
+        "clicksLookbackWindow": 42, # DFA checks to see if a click interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
+        "pivotOnInteractionPath": True or False, # Enable pivoting on interaction path.
+        "impressionsLookbackWindow": 42, # DFA checks to see if an impression interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
+        "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
+        "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
+        "maximumInteractionGap": 42, # The maximum amount of time that can take place between interactions (clicks or impressions) by the same user. Valid values: 1-90.
+        "includeAttributedIPConversions": True or False, # Deprecated: has no effect.
+        "maximumClickInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
+        "maximumImpressionInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
+      },
+      "perInteractionDimensions": [ # The list of per interaction dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column.
+        },
+      ],
+      "activityFilters": [ # The list of 'dfa:activity' values to filter on.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "customRichMediaEvents": [ # The list of custom rich media events to include.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "customFloodlightVariables": [ # The list of custom floodlight variables the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column.
+        },
+      ],
+    },
+    "kind": "dfareporting#report", # The kind of resource this is, in this case dfareporting#report.
+    "subAccountId": "A String", # The subaccount ID to which this report belongs if applicable.
+    "name": "A String", # The name of the report.
+    "schedule": { # The report's schedule. Can only be set if the report's 'dateRange' is a relative date range and the relative date range is not "TODAY".
+      "startDate": "A String", # Start date of date range for which scheduled reports should be run.
+      "runsOnDayOfMonth": "A String", # Enum to define for "MONTHLY" scheduled reports whether reports should be repeated on the same day of the month as "startDate" or the same day of the week of the month.
+          # Example: If 'startDate' is Monday, April 2nd 2012 (2012-04-02), "DAY_OF_MONTH" would run subsequent reports on the 2nd of every Month, and "WEEK_OF_MONTH" would run subsequent reports on the first Monday of the month.
+      "every": 42, # Defines every how many days, weeks or months the report should be run. Needs to be set when "repeats" is either "DAILY", "WEEKLY" or "MONTHLY".
+      "expirationDate": "A String", # The expiration date when the scheduled report stops running.
+      "active": True or False, # Whether the schedule is active or not. Must be set to either true or false.
+      "repeats": "A String", # The interval for which the report is repeated. Note:
+          # - "DAILY" also requires field "every" to be set.
+          # - "WEEKLY" also requires fields "every" and "repeatsOnWeekDays" to be set.
+          # - "MONTHLY" also requires fields "every" and "runsOnDayOfMonth" to be set.
+      "repeatsOnWeekDays": [ # List of week days "WEEKLY" on which scheduled reports should run.
+        "A String",
+      ],
+    },
+    "format": "A String", # The output format of the report. If not specified, default format is "CSV". Note that the actual format in the completed report file might differ if for instance the report's size exceeds the format's capabilities. "CSV" will then be the fallback format.
+    "ownerProfileId": "A String", # The user profile id of the owner of this report.
+    "reachCriteria": { # The report criteria for a report of type "REACH".
+      "activities": { # Represents an activity group. # Activity group.
+        "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
+        "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "metricNames": [ # List of names of floodlight activity metrics.
+          "A String",
+        ],
+      },
+      "dimensions": [ # The list of dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column.
+        },
+      ],
+      "metricNames": [ # The list of names of metrics the report should include.
+        "A String",
+      ],
+      "dateRange": { # Represents a date range. # The date range this report should be run for.
+        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+      },
+      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "reachByFrequencyMetricNames": [ # The list of names of  Reach By Frequency metrics the report should include.
+        "A String",
+      ],
+      "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
+        "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
+        "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+      },
+      "enableAllDimensionCombinations": True or False, # Whether to enable all reach dimension combinations in the report. Defaults to false. If enabled, the date range of the report should be within the last three months.
+    },
+    "floodlightCriteria": { # The report criteria for a report of type "FLOODLIGHT".
+      "dimensions": [ # The list of dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column.
+        },
+      ],
+      "metricNames": [ # The list of names of metrics the report should include.
+        "A String",
+      ],
+      "dateRange": { # Represents a date range. # The date range this report should be run for.
+        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+      },
+      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "customRichMediaEvents": [ # The list of custom rich media events to include.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "reportProperties": { # The properties of the report.
+        "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
+        "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
+        "includeAttributedIPConversions": True or False, # Include conversions that have no cookie, but do have an exposure path.
+      },
+    },
+    "fileName": "A String", # The filename used when generating report files for this report.
+    "delivery": { # The report's email delivery settings.
+      "message": "A String", # The message to be sent with each email.
+      "emailOwnerDeliveryType": "A String", # The type of delivery for the owner to receive, if enabled.
+      "recipients": [ # The list of recipients to which to email the report.
+        { # Represents a recipient.
+          "kind": "dfareporting#recipient", # The kind of resource this is, in this case dfareporting#recipient.
+          "deliveryType": "A String", # The delivery type for the recipient.
+          "email": "A String", # The email address of the recipient.
+        },
+      ],
+      "emailOwner": True or False, # Whether the report should be emailed to the report owner.
+    },
+    "etag": "A String", # The eTag of this response for caching purposes.
+    "criteria": { # The report criteria for a report of type "STANDARD".
+      "activities": { # Represents an activity group. # Activity group.
+        "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
+        "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "metricNames": [ # List of names of floodlight activity metrics.
+          "A String",
+        ],
+      },
+      "dimensions": [ # The list of standard dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column.
+        },
+      ],
+      "metricNames": [ # The list of names of metrics the report should include.
+        "A String",
+      ],
+      "dateRange": { # Represents a date range. # The date range for which this report should be run.
+        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+      },
+      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+          # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
+        "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
+        "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+      },
+    },
+    "id": "A String", # The unique ID identifying this report resource.
+    "lastModifiedTime": "A String", # The timestamp (in milliseconds since epoch) of when this report was last modified.
+    "type": "A String", # The type of the report.
+    "crossDimensionReachCriteria": { # The report criteria for a report of type "CROSS_DIMENSION_REACH".
+      "breakdown": [ # The list of dimensions the report should include.
+        { # Represents a sorted dimension.
+          "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+          "name": "A String", # The name of the dimension.
+          "sortOrder": "A String", # An optional sort order for the dimension column.
+        },
+      ],
+      "overlapMetricNames": [ # The list of names of overlap metrics the report should include.
+        "A String",
+      ],
+      "metricNames": [ # The list of names of metrics the report should include.
+        "A String",
+      ],
+      "dateRange": { # Represents a date range. # The date range this report should be run for.
+        "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+        "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+        "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+      },
+      "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+        { # Represents a DimensionValue resource.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+      ],
+      "pivoted": True or False, # Whether the report is pivoted or not. Defaults to true.
+      "dimension": "A String", # The dimension option.
+    },
+    "accountId": "A String", # The account ID to which this report belongs.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Represents a Report resource.
+      "pathToConversionCriteria": { # The report criteria for a report of type "PATH_TO_CONVERSION".
+        "conversionDimensions": [ # The list of conversion dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column.
+          },
+        ],
+        "metricNames": [ # The list of names of metrics the report should include.
+          "A String",
+        ],
+        "dateRange": { # Represents a date range. # The date range this report should be run for.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+        },
+        "reportProperties": { # The properties of the report.
+          "clicksLookbackWindow": 42, # DFA checks to see if a click interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
+          "pivotOnInteractionPath": True or False, # Enable pivoting on interaction path.
+          "impressionsLookbackWindow": 42, # DFA checks to see if an impression interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.
+          "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
+          "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
+          "maximumInteractionGap": 42, # The maximum amount of time that can take place between interactions (clicks or impressions) by the same user. Valid values: 1-90.
+          "includeAttributedIPConversions": True or False, # Deprecated: has no effect.
+          "maximumClickInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
+          "maximumImpressionInteractions": 42, # The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.
+        },
+        "perInteractionDimensions": [ # The list of per interaction dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column.
+          },
+        ],
+        "activityFilters": [ # The list of 'dfa:activity' values to filter on.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "customRichMediaEvents": [ # The list of custom rich media events to include.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+        "customFloodlightVariables": [ # The list of custom floodlight variables the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column.
+          },
+        ],
+      },
+      "kind": "dfareporting#report", # The kind of resource this is, in this case dfareporting#report.
+      "subAccountId": "A String", # The subaccount ID to which this report belongs if applicable.
+      "name": "A String", # The name of the report.
+      "schedule": { # The report's schedule. Can only be set if the report's 'dateRange' is a relative date range and the relative date range is not "TODAY".
+        "startDate": "A String", # Start date of date range for which scheduled reports should be run.
+        "runsOnDayOfMonth": "A String", # Enum to define for "MONTHLY" scheduled reports whether reports should be repeated on the same day of the month as "startDate" or the same day of the week of the month.
+            # Example: If 'startDate' is Monday, April 2nd 2012 (2012-04-02), "DAY_OF_MONTH" would run subsequent reports on the 2nd of every Month, and "WEEK_OF_MONTH" would run subsequent reports on the first Monday of the month.
+        "every": 42, # Defines every how many days, weeks or months the report should be run. Needs to be set when "repeats" is either "DAILY", "WEEKLY" or "MONTHLY".
+        "expirationDate": "A String", # The expiration date when the scheduled report stops running.
+        "active": True or False, # Whether the schedule is active or not. Must be set to either true or false.
+        "repeats": "A String", # The interval for which the report is repeated. Note:
+            # - "DAILY" also requires field "every" to be set.
+            # - "WEEKLY" also requires fields "every" and "repeatsOnWeekDays" to be set.
+            # - "MONTHLY" also requires fields "every" and "runsOnDayOfMonth" to be set.
+        "repeatsOnWeekDays": [ # List of week days "WEEKLY" on which scheduled reports should run.
+          "A String",
+        ],
+      },
+      "format": "A String", # The output format of the report. If not specified, default format is "CSV". Note that the actual format in the completed report file might differ if for instance the report's size exceeds the format's capabilities. "CSV" will then be the fallback format.
+      "ownerProfileId": "A String", # The user profile id of the owner of this report.
+      "reachCriteria": { # The report criteria for a report of type "REACH".
+        "activities": { # Represents an activity group. # Activity group.
+          "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
+          "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
+            { # Represents a DimensionValue resource.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+          ],
+          "metricNames": [ # List of names of floodlight activity metrics.
+            "A String",
+          ],
+        },
+        "dimensions": [ # The list of dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column.
+          },
+        ],
+        "metricNames": [ # The list of names of metrics the report should include.
+          "A String",
+        ],
+        "dateRange": { # Represents a date range. # The date range this report should be run for.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+        },
+        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "reachByFrequencyMetricNames": [ # The list of names of  Reach By Frequency metrics the report should include.
+          "A String",
+        ],
+        "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
+          "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
+          "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
+            { # Represents a DimensionValue resource.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+          ],
+        },
+        "enableAllDimensionCombinations": True or False, # Whether to enable all reach dimension combinations in the report. Defaults to false. If enabled, the date range of the report should be within the last three months.
+      },
+      "floodlightCriteria": { # The report criteria for a report of type "FLOODLIGHT".
+        "dimensions": [ # The list of dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column.
+          },
+        ],
+        "metricNames": [ # The list of names of metrics the report should include.
+          "A String",
+        ],
+        "dateRange": { # Represents a date range. # The date range this report should be run for.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+        },
+        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "floodlightConfigId": { # Represents a DimensionValue resource. # The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+        "customRichMediaEvents": [ # The list of custom rich media events to include.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "reportProperties": { # The properties of the report.
+          "includeUnattributedIPConversions": True or False, # Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion.
+          "includeUnattributedCookieConversions": True or False, # Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window.
+          "includeAttributedIPConversions": True or False, # Include conversions that have no cookie, but do have an exposure path.
+        },
+      },
+      "fileName": "A String", # The filename used when generating report files for this report.
+      "delivery": { # The report's email delivery settings.
+        "message": "A String", # The message to be sent with each email.
+        "emailOwnerDeliveryType": "A String", # The type of delivery for the owner to receive, if enabled.
+        "recipients": [ # The list of recipients to which to email the report.
+          { # Represents a recipient.
+            "kind": "dfareporting#recipient", # The kind of resource this is, in this case dfareporting#recipient.
+            "deliveryType": "A String", # The delivery type for the recipient.
+            "email": "A String", # The email address of the recipient.
+          },
+        ],
+        "emailOwner": True or False, # Whether the report should be emailed to the report owner.
+      },
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "criteria": { # The report criteria for a report of type "STANDARD".
+        "activities": { # Represents an activity group. # Activity group.
+          "kind": "dfareporting#activities", # The kind of resource this is, in this case dfareporting#activities.
+          "filters": [ # List of activity filters. The dimension values need to be all either of type "dfa:activity" or "dfa:activityGroup".
+            { # Represents a DimensionValue resource.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+          ],
+          "metricNames": [ # List of names of floodlight activity metrics.
+            "A String",
+          ],
+        },
+        "dimensions": [ # The list of standard dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column.
+          },
+        ],
+        "metricNames": [ # The list of names of metrics the report should include.
+          "A String",
+        ],
+        "dateRange": { # Represents a date range. # The date range for which this report should be run.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+        },
+        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+            # Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "customRichMediaEvents": { # Represents a Custom Rich Media Events group. # Custom Rich Media Events group.
+          "kind": "dfareporting#customRichMediaEvents", # The kind of resource this is, in this case dfareporting#customRichMediaEvents.
+          "filteredEventIds": [ # List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.
+            { # Represents a DimensionValue resource.
+              "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+              "value": "A String", # The value of the dimension.
+              "dimensionName": "A String", # The name of the dimension.
+              "etag": "A String", # The eTag of this response for caching purposes.
+              "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+              "id": "A String", # The ID associated with the value if available.
+            },
+          ],
+        },
+      },
+      "id": "A String", # The unique ID identifying this report resource.
+      "lastModifiedTime": "A String", # The timestamp (in milliseconds since epoch) of when this report was last modified.
+      "type": "A String", # The type of the report.
+      "crossDimensionReachCriteria": { # The report criteria for a report of type "CROSS_DIMENSION_REACH".
+        "breakdown": [ # The list of dimensions the report should include.
+          { # Represents a sorted dimension.
+            "kind": "dfareporting#sortedDimension", # The kind of resource this is, in this case dfareporting#sortedDimension.
+            "name": "A String", # The name of the dimension.
+            "sortOrder": "A String", # An optional sort order for the dimension column.
+          },
+        ],
+        "overlapMetricNames": [ # The list of names of overlap metrics the report should include.
+          "A String",
+        ],
+        "metricNames": [ # The list of names of metrics the report should include.
+          "A String",
+        ],
+        "dateRange": { # Represents a date range. # The date range this report should be run for.
+          "startDate": "A String", # The start date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "kind": "dfareporting#dateRange", # The kind of resource this is, in this case dfareporting#dateRange.
+          "endDate": "A String", # The end date of the date range, inclusive. A string of the format: "yyyy-MM-dd".
+          "relativeDateRange": "A String", # The date range relative to the date of when the report is run.
+        },
+        "dimensionFilters": [ # The list of filters on which dimensions are filtered.
+          { # Represents a DimensionValue resource.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+        ],
+        "pivoted": True or False, # Whether the report is pivoted or not. Defaults to true.
+        "dimension": "A String", # The dimension option.
+      },
+      "accountId": "A String", # The account ID to which this report belongs.
+    }
+
+ + \ No newline at end of file diff --git a/docs/dyn/dfareporting_v2_5.sites.html b/docs/dyn/dfareporting_v2_5.sites.html new file mode 100644 index 00000000000..25f15ed537b --- /dev/null +++ b/docs/dyn/dfareporting_v2_5.sites.html @@ -0,0 +1,675 @@ + + + +

DCM/DFA Reporting And Trafficking API . sites

+

Instance Methods

+

+ get(profileId, id)

+

Gets one site by ID.

+

+ insert(profileId, body)

+

Inserts a new site.

+

+ list(profileId, unmappedSite=None, campaignIds=None, acceptsInStreamVideoPlacements=None, pageToken=None, acceptsPublisherPaidPlacements=None, sortOrder=None, acceptsInterstitialPlacements=None, maxResults=None, adWordsSite=None, approved=None, searchString=None, subaccountId=None, directorySiteIds=None, sortField=None, ids=None)

+

Retrieves a list of sites, possibly filtered.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

+ patch(profileId, id, body)

+

Updates an existing site. This method supports patch semantics.

+

+ update(profileId, body)

+

Updates an existing site.

+

Method Details

+
+ get(profileId, id) +
Gets one site by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Site ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a site.
+      "kind": "dfareporting#site", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#site".
+      "subaccountId": "A String", # Subaccount ID of this site. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this site.This is a required field. Must be less than 128 characters long. If this site is under a subaccount, the name must be unique among sites of the same subaccount. Otherwise, this site is a top-level site, and the name must be unique among top-level sites of the same account.
+      "directorySiteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the directory site. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "siteSettings": { # Site Settings # Site-wide settings.
+        "disableBrandSafeAds": True or False, # Whether brand safe ads are disabled for this site.
+        "activeViewOptOut": True or False, # Whether active view creatives are disabled for this site.
+        "lookbackConfiguration": { # Lookback configuration settings. # Lookback window settings for this site.
+          "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+          "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+        },
+        "disableNewCookie": True or False, # Whether new cookies are disabled for this site.
+        "tagSetting": { # Tag Settings # Configuration settings for dynamic and image floodlight tags.
+          "includeClickThroughUrls": True or False, # Whether static landing page URLs should be included in the tags. This setting applies only to placements.
+          "includeClickTracking": True or False, # Whether click-tracking string should be included in the tags.
+          "additionalKeyValues": "A String", # Additional key-values to be included in tags. Each key-value pair must be of the form key=value, and pairs must be separated by a semicolon (;). Keys and values must not contain commas. For example, id=2;color=red is a valid value for this field.
+          "keywordOption": "A String", # Option specifying how keywords are embedded in ad tags. This setting can be used to specify whether keyword placeholders are inserted in placement tags for this site. Publishers can then add keywords to those placeholders.
+        },
+        "creativeSettings": { # Creative Settings # Site-wide creative settings.
+          "iFrameHeader": "A String", # Header text for iFrames for this site. Must be less than or equal to 2000 characters long.
+          "iFrameFooter": "A String", # Header text for iFrames for this site. Must be less than or equal to 2000 characters long.
+        },
+        "videoActiveViewOptOut": True or False, # Whether Verification and ActiveView are disabled for in-stream video creatives on this site. The same setting videoActiveViewOptOut exists on the directory site level -- the opt out occurs if either of these settings are true. These settings are distinct from DirectorySites.settings.activeViewOptOut or Sites.siteSettings.activeViewOptOut which only apply to display ads. However, Accounts.activeViewOptOut opts out both video traffic, as well as display ads, from Verification and ActiveView.
+      },
+      "approved": True or False, # Whether this site is approved.
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this site. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "siteContacts": [ # Site contacts.
+        { # Site Contact
+          "firstName": "A String", # First name of this site contact.
+          "title": "A String", # Title or designation of this site contact.
+          "lastName": "A String", # Last name of this site contact.
+          "address": "A String", # Address of this site contact.
+          "email": "A String", # Email address of this site contact. This is a required field.
+          "phone": "A String", # Primary phone number of this site contact.
+          "contactType": "A String", # Site contact type.
+          "id": "A String", # ID of this site contact. This is a read-only, auto-generated field.
+        },
+      ],
+      "keyName": "A String", # Key name of this site. This is a read-only, auto-generated field.
+      "directorySiteId": "A String", # Directory site associated with this site. This is a required field that is read-only after insertion.
+      "id": "A String", # ID of this site. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this site. This is a read-only field that can be left blank.
+    }
+
+ +
+ insert(profileId, body) +
Inserts a new site.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a site.
+    "kind": "dfareporting#site", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#site".
+    "subaccountId": "A String", # Subaccount ID of this site. This is a read-only field that can be left blank.
+    "name": "A String", # Name of this site.This is a required field. Must be less than 128 characters long. If this site is under a subaccount, the name must be unique among sites of the same subaccount. Otherwise, this site is a top-level site, and the name must be unique among top-level sites of the same account.
+    "directorySiteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the directory site. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "siteSettings": { # Site Settings # Site-wide settings.
+      "disableBrandSafeAds": True or False, # Whether brand safe ads are disabled for this site.
+      "activeViewOptOut": True or False, # Whether active view creatives are disabled for this site.
+      "lookbackConfiguration": { # Lookback configuration settings. # Lookback window settings for this site.
+        "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+        "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+      },
+      "disableNewCookie": True or False, # Whether new cookies are disabled for this site.
+      "tagSetting": { # Tag Settings # Configuration settings for dynamic and image floodlight tags.
+        "includeClickThroughUrls": True or False, # Whether static landing page URLs should be included in the tags. This setting applies only to placements.
+        "includeClickTracking": True or False, # Whether click-tracking string should be included in the tags.
+        "additionalKeyValues": "A String", # Additional key-values to be included in tags. Each key-value pair must be of the form key=value, and pairs must be separated by a semicolon (;). Keys and values must not contain commas. For example, id=2;color=red is a valid value for this field.
+        "keywordOption": "A String", # Option specifying how keywords are embedded in ad tags. This setting can be used to specify whether keyword placeholders are inserted in placement tags for this site. Publishers can then add keywords to those placeholders.
+      },
+      "creativeSettings": { # Creative Settings # Site-wide creative settings.
+        "iFrameHeader": "A String", # Header text for iFrames for this site. Must be less than or equal to 2000 characters long.
+        "iFrameFooter": "A String", # Header text for iFrames for this site. Must be less than or equal to 2000 characters long.
+      },
+      "videoActiveViewOptOut": True or False, # Whether Verification and ActiveView are disabled for in-stream video creatives on this site. The same setting videoActiveViewOptOut exists on the directory site level -- the opt out occurs if either of these settings are true. These settings are distinct from DirectorySites.settings.activeViewOptOut or Sites.siteSettings.activeViewOptOut which only apply to display ads. However, Accounts.activeViewOptOut opts out both video traffic, as well as display ads, from Verification and ActiveView.
+    },
+    "approved": True or False, # Whether this site is approved.
+    "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this site. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "siteContacts": [ # Site contacts.
+      { # Site Contact
+        "firstName": "A String", # First name of this site contact.
+        "title": "A String", # Title or designation of this site contact.
+        "lastName": "A String", # Last name of this site contact.
+        "address": "A String", # Address of this site contact.
+        "email": "A String", # Email address of this site contact. This is a required field.
+        "phone": "A String", # Primary phone number of this site contact.
+        "contactType": "A String", # Site contact type.
+        "id": "A String", # ID of this site contact. This is a read-only, auto-generated field.
+      },
+    ],
+    "keyName": "A String", # Key name of this site. This is a read-only, auto-generated field.
+    "directorySiteId": "A String", # Directory site associated with this site. This is a required field that is read-only after insertion.
+    "id": "A String", # ID of this site. This is a read-only, auto-generated field.
+    "accountId": "A String", # Account ID of this site. This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a site.
+      "kind": "dfareporting#site", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#site".
+      "subaccountId": "A String", # Subaccount ID of this site. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this site.This is a required field. Must be less than 128 characters long. If this site is under a subaccount, the name must be unique among sites of the same subaccount. Otherwise, this site is a top-level site, and the name must be unique among top-level sites of the same account.
+      "directorySiteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the directory site. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "siteSettings": { # Site Settings # Site-wide settings.
+        "disableBrandSafeAds": True or False, # Whether brand safe ads are disabled for this site.
+        "activeViewOptOut": True or False, # Whether active view creatives are disabled for this site.
+        "lookbackConfiguration": { # Lookback configuration settings. # Lookback window settings for this site.
+          "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+          "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+        },
+        "disableNewCookie": True or False, # Whether new cookies are disabled for this site.
+        "tagSetting": { # Tag Settings # Configuration settings for dynamic and image floodlight tags.
+          "includeClickThroughUrls": True or False, # Whether static landing page URLs should be included in the tags. This setting applies only to placements.
+          "includeClickTracking": True or False, # Whether click-tracking string should be included in the tags.
+          "additionalKeyValues": "A String", # Additional key-values to be included in tags. Each key-value pair must be of the form key=value, and pairs must be separated by a semicolon (;). Keys and values must not contain commas. For example, id=2;color=red is a valid value for this field.
+          "keywordOption": "A String", # Option specifying how keywords are embedded in ad tags. This setting can be used to specify whether keyword placeholders are inserted in placement tags for this site. Publishers can then add keywords to those placeholders.
+        },
+        "creativeSettings": { # Creative Settings # Site-wide creative settings.
+          "iFrameHeader": "A String", # Header text for iFrames for this site. Must be less than or equal to 2000 characters long.
+          "iFrameFooter": "A String", # Header text for iFrames for this site. Must be less than or equal to 2000 characters long.
+        },
+        "videoActiveViewOptOut": True or False, # Whether Verification and ActiveView are disabled for in-stream video creatives on this site. The same setting videoActiveViewOptOut exists on the directory site level -- the opt out occurs if either of these settings are true. These settings are distinct from DirectorySites.settings.activeViewOptOut or Sites.siteSettings.activeViewOptOut which only apply to display ads. However, Accounts.activeViewOptOut opts out both video traffic, as well as display ads, from Verification and ActiveView.
+      },
+      "approved": True or False, # Whether this site is approved.
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this site. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "siteContacts": [ # Site contacts.
+        { # Site Contact
+          "firstName": "A String", # First name of this site contact.
+          "title": "A String", # Title or designation of this site contact.
+          "lastName": "A String", # Last name of this site contact.
+          "address": "A String", # Address of this site contact.
+          "email": "A String", # Email address of this site contact. This is a required field.
+          "phone": "A String", # Primary phone number of this site contact.
+          "contactType": "A String", # Site contact type.
+          "id": "A String", # ID of this site contact. This is a read-only, auto-generated field.
+        },
+      ],
+      "keyName": "A String", # Key name of this site. This is a read-only, auto-generated field.
+      "directorySiteId": "A String", # Directory site associated with this site. This is a required field that is read-only after insertion.
+      "id": "A String", # ID of this site. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this site. This is a read-only field that can be left blank.
+    }
+
+ +
+ list(profileId, unmappedSite=None, campaignIds=None, acceptsInStreamVideoPlacements=None, pageToken=None, acceptsPublisherPaidPlacements=None, sortOrder=None, acceptsInterstitialPlacements=None, maxResults=None, adWordsSite=None, approved=None, searchString=None, subaccountId=None, directorySiteIds=None, sortField=None, ids=None) +
Retrieves a list of sites, possibly filtered.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  unmappedSite: boolean, Select only sites that have not been mapped to a directory site.
+  campaignIds: string, Select only sites with these campaign IDs. (repeated)
+  acceptsInStreamVideoPlacements: boolean, This search filter is no longer supported and will have no effect on the results returned.
+  pageToken: string, Value of the nextPageToken from the previous result page.
+  acceptsPublisherPaidPlacements: boolean, Select only sites that accept publisher paid placements.
+  sortOrder: string, Order of sorted results, default is ASCENDING.
+    Allowed values
+      ASCENDING - 
+      DESCENDING - 
+  acceptsInterstitialPlacements: boolean, This search filter is no longer supported and will have no effect on the results returned.
+  maxResults: integer, Maximum number of results to return.
+  adWordsSite: boolean, Select only AdWords sites.
+  approved: boolean, Select only approved sites.
+  searchString: string, Allows searching for objects by name, ID or keyName. Wildcards (*) are allowed. For example, "site*2015" will return objects with names like "site June 2015", "site April 2015", or simply "site 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "site" will match objects with name "my site", "site 2015", or simply "site".
+  subaccountId: string, Select only sites with this subaccount ID.
+  directorySiteIds: string, Select only sites with these directory site IDs. (repeated)
+  sortField: string, Field by which to sort the list.
+    Allowed values
+      ID - 
+      NAME - 
+  ids: string, Select only sites with these IDs. (repeated)
+
+Returns:
+  An object of the form:
+
+    { # Site List Response
+    "nextPageToken": "A String", # Pagination token to be used for the next list operation.
+    "kind": "dfareporting#sitesListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#sitesListResponse".
+    "sites": [ # Site collection.
+      { # Contains properties of a site.
+          "kind": "dfareporting#site", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#site".
+          "subaccountId": "A String", # Subaccount ID of this site. This is a read-only field that can be left blank.
+          "name": "A String", # Name of this site.This is a required field. Must be less than 128 characters long. If this site is under a subaccount, the name must be unique among sites of the same subaccount. Otherwise, this site is a top-level site, and the name must be unique among top-level sites of the same account.
+          "directorySiteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the directory site. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "siteSettings": { # Site Settings # Site-wide settings.
+            "disableBrandSafeAds": True or False, # Whether brand safe ads are disabled for this site.
+            "activeViewOptOut": True or False, # Whether active view creatives are disabled for this site.
+            "lookbackConfiguration": { # Lookback configuration settings. # Lookback window settings for this site.
+              "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+              "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+            },
+            "disableNewCookie": True or False, # Whether new cookies are disabled for this site.
+            "tagSetting": { # Tag Settings # Configuration settings for dynamic and image floodlight tags.
+              "includeClickThroughUrls": True or False, # Whether static landing page URLs should be included in the tags. This setting applies only to placements.
+              "includeClickTracking": True or False, # Whether click-tracking string should be included in the tags.
+              "additionalKeyValues": "A String", # Additional key-values to be included in tags. Each key-value pair must be of the form key=value, and pairs must be separated by a semicolon (;). Keys and values must not contain commas. For example, id=2;color=red is a valid value for this field.
+              "keywordOption": "A String", # Option specifying how keywords are embedded in ad tags. This setting can be used to specify whether keyword placeholders are inserted in placement tags for this site. Publishers can then add keywords to those placeholders.
+            },
+            "creativeSettings": { # Creative Settings # Site-wide creative settings.
+              "iFrameHeader": "A String", # Header text for iFrames for this site. Must be less than or equal to 2000 characters long.
+              "iFrameFooter": "A String", # Header text for iFrames for this site. Must be less than or equal to 2000 characters long.
+            },
+            "videoActiveViewOptOut": True or False, # Whether Verification and ActiveView are disabled for in-stream video creatives on this site. The same setting videoActiveViewOptOut exists on the directory site level -- the opt out occurs if either of these settings are true. These settings are distinct from DirectorySites.settings.activeViewOptOut or Sites.siteSettings.activeViewOptOut which only apply to display ads. However, Accounts.activeViewOptOut opts out both video traffic, as well as display ads, from Verification and ActiveView.
+          },
+          "approved": True or False, # Whether this site is approved.
+          "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this site. This is a read-only, auto-generated field.
+            "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+            "value": "A String", # The value of the dimension.
+            "dimensionName": "A String", # The name of the dimension.
+            "etag": "A String", # The eTag of this response for caching purposes.
+            "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+            "id": "A String", # The ID associated with the value if available.
+          },
+          "siteContacts": [ # Site contacts.
+            { # Site Contact
+              "firstName": "A String", # First name of this site contact.
+              "title": "A String", # Title or designation of this site contact.
+              "lastName": "A String", # Last name of this site contact.
+              "address": "A String", # Address of this site contact.
+              "email": "A String", # Email address of this site contact. This is a required field.
+              "phone": "A String", # Primary phone number of this site contact.
+              "contactType": "A String", # Site contact type.
+              "id": "A String", # ID of this site contact. This is a read-only, auto-generated field.
+            },
+          ],
+          "keyName": "A String", # Key name of this site. This is a read-only, auto-generated field.
+          "directorySiteId": "A String", # Directory site associated with this site. This is a required field that is read-only after insertion.
+          "id": "A String", # ID of this site. This is a read-only, auto-generated field.
+          "accountId": "A String", # Account ID of this site. This is a read-only field that can be left blank.
+        },
+    ],
+  }
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    
+
+ +
+ patch(profileId, id, body) +
Updates an existing site. This method supports patch semantics.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Site ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a site.
+    "kind": "dfareporting#site", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#site".
+    "subaccountId": "A String", # Subaccount ID of this site. This is a read-only field that can be left blank.
+    "name": "A String", # Name of this site.This is a required field. Must be less than 128 characters long. If this site is under a subaccount, the name must be unique among sites of the same subaccount. Otherwise, this site is a top-level site, and the name must be unique among top-level sites of the same account.
+    "directorySiteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the directory site. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "siteSettings": { # Site Settings # Site-wide settings.
+      "disableBrandSafeAds": True or False, # Whether brand safe ads are disabled for this site.
+      "activeViewOptOut": True or False, # Whether active view creatives are disabled for this site.
+      "lookbackConfiguration": { # Lookback configuration settings. # Lookback window settings for this site.
+        "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+        "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+      },
+      "disableNewCookie": True or False, # Whether new cookies are disabled for this site.
+      "tagSetting": { # Tag Settings # Configuration settings for dynamic and image floodlight tags.
+        "includeClickThroughUrls": True or False, # Whether static landing page URLs should be included in the tags. This setting applies only to placements.
+        "includeClickTracking": True or False, # Whether click-tracking string should be included in the tags.
+        "additionalKeyValues": "A String", # Additional key-values to be included in tags. Each key-value pair must be of the form key=value, and pairs must be separated by a semicolon (;). Keys and values must not contain commas. For example, id=2;color=red is a valid value for this field.
+        "keywordOption": "A String", # Option specifying how keywords are embedded in ad tags. This setting can be used to specify whether keyword placeholders are inserted in placement tags for this site. Publishers can then add keywords to those placeholders.
+      },
+      "creativeSettings": { # Creative Settings # Site-wide creative settings.
+        "iFrameHeader": "A String", # Header text for iFrames for this site. Must be less than or equal to 2000 characters long.
+        "iFrameFooter": "A String", # Header text for iFrames for this site. Must be less than or equal to 2000 characters long.
+      },
+      "videoActiveViewOptOut": True or False, # Whether Verification and ActiveView are disabled for in-stream video creatives on this site. The same setting videoActiveViewOptOut exists on the directory site level -- the opt out occurs if either of these settings are true. These settings are distinct from DirectorySites.settings.activeViewOptOut or Sites.siteSettings.activeViewOptOut which only apply to display ads. However, Accounts.activeViewOptOut opts out both video traffic, as well as display ads, from Verification and ActiveView.
+    },
+    "approved": True or False, # Whether this site is approved.
+    "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this site. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "siteContacts": [ # Site contacts.
+      { # Site Contact
+        "firstName": "A String", # First name of this site contact.
+        "title": "A String", # Title or designation of this site contact.
+        "lastName": "A String", # Last name of this site contact.
+        "address": "A String", # Address of this site contact.
+        "email": "A String", # Email address of this site contact. This is a required field.
+        "phone": "A String", # Primary phone number of this site contact.
+        "contactType": "A String", # Site contact type.
+        "id": "A String", # ID of this site contact. This is a read-only, auto-generated field.
+      },
+    ],
+    "keyName": "A String", # Key name of this site. This is a read-only, auto-generated field.
+    "directorySiteId": "A String", # Directory site associated with this site. This is a required field that is read-only after insertion.
+    "id": "A String", # ID of this site. This is a read-only, auto-generated field.
+    "accountId": "A String", # Account ID of this site. This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a site.
+      "kind": "dfareporting#site", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#site".
+      "subaccountId": "A String", # Subaccount ID of this site. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this site.This is a required field. Must be less than 128 characters long. If this site is under a subaccount, the name must be unique among sites of the same subaccount. Otherwise, this site is a top-level site, and the name must be unique among top-level sites of the same account.
+      "directorySiteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the directory site. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "siteSettings": { # Site Settings # Site-wide settings.
+        "disableBrandSafeAds": True or False, # Whether brand safe ads are disabled for this site.
+        "activeViewOptOut": True or False, # Whether active view creatives are disabled for this site.
+        "lookbackConfiguration": { # Lookback configuration settings. # Lookback window settings for this site.
+          "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+          "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+        },
+        "disableNewCookie": True or False, # Whether new cookies are disabled for this site.
+        "tagSetting": { # Tag Settings # Configuration settings for dynamic and image floodlight tags.
+          "includeClickThroughUrls": True or False, # Whether static landing page URLs should be included in the tags. This setting applies only to placements.
+          "includeClickTracking": True or False, # Whether click-tracking string should be included in the tags.
+          "additionalKeyValues": "A String", # Additional key-values to be included in tags. Each key-value pair must be of the form key=value, and pairs must be separated by a semicolon (;). Keys and values must not contain commas. For example, id=2;color=red is a valid value for this field.
+          "keywordOption": "A String", # Option specifying how keywords are embedded in ad tags. This setting can be used to specify whether keyword placeholders are inserted in placement tags for this site. Publishers can then add keywords to those placeholders.
+        },
+        "creativeSettings": { # Creative Settings # Site-wide creative settings.
+          "iFrameHeader": "A String", # Header text for iFrames for this site. Must be less than or equal to 2000 characters long.
+          "iFrameFooter": "A String", # Header text for iFrames for this site. Must be less than or equal to 2000 characters long.
+        },
+        "videoActiveViewOptOut": True or False, # Whether Verification and ActiveView are disabled for in-stream video creatives on this site. The same setting videoActiveViewOptOut exists on the directory site level -- the opt out occurs if either of these settings are true. These settings are distinct from DirectorySites.settings.activeViewOptOut or Sites.siteSettings.activeViewOptOut which only apply to display ads. However, Accounts.activeViewOptOut opts out both video traffic, as well as display ads, from Verification and ActiveView.
+      },
+      "approved": True or False, # Whether this site is approved.
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this site. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "siteContacts": [ # Site contacts.
+        { # Site Contact
+          "firstName": "A String", # First name of this site contact.
+          "title": "A String", # Title or designation of this site contact.
+          "lastName": "A String", # Last name of this site contact.
+          "address": "A String", # Address of this site contact.
+          "email": "A String", # Email address of this site contact. This is a required field.
+          "phone": "A String", # Primary phone number of this site contact.
+          "contactType": "A String", # Site contact type.
+          "id": "A String", # ID of this site contact. This is a read-only, auto-generated field.
+        },
+      ],
+      "keyName": "A String", # Key name of this site. This is a read-only, auto-generated field.
+      "directorySiteId": "A String", # Directory site associated with this site. This is a required field that is read-only after insertion.
+      "id": "A String", # ID of this site. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this site. This is a read-only field that can be left blank.
+    }
+
+ +
+ update(profileId, body) +
Updates an existing site.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a site.
+    "kind": "dfareporting#site", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#site".
+    "subaccountId": "A String", # Subaccount ID of this site. This is a read-only field that can be left blank.
+    "name": "A String", # Name of this site.This is a required field. Must be less than 128 characters long. If this site is under a subaccount, the name must be unique among sites of the same subaccount. Otherwise, this site is a top-level site, and the name must be unique among top-level sites of the same account.
+    "directorySiteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the directory site. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "siteSettings": { # Site Settings # Site-wide settings.
+      "disableBrandSafeAds": True or False, # Whether brand safe ads are disabled for this site.
+      "activeViewOptOut": True or False, # Whether active view creatives are disabled for this site.
+      "lookbackConfiguration": { # Lookback configuration settings. # Lookback window settings for this site.
+        "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+        "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+      },
+      "disableNewCookie": True or False, # Whether new cookies are disabled for this site.
+      "tagSetting": { # Tag Settings # Configuration settings for dynamic and image floodlight tags.
+        "includeClickThroughUrls": True or False, # Whether static landing page URLs should be included in the tags. This setting applies only to placements.
+        "includeClickTracking": True or False, # Whether click-tracking string should be included in the tags.
+        "additionalKeyValues": "A String", # Additional key-values to be included in tags. Each key-value pair must be of the form key=value, and pairs must be separated by a semicolon (;). Keys and values must not contain commas. For example, id=2;color=red is a valid value for this field.
+        "keywordOption": "A String", # Option specifying how keywords are embedded in ad tags. This setting can be used to specify whether keyword placeholders are inserted in placement tags for this site. Publishers can then add keywords to those placeholders.
+      },
+      "creativeSettings": { # Creative Settings # Site-wide creative settings.
+        "iFrameHeader": "A String", # Header text for iFrames for this site. Must be less than or equal to 2000 characters long.
+        "iFrameFooter": "A String", # Header text for iFrames for this site. Must be less than or equal to 2000 characters long.
+      },
+      "videoActiveViewOptOut": True or False, # Whether Verification and ActiveView are disabled for in-stream video creatives on this site. The same setting videoActiveViewOptOut exists on the directory site level -- the opt out occurs if either of these settings are true. These settings are distinct from DirectorySites.settings.activeViewOptOut or Sites.siteSettings.activeViewOptOut which only apply to display ads. However, Accounts.activeViewOptOut opts out both video traffic, as well as display ads, from Verification and ActiveView.
+    },
+    "approved": True or False, # Whether this site is approved.
+    "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this site. This is a read-only, auto-generated field.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "siteContacts": [ # Site contacts.
+      { # Site Contact
+        "firstName": "A String", # First name of this site contact.
+        "title": "A String", # Title or designation of this site contact.
+        "lastName": "A String", # Last name of this site contact.
+        "address": "A String", # Address of this site contact.
+        "email": "A String", # Email address of this site contact. This is a required field.
+        "phone": "A String", # Primary phone number of this site contact.
+        "contactType": "A String", # Site contact type.
+        "id": "A String", # ID of this site contact. This is a read-only, auto-generated field.
+      },
+    ],
+    "keyName": "A String", # Key name of this site. This is a read-only, auto-generated field.
+    "directorySiteId": "A String", # Directory site associated with this site. This is a required field that is read-only after insertion.
+    "id": "A String", # ID of this site. This is a read-only, auto-generated field.
+    "accountId": "A String", # Account ID of this site. This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a site.
+      "kind": "dfareporting#site", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#site".
+      "subaccountId": "A String", # Subaccount ID of this site. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this site.This is a required field. Must be less than 128 characters long. If this site is under a subaccount, the name must be unique among sites of the same subaccount. Otherwise, this site is a top-level site, and the name must be unique among top-level sites of the same account.
+      "directorySiteIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the directory site. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "siteSettings": { # Site Settings # Site-wide settings.
+        "disableBrandSafeAds": True or False, # Whether brand safe ads are disabled for this site.
+        "activeViewOptOut": True or False, # Whether active view creatives are disabled for this site.
+        "lookbackConfiguration": { # Lookback configuration settings. # Lookback window settings for this site.
+          "clickDuration": 42, # Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+          "postImpressionActivitiesDuration": 42, # Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.
+        },
+        "disableNewCookie": True or False, # Whether new cookies are disabled for this site.
+        "tagSetting": { # Tag Settings # Configuration settings for dynamic and image floodlight tags.
+          "includeClickThroughUrls": True or False, # Whether static landing page URLs should be included in the tags. This setting applies only to placements.
+          "includeClickTracking": True or False, # Whether click-tracking string should be included in the tags.
+          "additionalKeyValues": "A String", # Additional key-values to be included in tags. Each key-value pair must be of the form key=value, and pairs must be separated by a semicolon (;). Keys and values must not contain commas. For example, id=2;color=red is a valid value for this field.
+          "keywordOption": "A String", # Option specifying how keywords are embedded in ad tags. This setting can be used to specify whether keyword placeholders are inserted in placement tags for this site. Publishers can then add keywords to those placeholders.
+        },
+        "creativeSettings": { # Creative Settings # Site-wide creative settings.
+          "iFrameHeader": "A String", # Header text for iFrames for this site. Must be less than or equal to 2000 characters long.
+          "iFrameFooter": "A String", # Header text for iFrames for this site. Must be less than or equal to 2000 characters long.
+        },
+        "videoActiveViewOptOut": True or False, # Whether Verification and ActiveView are disabled for in-stream video creatives on this site. The same setting videoActiveViewOptOut exists on the directory site level -- the opt out occurs if either of these settings are true. These settings are distinct from DirectorySites.settings.activeViewOptOut or Sites.siteSettings.activeViewOptOut which only apply to display ads. However, Accounts.activeViewOptOut opts out both video traffic, as well as display ads, from Verification and ActiveView.
+      },
+      "approved": True or False, # Whether this site is approved.
+      "idDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of this site. This is a read-only, auto-generated field.
+        "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+        "value": "A String", # The value of the dimension.
+        "dimensionName": "A String", # The name of the dimension.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+        "id": "A String", # The ID associated with the value if available.
+      },
+      "siteContacts": [ # Site contacts.
+        { # Site Contact
+          "firstName": "A String", # First name of this site contact.
+          "title": "A String", # Title or designation of this site contact.
+          "lastName": "A String", # Last name of this site contact.
+          "address": "A String", # Address of this site contact.
+          "email": "A String", # Email address of this site contact. This is a required field.
+          "phone": "A String", # Primary phone number of this site contact.
+          "contactType": "A String", # Site contact type.
+          "id": "A String", # ID of this site contact. This is a read-only, auto-generated field.
+        },
+      ],
+      "keyName": "A String", # Key name of this site. This is a read-only, auto-generated field.
+      "directorySiteId": "A String", # Directory site associated with this site. This is a required field that is read-only after insertion.
+      "id": "A String", # ID of this site. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this site. This is a read-only field that can be left blank.
+    }
+
+ + \ No newline at end of file diff --git a/docs/dyn/dfareporting_v2_5.sizes.html b/docs/dyn/dfareporting_v2_5.sizes.html new file mode 100644 index 00000000000..8d731bf742f --- /dev/null +++ b/docs/dyn/dfareporting_v2_5.sizes.html @@ -0,0 +1,165 @@ + + + +

DCM/DFA Reporting And Trafficking API . sizes

+

Instance Methods

+

+ get(profileId, id)

+

Gets one size by ID.

+

+ insert(profileId, body)

+

Inserts a new size.

+

+ list(profileId, iabStandard=None, width=None, ids=None, height=None)

+

Retrieves a list of sizes, possibly filtered.

+

Method Details

+
+ get(profileId, id) +
Gets one size by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Size ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Represents the dimensions of ads, placements, creatives, or creative assets.
+    "width": 42, # Width of this size.
+    "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+    "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+    "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+    "height": 42, # Height of this size.
+  }
+
+ +
+ insert(profileId, body) +
Inserts a new size.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Represents the dimensions of ads, placements, creatives, or creative assets.
+  "width": 42, # Width of this size.
+  "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+  "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+  "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+  "height": 42, # Height of this size.
+}
+
+
+Returns:
+  An object of the form:
+
+    { # Represents the dimensions of ads, placements, creatives, or creative assets.
+    "width": 42, # Width of this size.
+    "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+    "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+    "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+    "height": 42, # Height of this size.
+  }
+
+ +
+ list(profileId, iabStandard=None, width=None, ids=None, height=None) +
Retrieves a list of sizes, possibly filtered.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  iabStandard: boolean, Select only IAB standard sizes.
+  width: integer, Select only sizes with this width.
+  ids: string, Select only sizes with these IDs. (repeated)
+  height: integer, Select only sizes with this height.
+
+Returns:
+  An object of the form:
+
+    { # Size List Response
+    "kind": "dfareporting#sizesListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#sizesListResponse".
+    "sizes": [ # Size collection.
+      { # Represents the dimensions of ads, placements, creatives, or creative assets.
+        "width": 42, # Width of this size.
+        "kind": "dfareporting#size", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#size".
+        "iab": True or False, # IAB standard size. This is a read-only, auto-generated field.
+        "id": "A String", # ID of this size. This is a read-only, auto-generated field.
+        "height": 42, # Height of this size.
+      },
+    ],
+  }
+
+ + \ No newline at end of file diff --git a/docs/dyn/dfareporting_v2_5.subaccounts.html b/docs/dyn/dfareporting_v2_5.subaccounts.html new file mode 100644 index 00000000000..89ca36ddada --- /dev/null +++ b/docs/dyn/dfareporting_v2_5.subaccounts.html @@ -0,0 +1,274 @@ + + + +

DCM/DFA Reporting And Trafficking API . subaccounts

+

Instance Methods

+

+ get(profileId, id)

+

Gets one subaccount by ID.

+

+ insert(profileId, body)

+

Inserts a new subaccount.

+

+ list(profileId, searchString=None, pageToken=None, sortField=None, ids=None, maxResults=None, sortOrder=None)

+

Gets a list of subaccounts, possibly filtered.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

+ patch(profileId, id, body)

+

Updates an existing subaccount. This method supports patch semantics.

+

+ update(profileId, body)

+

Updates an existing subaccount.

+

Method Details

+
+ get(profileId, id) +
Gets one subaccount by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Subaccount ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a DCM subaccount.
+      "kind": "dfareporting#subaccount", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#subaccount".
+      "availablePermissionIds": [ # IDs of the available user role permissions for this subaccount.
+        "A String",
+      ],
+      "id": "A String", # ID of this subaccount. This is a read-only, auto-generated field.
+      "name": "A String", # Name of this subaccount. This is a required field. Must be less than 128 characters long and be unique among subaccounts of the same account.
+      "accountId": "A String", # ID of the account that contains this subaccount. This is a read-only field that can be left blank.
+    }
+
+ +
+ insert(profileId, body) +
Inserts a new subaccount.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a DCM subaccount.
+    "kind": "dfareporting#subaccount", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#subaccount".
+    "availablePermissionIds": [ # IDs of the available user role permissions for this subaccount.
+      "A String",
+    ],
+    "id": "A String", # ID of this subaccount. This is a read-only, auto-generated field.
+    "name": "A String", # Name of this subaccount. This is a required field. Must be less than 128 characters long and be unique among subaccounts of the same account.
+    "accountId": "A String", # ID of the account that contains this subaccount. This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a DCM subaccount.
+      "kind": "dfareporting#subaccount", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#subaccount".
+      "availablePermissionIds": [ # IDs of the available user role permissions for this subaccount.
+        "A String",
+      ],
+      "id": "A String", # ID of this subaccount. This is a read-only, auto-generated field.
+      "name": "A String", # Name of this subaccount. This is a required field. Must be less than 128 characters long and be unique among subaccounts of the same account.
+      "accountId": "A String", # ID of the account that contains this subaccount. This is a read-only field that can be left blank.
+    }
+
+ +
+ list(profileId, searchString=None, pageToken=None, sortField=None, ids=None, maxResults=None, sortOrder=None) +
Gets a list of subaccounts, possibly filtered.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  searchString: string, Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "subaccount*2015" will return objects with names like "subaccount June 2015", "subaccount April 2015", or simply "subaccount 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "subaccount" will match objects with name "my subaccount", "subaccount 2015", or simply "subaccount".
+  pageToken: string, Value of the nextPageToken from the previous result page.
+  sortField: string, Field by which to sort the list.
+    Allowed values
+      ID - 
+      NAME - 
+  ids: string, Select only subaccounts with these IDs. (repeated)
+  maxResults: integer, Maximum number of results to return.
+  sortOrder: string, Order of sorted results, default is ASCENDING.
+    Allowed values
+      ASCENDING - 
+      DESCENDING - 
+
+Returns:
+  An object of the form:
+
+    { # Subaccount List Response
+    "nextPageToken": "A String", # Pagination token to be used for the next list operation.
+    "kind": "dfareporting#subaccountsListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#subaccountsListResponse".
+    "subaccounts": [ # Subaccount collection.
+      { # Contains properties of a DCM subaccount.
+          "kind": "dfareporting#subaccount", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#subaccount".
+          "availablePermissionIds": [ # IDs of the available user role permissions for this subaccount.
+            "A String",
+          ],
+          "id": "A String", # ID of this subaccount. This is a read-only, auto-generated field.
+          "name": "A String", # Name of this subaccount. This is a required field. Must be less than 128 characters long and be unique among subaccounts of the same account.
+          "accountId": "A String", # ID of the account that contains this subaccount. This is a read-only field that can be left blank.
+        },
+    ],
+  }
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    
+
+ +
+ patch(profileId, id, body) +
Updates an existing subaccount. This method supports patch semantics.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Subaccount ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a DCM subaccount.
+    "kind": "dfareporting#subaccount", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#subaccount".
+    "availablePermissionIds": [ # IDs of the available user role permissions for this subaccount.
+      "A String",
+    ],
+    "id": "A String", # ID of this subaccount. This is a read-only, auto-generated field.
+    "name": "A String", # Name of this subaccount. This is a required field. Must be less than 128 characters long and be unique among subaccounts of the same account.
+    "accountId": "A String", # ID of the account that contains this subaccount. This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a DCM subaccount.
+      "kind": "dfareporting#subaccount", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#subaccount".
+      "availablePermissionIds": [ # IDs of the available user role permissions for this subaccount.
+        "A String",
+      ],
+      "id": "A String", # ID of this subaccount. This is a read-only, auto-generated field.
+      "name": "A String", # Name of this subaccount. This is a required field. Must be less than 128 characters long and be unique among subaccounts of the same account.
+      "accountId": "A String", # ID of the account that contains this subaccount. This is a read-only field that can be left blank.
+    }
+
+ +
+ update(profileId, body) +
Updates an existing subaccount.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of a DCM subaccount.
+    "kind": "dfareporting#subaccount", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#subaccount".
+    "availablePermissionIds": [ # IDs of the available user role permissions for this subaccount.
+      "A String",
+    ],
+    "id": "A String", # ID of this subaccount. This is a read-only, auto-generated field.
+    "name": "A String", # Name of this subaccount. This is a required field. Must be less than 128 characters long and be unique among subaccounts of the same account.
+    "accountId": "A String", # ID of the account that contains this subaccount. This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a DCM subaccount.
+      "kind": "dfareporting#subaccount", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#subaccount".
+      "availablePermissionIds": [ # IDs of the available user role permissions for this subaccount.
+        "A String",
+      ],
+      "id": "A String", # ID of this subaccount. This is a read-only, auto-generated field.
+      "name": "A String", # Name of this subaccount. This is a required field. Must be less than 128 characters long and be unique among subaccounts of the same account.
+      "accountId": "A String", # ID of the account that contains this subaccount. This is a read-only field that can be left blank.
+    }
+
+ + \ No newline at end of file diff --git a/docs/dyn/dfareporting_v2_5.targetableRemarketingLists.html b/docs/dyn/dfareporting_v2_5.targetableRemarketingLists.html new file mode 100644 index 00000000000..d1a6824897c --- /dev/null +++ b/docs/dyn/dfareporting_v2_5.targetableRemarketingLists.html @@ -0,0 +1,187 @@ + + + +

DCM/DFA Reporting And Trafficking API . targetableRemarketingLists

+

Instance Methods

+

+ get(profileId, id)

+

Gets one remarketing list by ID.

+

+ list(profileId, advertiserId, name=None, pageToken=None, sortField=None, maxResults=None, active=None, sortOrder=None)

+

Retrieves a list of targetable remarketing lists, possibly filtered.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

Method Details

+
+ get(profileId, id) +
Gets one remarketing list by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, Remarketing list ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a targetable remarketing list. Remarketing enables you to create lists of users who have performed specific actions on a site, then target ads to members of those lists. This resource is a read-only view of a remarketing list to be used to faciliate targeting ads to specific lists. Remarketing lists that are owned by your advertisers and those that are shared to your advertisers or account are accessible via this resource. To manage remarketing lists that are owned by your advertisers, use the RemarketingLists resource.
+    "kind": "dfareporting#targetableRemarketingList", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#targetableRemarketingList".
+    "subaccountId": "A String", # Subaccount ID of this remarketing list. This is a read-only, auto-generated field that is only returned in GET requests.
+    "description": "A String", # Targetable remarketing list description.
+    "listSize": "A String", # Number of users currently in the list. This is a read-only field.
+    "lifeSpan": "A String", # Number of days that a user should remain in the targetable remarketing list without an impression.
+    "name": "A String", # Name of the targetable remarketing list. Is no greater than 128 characters long.
+    "advertiserId": "A String", # Dimension value for the advertiser ID that owns this targetable remarketing list.
+    "listSource": "A String", # Product from which this targetable remarketing list was originated.
+    "active": True or False, # Whether this targetable remarketing list is active.
+    "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser.
+      "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+      "value": "A String", # The value of the dimension.
+      "dimensionName": "A String", # The name of the dimension.
+      "etag": "A String", # The eTag of this response for caching purposes.
+      "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+      "id": "A String", # The ID associated with the value if available.
+    },
+    "id": "A String", # Targetable remarketing list ID.
+    "accountId": "A String", # Account ID of this remarketing list. This is a read-only, auto-generated field that is only returned in GET requests.
+  }
+
+ +
+ list(profileId, advertiserId, name=None, pageToken=None, sortField=None, maxResults=None, active=None, sortOrder=None) +
Retrieves a list of targetable remarketing lists, possibly filtered.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  advertiserId: string, Select only targetable remarketing lists targetable by these advertisers. (required)
+  name: string, Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "remarketing list*2015" will return objects with names like "remarketing list June 2015", "remarketing list April 2015", or simply "remarketing list 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "remarketing list" will match objects with name "my remarketing list", "remarketing list 2015", or simply "remarketing list".
+  pageToken: string, Value of the nextPageToken from the previous result page.
+  sortField: string, Field by which to sort the list.
+    Allowed values
+      ID - 
+      NAME - 
+  maxResults: integer, Maximum number of results to return.
+  active: boolean, Select only active or only inactive targetable remarketing lists.
+  sortOrder: string, Order of sorted results, default is ASCENDING.
+    Allowed values
+      ASCENDING - 
+      DESCENDING - 
+
+Returns:
+  An object of the form:
+
+    { # Targetable remarketing list response
+    "nextPageToken": "A String", # Pagination token to be used for the next list operation.
+    "kind": "dfareporting#targetableRemarketingListsListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#targetableRemarketingListsListResponse".
+    "targetableRemarketingLists": [ # Targetable remarketing list collection.
+      { # Contains properties of a targetable remarketing list. Remarketing enables you to create lists of users who have performed specific actions on a site, then target ads to members of those lists. This resource is a read-only view of a remarketing list to be used to faciliate targeting ads to specific lists. Remarketing lists that are owned by your advertisers and those that are shared to your advertisers or account are accessible via this resource. To manage remarketing lists that are owned by your advertisers, use the RemarketingLists resource.
+        "kind": "dfareporting#targetableRemarketingList", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#targetableRemarketingList".
+        "subaccountId": "A String", # Subaccount ID of this remarketing list. This is a read-only, auto-generated field that is only returned in GET requests.
+        "description": "A String", # Targetable remarketing list description.
+        "listSize": "A String", # Number of users currently in the list. This is a read-only field.
+        "lifeSpan": "A String", # Number of days that a user should remain in the targetable remarketing list without an impression.
+        "name": "A String", # Name of the targetable remarketing list. Is no greater than 128 characters long.
+        "advertiserId": "A String", # Dimension value for the advertiser ID that owns this targetable remarketing list.
+        "listSource": "A String", # Product from which this targetable remarketing list was originated.
+        "active": True or False, # Whether this targetable remarketing list is active.
+        "advertiserIdDimensionValue": { # Represents a DimensionValue resource. # Dimension value for the ID of the advertiser.
+          "kind": "dfareporting#dimensionValue", # The kind of resource this is, in this case dfareporting#dimensionValue.
+          "value": "A String", # The value of the dimension.
+          "dimensionName": "A String", # The name of the dimension.
+          "etag": "A String", # The eTag of this response for caching purposes.
+          "matchType": "A String", # Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.
+          "id": "A String", # The ID associated with the value if available.
+        },
+        "id": "A String", # Targetable remarketing list ID.
+        "accountId": "A String", # Account ID of this remarketing list. This is a read-only, auto-generated field that is only returned in GET requests.
+      },
+    ],
+  }
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    
+
+ + \ No newline at end of file diff --git a/docs/dyn/dfareporting_v2_5.userProfiles.html b/docs/dyn/dfareporting_v2_5.userProfiles.html new file mode 100644 index 00000000000..015aa623885 --- /dev/null +++ b/docs/dyn/dfareporting_v2_5.userProfiles.html @@ -0,0 +1,133 @@ + + + +

DCM/DFA Reporting And Trafficking API . userProfiles

+

Instance Methods

+

+ get(profileId)

+

Gets one user profile by ID.

+

+ list()

+

Retrieves list of user profiles for a user.

+

Method Details

+
+ get(profileId) +
Gets one user profile by ID.
+
+Args:
+  profileId: string, The user profile ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Represents a UserProfile resource.
+    "userName": "A String", # The user name.
+    "kind": "dfareporting#userProfile", # The kind of resource this is, in this case dfareporting#userProfile.
+    "subAccountId": "A String", # The sub account ID this profile belongs to if applicable.
+    "accountName": "A String", # The account name this profile belongs to.
+    "etag": "A String", # The eTag of this response for caching purposes.
+    "subAccountName": "A String", # The sub account name this profile belongs to if applicable.
+    "profileId": "A String", # The unique ID of the user profile.
+    "accountId": "A String", # The account ID to which this profile belongs.
+  }
+
+ +
+ list() +
Retrieves list of user profiles for a user.
+
+Args:
+
+Returns:
+  An object of the form:
+
+    { # Represents the list of user profiles.
+    "items": [ # The user profiles returned in this response.
+      { # Represents a UserProfile resource.
+        "userName": "A String", # The user name.
+        "kind": "dfareporting#userProfile", # The kind of resource this is, in this case dfareporting#userProfile.
+        "subAccountId": "A String", # The sub account ID this profile belongs to if applicable.
+        "accountName": "A String", # The account name this profile belongs to.
+        "etag": "A String", # The eTag of this response for caching purposes.
+        "subAccountName": "A String", # The sub account name this profile belongs to if applicable.
+        "profileId": "A String", # The unique ID of the user profile.
+        "accountId": "A String", # The account ID to which this profile belongs.
+      },
+    ],
+    "kind": "dfareporting#userProfileList", # The kind of list this is, in this case dfareporting#userProfileList.
+    "etag": "A String", # The eTag of this response for caching purposes.
+  }
+
+ + \ No newline at end of file diff --git a/docs/dyn/dfareporting_v2_5.userRolePermissionGroups.html b/docs/dyn/dfareporting_v2_5.userRolePermissionGroups.html new file mode 100644 index 00000000000..da697d53991 --- /dev/null +++ b/docs/dyn/dfareporting_v2_5.userRolePermissionGroups.html @@ -0,0 +1,124 @@ + + + +

DCM/DFA Reporting And Trafficking API . userRolePermissionGroups

+

Instance Methods

+

+ get(profileId, id)

+

Gets one user role permission group by ID.

+

+ list(profileId)

+

Gets a list of all supported user role permission groups.

+

Method Details

+
+ get(profileId, id) +
Gets one user role permission group by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, User role permission group ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Represents a grouping of related user role permissions.
+    "kind": "dfareporting#userRolePermissionGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#userRolePermissionGroup".
+    "id": "A String", # ID of this user role permission.
+    "name": "A String", # Name of this user role permission group.
+  }
+
+ +
+ list(profileId) +
Gets a list of all supported user role permission groups.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+
+Returns:
+  An object of the form:
+
+    { # User Role Permission Group List Response
+    "userRolePermissionGroups": [ # User role permission group collection.
+      { # Represents a grouping of related user role permissions.
+        "kind": "dfareporting#userRolePermissionGroup", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#userRolePermissionGroup".
+        "id": "A String", # ID of this user role permission.
+        "name": "A String", # Name of this user role permission group.
+      },
+    ],
+    "kind": "dfareporting#userRolePermissionGroupsListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#userRolePermissionGroupsListResponse".
+  }
+
+ + \ No newline at end of file diff --git a/docs/dyn/dfareporting_v2_5.userRolePermissions.html b/docs/dyn/dfareporting_v2_5.userRolePermissions.html new file mode 100644 index 00000000000..0f7e48071ff --- /dev/null +++ b/docs/dyn/dfareporting_v2_5.userRolePermissions.html @@ -0,0 +1,129 @@ + + + +

DCM/DFA Reporting And Trafficking API . userRolePermissions

+

Instance Methods

+

+ get(profileId, id)

+

Gets one user role permission by ID.

+

+ list(profileId, ids=None)

+

Gets a list of user role permissions, possibly filtered.

+

Method Details

+
+ get(profileId, id) +
Gets one user role permission by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, User role permission ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of a user role permission.
+    "permissionGroupId": "A String", # ID of the permission group that this user role permission belongs to.
+    "kind": "dfareporting#userRolePermission", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#userRolePermission".
+    "availability": "A String", # Levels of availability for a user role permission.
+    "name": "A String", # Name of this user role permission.
+    "id": "A String", # ID of this user role permission.
+  }
+
+ +
+ list(profileId, ids=None) +
Gets a list of user role permissions, possibly filtered.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  ids: string, Select only user role permissions with these IDs. (repeated)
+
+Returns:
+  An object of the form:
+
+    { # User Role Permission List Response
+    "userRolePermissions": [ # User role permission collection.
+      { # Contains properties of a user role permission.
+        "permissionGroupId": "A String", # ID of the permission group that this user role permission belongs to.
+        "kind": "dfareporting#userRolePermission", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#userRolePermission".
+        "availability": "A String", # Levels of availability for a user role permission.
+        "name": "A String", # Name of this user role permission.
+        "id": "A String", # ID of this user role permission.
+      },
+    ],
+    "kind": "dfareporting#userRolePermissionsListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#userRolePermissionsListResponse".
+  }
+
+ + \ No newline at end of file diff --git a/docs/dyn/dfareporting_v2_5.userRoles.html b/docs/dyn/dfareporting_v2_5.userRoles.html new file mode 100644 index 00000000000..21fd5111644 --- /dev/null +++ b/docs/dyn/dfareporting_v2_5.userRoles.html @@ -0,0 +1,361 @@ + + + +

DCM/DFA Reporting And Trafficking API . userRoles

+

Instance Methods

+

+ delete(profileId, id)

+

Deletes an existing user role.

+

+ get(profileId, id)

+

Gets one user role by ID.

+

+ insert(profileId, body)

+

Inserts a new user role.

+

+ list(profileId, searchString=None, subaccountId=None, pageToken=None, ids=None, maxResults=None, accountUserRoleOnly=None, sortOrder=None, sortField=None)

+

Retrieves a list of user roles, possibly filtered.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

+ patch(profileId, id, body)

+

Updates an existing user role. This method supports patch semantics.

+

+ update(profileId, body)

+

Updates an existing user role.

+

Method Details

+
+ delete(profileId, id) +
Deletes an existing user role.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, User role ID. (required)
+
+
+ +
+ get(profileId, id) +
Gets one user role by ID.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, User role ID. (required)
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of auser role, which is used to manage user access.
+      "defaultUserRole": True or False, # Whether this is a default user role. Default user roles are created by the system for the account/subaccount and cannot be modified or deleted. Each default user role comes with a basic set of preassigned permissions.
+      "kind": "dfareporting#userRole", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#userRole".
+      "subaccountId": "A String", # Subaccount ID of this user role. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this user role. This is a required field. Must be less than 256 characters long. If this user role is under a subaccount, the name must be unique among sites of the same subaccount. Otherwise, this user role is a top-level user role, and the name must be unique among top-level user roles of the same account.
+      "parentUserRoleId": "A String", # ID of the user role that this user role is based on or copied from. This is a required field.
+      "permissions": [ # List of permissions associated with this user role.
+        { # Contains properties of a user role permission.
+          "permissionGroupId": "A String", # ID of the permission group that this user role permission belongs to.
+          "kind": "dfareporting#userRolePermission", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#userRolePermission".
+          "availability": "A String", # Levels of availability for a user role permission.
+          "name": "A String", # Name of this user role permission.
+          "id": "A String", # ID of this user role permission.
+        },
+      ],
+      "id": "A String", # ID of this user role. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this user role. This is a read-only field that can be left blank.
+    }
+
+ +
+ insert(profileId, body) +
Inserts a new user role.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of auser role, which is used to manage user access.
+    "defaultUserRole": True or False, # Whether this is a default user role. Default user roles are created by the system for the account/subaccount and cannot be modified or deleted. Each default user role comes with a basic set of preassigned permissions.
+    "kind": "dfareporting#userRole", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#userRole".
+    "subaccountId": "A String", # Subaccount ID of this user role. This is a read-only field that can be left blank.
+    "name": "A String", # Name of this user role. This is a required field. Must be less than 256 characters long. If this user role is under a subaccount, the name must be unique among sites of the same subaccount. Otherwise, this user role is a top-level user role, and the name must be unique among top-level user roles of the same account.
+    "parentUserRoleId": "A String", # ID of the user role that this user role is based on or copied from. This is a required field.
+    "permissions": [ # List of permissions associated with this user role.
+      { # Contains properties of a user role permission.
+        "permissionGroupId": "A String", # ID of the permission group that this user role permission belongs to.
+        "kind": "dfareporting#userRolePermission", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#userRolePermission".
+        "availability": "A String", # Levels of availability for a user role permission.
+        "name": "A String", # Name of this user role permission.
+        "id": "A String", # ID of this user role permission.
+      },
+    ],
+    "id": "A String", # ID of this user role. This is a read-only, auto-generated field.
+    "accountId": "A String", # Account ID of this user role. This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of auser role, which is used to manage user access.
+      "defaultUserRole": True or False, # Whether this is a default user role. Default user roles are created by the system for the account/subaccount and cannot be modified or deleted. Each default user role comes with a basic set of preassigned permissions.
+      "kind": "dfareporting#userRole", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#userRole".
+      "subaccountId": "A String", # Subaccount ID of this user role. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this user role. This is a required field. Must be less than 256 characters long. If this user role is under a subaccount, the name must be unique among sites of the same subaccount. Otherwise, this user role is a top-level user role, and the name must be unique among top-level user roles of the same account.
+      "parentUserRoleId": "A String", # ID of the user role that this user role is based on or copied from. This is a required field.
+      "permissions": [ # List of permissions associated with this user role.
+        { # Contains properties of a user role permission.
+          "permissionGroupId": "A String", # ID of the permission group that this user role permission belongs to.
+          "kind": "dfareporting#userRolePermission", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#userRolePermission".
+          "availability": "A String", # Levels of availability for a user role permission.
+          "name": "A String", # Name of this user role permission.
+          "id": "A String", # ID of this user role permission.
+        },
+      ],
+      "id": "A String", # ID of this user role. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this user role. This is a read-only field that can be left blank.
+    }
+
+ +
+ list(profileId, searchString=None, subaccountId=None, pageToken=None, ids=None, maxResults=None, accountUserRoleOnly=None, sortOrder=None, sortField=None) +
Retrieves a list of user roles, possibly filtered.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  searchString: string, Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "userrole*2015" will return objects with names like "userrole June 2015", "userrole April 2015", or simply "userrole 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "userrole" will match objects with name "my userrole", "userrole 2015", or simply "userrole".
+  subaccountId: string, Select only user roles that belong to this subaccount.
+  pageToken: string, Value of the nextPageToken from the previous result page.
+  ids: string, Select only user roles with the specified IDs. (repeated)
+  maxResults: integer, Maximum number of results to return.
+  accountUserRoleOnly: boolean, Select only account level user roles not associated with any specific subaccount.
+  sortOrder: string, Order of sorted results, default is ASCENDING.
+    Allowed values
+      ASCENDING - 
+      DESCENDING - 
+  sortField: string, Field by which to sort the list.
+    Allowed values
+      ID - 
+      NAME - 
+
+Returns:
+  An object of the form:
+
+    { # User Role List Response
+    "nextPageToken": "A String", # Pagination token to be used for the next list operation.
+    "kind": "dfareporting#userRolesListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#userRolesListResponse".
+    "userRoles": [ # User role collection.
+      { # Contains properties of auser role, which is used to manage user access.
+          "defaultUserRole": True or False, # Whether this is a default user role. Default user roles are created by the system for the account/subaccount and cannot be modified or deleted. Each default user role comes with a basic set of preassigned permissions.
+          "kind": "dfareporting#userRole", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#userRole".
+          "subaccountId": "A String", # Subaccount ID of this user role. This is a read-only field that can be left blank.
+          "name": "A String", # Name of this user role. This is a required field. Must be less than 256 characters long. If this user role is under a subaccount, the name must be unique among sites of the same subaccount. Otherwise, this user role is a top-level user role, and the name must be unique among top-level user roles of the same account.
+          "parentUserRoleId": "A String", # ID of the user role that this user role is based on or copied from. This is a required field.
+          "permissions": [ # List of permissions associated with this user role.
+            { # Contains properties of a user role permission.
+              "permissionGroupId": "A String", # ID of the permission group that this user role permission belongs to.
+              "kind": "dfareporting#userRolePermission", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#userRolePermission".
+              "availability": "A String", # Levels of availability for a user role permission.
+              "name": "A String", # Name of this user role permission.
+              "id": "A String", # ID of this user role permission.
+            },
+          ],
+          "id": "A String", # ID of this user role. This is a read-only, auto-generated field.
+          "accountId": "A String", # Account ID of this user role. This is a read-only field that can be left blank.
+        },
+    ],
+  }
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    
+
+ +
+ patch(profileId, id, body) +
Updates an existing user role. This method supports patch semantics.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  id: string, User role ID. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of auser role, which is used to manage user access.
+    "defaultUserRole": True or False, # Whether this is a default user role. Default user roles are created by the system for the account/subaccount and cannot be modified or deleted. Each default user role comes with a basic set of preassigned permissions.
+    "kind": "dfareporting#userRole", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#userRole".
+    "subaccountId": "A String", # Subaccount ID of this user role. This is a read-only field that can be left blank.
+    "name": "A String", # Name of this user role. This is a required field. Must be less than 256 characters long. If this user role is under a subaccount, the name must be unique among sites of the same subaccount. Otherwise, this user role is a top-level user role, and the name must be unique among top-level user roles of the same account.
+    "parentUserRoleId": "A String", # ID of the user role that this user role is based on or copied from. This is a required field.
+    "permissions": [ # List of permissions associated with this user role.
+      { # Contains properties of a user role permission.
+        "permissionGroupId": "A String", # ID of the permission group that this user role permission belongs to.
+        "kind": "dfareporting#userRolePermission", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#userRolePermission".
+        "availability": "A String", # Levels of availability for a user role permission.
+        "name": "A String", # Name of this user role permission.
+        "id": "A String", # ID of this user role permission.
+      },
+    ],
+    "id": "A String", # ID of this user role. This is a read-only, auto-generated field.
+    "accountId": "A String", # Account ID of this user role. This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of auser role, which is used to manage user access.
+      "defaultUserRole": True or False, # Whether this is a default user role. Default user roles are created by the system for the account/subaccount and cannot be modified or deleted. Each default user role comes with a basic set of preassigned permissions.
+      "kind": "dfareporting#userRole", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#userRole".
+      "subaccountId": "A String", # Subaccount ID of this user role. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this user role. This is a required field. Must be less than 256 characters long. If this user role is under a subaccount, the name must be unique among sites of the same subaccount. Otherwise, this user role is a top-level user role, and the name must be unique among top-level user roles of the same account.
+      "parentUserRoleId": "A String", # ID of the user role that this user role is based on or copied from. This is a required field.
+      "permissions": [ # List of permissions associated with this user role.
+        { # Contains properties of a user role permission.
+          "permissionGroupId": "A String", # ID of the permission group that this user role permission belongs to.
+          "kind": "dfareporting#userRolePermission", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#userRolePermission".
+          "availability": "A String", # Levels of availability for a user role permission.
+          "name": "A String", # Name of this user role permission.
+          "id": "A String", # ID of this user role permission.
+        },
+      ],
+      "id": "A String", # ID of this user role. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this user role. This is a read-only field that can be left blank.
+    }
+
+ +
+ update(profileId, body) +
Updates an existing user role.
+
+Args:
+  profileId: string, User profile ID associated with this request. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Contains properties of auser role, which is used to manage user access.
+    "defaultUserRole": True or False, # Whether this is a default user role. Default user roles are created by the system for the account/subaccount and cannot be modified or deleted. Each default user role comes with a basic set of preassigned permissions.
+    "kind": "dfareporting#userRole", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#userRole".
+    "subaccountId": "A String", # Subaccount ID of this user role. This is a read-only field that can be left blank.
+    "name": "A String", # Name of this user role. This is a required field. Must be less than 256 characters long. If this user role is under a subaccount, the name must be unique among sites of the same subaccount. Otherwise, this user role is a top-level user role, and the name must be unique among top-level user roles of the same account.
+    "parentUserRoleId": "A String", # ID of the user role that this user role is based on or copied from. This is a required field.
+    "permissions": [ # List of permissions associated with this user role.
+      { # Contains properties of a user role permission.
+        "permissionGroupId": "A String", # ID of the permission group that this user role permission belongs to.
+        "kind": "dfareporting#userRolePermission", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#userRolePermission".
+        "availability": "A String", # Levels of availability for a user role permission.
+        "name": "A String", # Name of this user role permission.
+        "id": "A String", # ID of this user role permission.
+      },
+    ],
+    "id": "A String", # ID of this user role. This is a read-only, auto-generated field.
+    "accountId": "A String", # Account ID of this user role. This is a read-only field that can be left blank.
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Contains properties of auser role, which is used to manage user access.
+      "defaultUserRole": True or False, # Whether this is a default user role. Default user roles are created by the system for the account/subaccount and cannot be modified or deleted. Each default user role comes with a basic set of preassigned permissions.
+      "kind": "dfareporting#userRole", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#userRole".
+      "subaccountId": "A String", # Subaccount ID of this user role. This is a read-only field that can be left blank.
+      "name": "A String", # Name of this user role. This is a required field. Must be less than 256 characters long. If this user role is under a subaccount, the name must be unique among sites of the same subaccount. Otherwise, this user role is a top-level user role, and the name must be unique among top-level user roles of the same account.
+      "parentUserRoleId": "A String", # ID of the user role that this user role is based on or copied from. This is a required field.
+      "permissions": [ # List of permissions associated with this user role.
+        { # Contains properties of a user role permission.
+          "permissionGroupId": "A String", # ID of the permission group that this user role permission belongs to.
+          "kind": "dfareporting#userRolePermission", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#userRolePermission".
+          "availability": "A String", # Levels of availability for a user role permission.
+          "name": "A String", # Name of this user role permission.
+          "id": "A String", # ID of this user role permission.
+        },
+      ],
+      "id": "A String", # ID of this user role. This is a read-only, auto-generated field.
+      "accountId": "A String", # Account ID of this user role. This is a read-only field that can be left blank.
+    }
+
+ + \ No newline at end of file diff --git a/docs/dyn/doubleclicksearch_v2.conversion.html b/docs/dyn/doubleclicksearch_v2.conversion.html index 19b91a940c4..3517d55a0b2 100644 --- a/docs/dyn/doubleclicksearch_v2.conversion.html +++ b/docs/dyn/doubleclicksearch_v2.conversion.html @@ -121,11 +121,11 @@

Method Details

], "adGroupId": "A String", # DS ad group ID. "segmentationName": "A String", # The friendly segmentation identifier (for example, DoubleClick Search Floodlight activity name). - "attributionModel": "A String", # This field is ignored. + "attributionModel": "A String", # Available to advertisers only after contacting DoubleClick Search customer support. "campaignId": "A String", # DS campaign ID. - "revenueMicros": "A String", # The revenue amount of this TRANSACTION conversion, in micros (value multiplied by 1000, no decimal). For example, to specify a revenue value of "10" enter "10000" in your request. + "revenueMicros": "A String", # The revenue amount of this TRANSACTION conversion, in micros (value multiplied by 1000000, no decimal). For example, to specify a revenue value of "10" enter "10000000" (10 million) in your request. "advertiserId": "A String", # DS advertiser ID. - "countMillis": "A String", # This field is ignored. + "countMillis": "A String", # Available to advertisers only after contacting DoubleClick Search customer support. "conversionTimestamp": "A String", # The time at which the conversion took place, in epoch millis UTC. "clickId": "A String", # DS click ID for the conversion. "dsConversionId": "A String", # ID that DoubleClick Search generates for each conversion. @@ -183,11 +183,11 @@

Method Details

], "adGroupId": "A String", # DS ad group ID. "segmentationName": "A String", # The friendly segmentation identifier (for example, DoubleClick Search Floodlight activity name). - "attributionModel": "A String", # This field is ignored. + "attributionModel": "A String", # Available to advertisers only after contacting DoubleClick Search customer support. "campaignId": "A String", # DS campaign ID. - "revenueMicros": "A String", # The revenue amount of this TRANSACTION conversion, in micros (value multiplied by 1000, no decimal). For example, to specify a revenue value of "10" enter "10000" in your request. + "revenueMicros": "A String", # The revenue amount of this TRANSACTION conversion, in micros (value multiplied by 1000000, no decimal). For example, to specify a revenue value of "10" enter "10000000" (10 million) in your request. "advertiserId": "A String", # DS advertiser ID. - "countMillis": "A String", # This field is ignored. + "countMillis": "A String", # Available to advertisers only after contacting DoubleClick Search customer support. "conversionTimestamp": "A String", # The time at which the conversion took place, in epoch millis UTC. "clickId": "A String", # DS click ID for the conversion. "dsConversionId": "A String", # ID that DoubleClick Search generates for each conversion. @@ -240,11 +240,11 @@

Method Details

], "adGroupId": "A String", # DS ad group ID. "segmentationName": "A String", # The friendly segmentation identifier (for example, DoubleClick Search Floodlight activity name). - "attributionModel": "A String", # This field is ignored. + "attributionModel": "A String", # Available to advertisers only after contacting DoubleClick Search customer support. "campaignId": "A String", # DS campaign ID. - "revenueMicros": "A String", # The revenue amount of this TRANSACTION conversion, in micros (value multiplied by 1000, no decimal). For example, to specify a revenue value of "10" enter "10000" in your request. + "revenueMicros": "A String", # The revenue amount of this TRANSACTION conversion, in micros (value multiplied by 1000000, no decimal). For example, to specify a revenue value of "10" enter "10000000" (10 million) in your request. "advertiserId": "A String", # DS advertiser ID. - "countMillis": "A String", # This field is ignored. + "countMillis": "A String", # Available to advertisers only after contacting DoubleClick Search customer support. "conversionTimestamp": "A String", # The time at which the conversion took place, in epoch millis UTC. "clickId": "A String", # DS click ID for the conversion. "dsConversionId": "A String", # ID that DoubleClick Search generates for each conversion. @@ -309,11 +309,11 @@

Method Details

], "adGroupId": "A String", # DS ad group ID. "segmentationName": "A String", # The friendly segmentation identifier (for example, DoubleClick Search Floodlight activity name). - "attributionModel": "A String", # This field is ignored. + "attributionModel": "A String", # Available to advertisers only after contacting DoubleClick Search customer support. "campaignId": "A String", # DS campaign ID. - "revenueMicros": "A String", # The revenue amount of this TRANSACTION conversion, in micros (value multiplied by 1000, no decimal). For example, to specify a revenue value of "10" enter "10000" in your request. + "revenueMicros": "A String", # The revenue amount of this TRANSACTION conversion, in micros (value multiplied by 1000000, no decimal). For example, to specify a revenue value of "10" enter "10000000" (10 million) in your request. "advertiserId": "A String", # DS advertiser ID. - "countMillis": "A String", # This field is ignored. + "countMillis": "A String", # Available to advertisers only after contacting DoubleClick Search customer support. "conversionTimestamp": "A String", # The time at which the conversion took place, in epoch millis UTC. "clickId": "A String", # DS click ID for the conversion. "dsConversionId": "A String", # ID that DoubleClick Search generates for each conversion. @@ -366,11 +366,11 @@

Method Details

], "adGroupId": "A String", # DS ad group ID. "segmentationName": "A String", # The friendly segmentation identifier (for example, DoubleClick Search Floodlight activity name). - "attributionModel": "A String", # This field is ignored. + "attributionModel": "A String", # Available to advertisers only after contacting DoubleClick Search customer support. "campaignId": "A String", # DS campaign ID. - "revenueMicros": "A String", # The revenue amount of this TRANSACTION conversion, in micros (value multiplied by 1000, no decimal). For example, to specify a revenue value of "10" enter "10000" in your request. + "revenueMicros": "A String", # The revenue amount of this TRANSACTION conversion, in micros (value multiplied by 1000000, no decimal). For example, to specify a revenue value of "10" enter "10000000" (10 million) in your request. "advertiserId": "A String", # DS advertiser ID. - "countMillis": "A String", # This field is ignored. + "countMillis": "A String", # Available to advertisers only after contacting DoubleClick Search customer support. "conversionTimestamp": "A String", # The time at which the conversion took place, in epoch millis UTC. "clickId": "A String", # DS click ID for the conversion. "dsConversionId": "A String", # ID that DoubleClick Search generates for each conversion. @@ -428,11 +428,11 @@

Method Details

], "adGroupId": "A String", # DS ad group ID. "segmentationName": "A String", # The friendly segmentation identifier (for example, DoubleClick Search Floodlight activity name). - "attributionModel": "A String", # This field is ignored. + "attributionModel": "A String", # Available to advertisers only after contacting DoubleClick Search customer support. "campaignId": "A String", # DS campaign ID. - "revenueMicros": "A String", # The revenue amount of this TRANSACTION conversion, in micros (value multiplied by 1000, no decimal). For example, to specify a revenue value of "10" enter "10000" in your request. + "revenueMicros": "A String", # The revenue amount of this TRANSACTION conversion, in micros (value multiplied by 1000000, no decimal). For example, to specify a revenue value of "10" enter "10000000" (10 million) in your request. "advertiserId": "A String", # DS advertiser ID. - "countMillis": "A String", # This field is ignored. + "countMillis": "A String", # Available to advertisers only after contacting DoubleClick Search customer support. "conversionTimestamp": "A String", # The time at which the conversion took place, in epoch millis UTC. "clickId": "A String", # DS click ID for the conversion. "dsConversionId": "A String", # ID that DoubleClick Search generates for each conversion. @@ -485,11 +485,11 @@

Method Details

], "adGroupId": "A String", # DS ad group ID. "segmentationName": "A String", # The friendly segmentation identifier (for example, DoubleClick Search Floodlight activity name). - "attributionModel": "A String", # This field is ignored. + "attributionModel": "A String", # Available to advertisers only after contacting DoubleClick Search customer support. "campaignId": "A String", # DS campaign ID. - "revenueMicros": "A String", # The revenue amount of this TRANSACTION conversion, in micros (value multiplied by 1000, no decimal). For example, to specify a revenue value of "10" enter "10000" in your request. + "revenueMicros": "A String", # The revenue amount of this TRANSACTION conversion, in micros (value multiplied by 1000000, no decimal). For example, to specify a revenue value of "10" enter "10000000" (10 million) in your request. "advertiserId": "A String", # DS advertiser ID. - "countMillis": "A String", # This field is ignored. + "countMillis": "A String", # Available to advertisers only after contacting DoubleClick Search customer support. "conversionTimestamp": "A String", # The time at which the conversion took place, in epoch millis UTC. "clickId": "A String", # DS click ID for the conversion. "dsConversionId": "A String", # ID that DoubleClick Search generates for each conversion. diff --git a/docs/dyn/drive_v3.changes.html b/docs/dyn/drive_v3.changes.html index 1c2bf293aa2..43855b5270b 100644 --- a/docs/dyn/drive_v3.changes.html +++ b/docs/dyn/drive_v3.changes.html @@ -131,6 +131,7 @@

Method Details

"modifiedByMeTime": "A String", # The last time the file was modified by the user (RFC 3339 date-time). "thumbnailLink": "A String", # A short-lived link to the file's thumbnail, if available. Typically lasts on the order of hours. "explicitlyTrashed": True or False, # Whether the file has been explicitly trashed, as opposed to recursively trashed from a parent folder. + "isAppAuthorized": True or False, # Whether the file was created or opened by the requesting app. "writersCanShare": True or False, # Whether users with only writer permission can modify the file's permissions. "ownedByMe": True or False, # Whether the user owns the file. "viewedByMeTime": "A String", # The last time the file was viewed by the user (RFC 3339 date-time). diff --git a/docs/dyn/drive_v3.files.html b/docs/dyn/drive_v3.files.html index fba0cd7e7e2..4cb58e67a18 100644 --- a/docs/dyn/drive_v3.files.html +++ b/docs/dyn/drive_v3.files.html @@ -133,6 +133,7 @@

Method Details

"modifiedByMeTime": "A String", # The last time the file was modified by the user (RFC 3339 date-time). "thumbnailLink": "A String", # A short-lived link to the file's thumbnail, if available. Typically lasts on the order of hours. "explicitlyTrashed": True or False, # Whether the file has been explicitly trashed, as opposed to recursively trashed from a parent folder. + "isAppAuthorized": True or False, # Whether the file was created or opened by the requesting app. "writersCanShare": True or False, # Whether users with only writer permission can modify the file's permissions. "ownedByMe": True or False, # Whether the user owns the file. "viewedByMeTime": "A String", # The last time the file was viewed by the user (RFC 3339 date-time). @@ -287,6 +288,7 @@

Method Details

"modifiedByMeTime": "A String", # The last time the file was modified by the user (RFC 3339 date-time). "thumbnailLink": "A String", # A short-lived link to the file's thumbnail, if available. Typically lasts on the order of hours. "explicitlyTrashed": True or False, # Whether the file has been explicitly trashed, as opposed to recursively trashed from a parent folder. + "isAppAuthorized": True or False, # Whether the file was created or opened by the requesting app. "writersCanShare": True or False, # Whether users with only writer permission can modify the file's permissions. "ownedByMe": True or False, # Whether the user owns the file. "viewedByMeTime": "A String", # The last time the file was viewed by the user (RFC 3339 date-time). @@ -443,6 +445,7 @@

Method Details

"modifiedByMeTime": "A String", # The last time the file was modified by the user (RFC 3339 date-time). "thumbnailLink": "A String", # A short-lived link to the file's thumbnail, if available. Typically lasts on the order of hours. "explicitlyTrashed": True or False, # Whether the file has been explicitly trashed, as opposed to recursively trashed from a parent folder. + "isAppAuthorized": True or False, # Whether the file was created or opened by the requesting app. "writersCanShare": True or False, # Whether users with only writer permission can modify the file's permissions. "ownedByMe": True or False, # Whether the user owns the file. "viewedByMeTime": "A String", # The last time the file was viewed by the user (RFC 3339 date-time). @@ -599,6 +602,7 @@

Method Details

"modifiedByMeTime": "A String", # The last time the file was modified by the user (RFC 3339 date-time). "thumbnailLink": "A String", # A short-lived link to the file's thumbnail, if available. Typically lasts on the order of hours. "explicitlyTrashed": True or False, # Whether the file has been explicitly trashed, as opposed to recursively trashed from a parent folder. + "isAppAuthorized": True or False, # Whether the file was created or opened by the requesting app. "writersCanShare": True or False, # Whether users with only writer permission can modify the file's permissions. "ownedByMe": True or False, # Whether the user owns the file. "viewedByMeTime": "A String", # The last time the file was viewed by the user (RFC 3339 date-time). @@ -815,6 +819,7 @@

Method Details

"modifiedByMeTime": "A String", # The last time the file was modified by the user (RFC 3339 date-time). "thumbnailLink": "A String", # A short-lived link to the file's thumbnail, if available. Typically lasts on the order of hours. "explicitlyTrashed": True or False, # Whether the file has been explicitly trashed, as opposed to recursively trashed from a parent folder. + "isAppAuthorized": True or False, # Whether the file was created or opened by the requesting app. "writersCanShare": True or False, # Whether users with only writer permission can modify the file's permissions. "ownedByMe": True or False, # Whether the user owns the file. "viewedByMeTime": "A String", # The last time the file was viewed by the user (RFC 3339 date-time). @@ -997,6 +1002,7 @@

Method Details

"modifiedByMeTime": "A String", # The last time the file was modified by the user (RFC 3339 date-time). "thumbnailLink": "A String", # A short-lived link to the file's thumbnail, if available. Typically lasts on the order of hours. "explicitlyTrashed": True or False, # Whether the file has been explicitly trashed, as opposed to recursively trashed from a parent folder. + "isAppAuthorized": True or False, # Whether the file was created or opened by the requesting app. "writersCanShare": True or False, # Whether users with only writer permission can modify the file's permissions. "ownedByMe": True or False, # Whether the user owns the file. "viewedByMeTime": "A String", # The last time the file was viewed by the user (RFC 3339 date-time). @@ -1172,6 +1178,7 @@

Method Details

"modifiedByMeTime": "A String", # The last time the file was modified by the user (RFC 3339 date-time). "thumbnailLink": "A String", # A short-lived link to the file's thumbnail, if available. Typically lasts on the order of hours. "explicitlyTrashed": True or False, # Whether the file has been explicitly trashed, as opposed to recursively trashed from a parent folder. + "isAppAuthorized": True or False, # Whether the file was created or opened by the requesting app. "writersCanShare": True or False, # Whether users with only writer permission can modify the file's permissions. "ownedByMe": True or False, # Whether the user owns the file. "viewedByMeTime": "A String", # The last time the file was viewed by the user (RFC 3339 date-time). @@ -1329,6 +1336,7 @@

Method Details

"modifiedByMeTime": "A String", # The last time the file was modified by the user (RFC 3339 date-time). "thumbnailLink": "A String", # A short-lived link to the file's thumbnail, if available. Typically lasts on the order of hours. "explicitlyTrashed": True or False, # Whether the file has been explicitly trashed, as opposed to recursively trashed from a parent folder. + "isAppAuthorized": True or False, # Whether the file was created or opened by the requesting app. "writersCanShare": True or False, # Whether users with only writer permission can modify the file's permissions. "ownedByMe": True or False, # Whether the user owns the file. "viewedByMeTime": "A String", # The last time the file was viewed by the user (RFC 3339 date-time). diff --git a/docs/dyn/firebaserules_v1.html b/docs/dyn/firebaserules_v1.html new file mode 100644 index 00000000000..e17baebc023 --- /dev/null +++ b/docs/dyn/firebaserules_v1.html @@ -0,0 +1,103 @@ + + + +

Firebase Rules API

+

Instance Methods

+

+ projects() +

+

Returns the projects Resource.

+ +

+ new_batch_http_request()

+

Create a BatchHttpRequest object based on the discovery document.

+

Method Details

+
+ new_batch_http_request() +
Create a BatchHttpRequest object based on the discovery document.
+
+        Args:
+          callback: callable, A callback to be called for each response, of the
+            form callback(id, response, exception). The first parameter is the
+            request id, and the second is the deserialized response object. The
+            third is an apiclient.errors.HttpError exception object if an HTTP
+            error occurred while processing the request, or None if no error
+            occurred.
+
+        Returns:
+          A BatchHttpRequest object based on the discovery document.
+        
+
+ + \ No newline at end of file diff --git a/docs/dyn/firebaserules_v1.projects.html b/docs/dyn/firebaserules_v1.projects.html new file mode 100644 index 00000000000..afd044c8252 --- /dev/null +++ b/docs/dyn/firebaserules_v1.projects.html @@ -0,0 +1,160 @@ + + + +

Firebase Rules API . projects

+

Instance Methods

+

+ releases() +

+

Returns the releases Resource.

+ +

+ rulesets() +

+

Returns the rulesets Resource.

+ +

+ test(name=None, body, x__xgafv=None)

+

Test `Source` for syntactic and semantic correctness. Issues present in the

+

Method Details

+
+ test(name=None, body, x__xgafv=None) +
Test `Source` for syntactic and semantic correctness. Issues present in the
+rules, if any, will be returned to the caller with a description, severity,
+and source location.
+
+The test method will typically be executed with a developer provided
+`Source`, but if regression testing is desired, this method may be
+executed against a `Ruleset` resource name and the `Source` will be
+retrieved from the persisted `Ruleset`.
+
+The following is an example of `Source` that permits users to upload images
+to a bucket bearing their user id and matching the correct metadata:
+
+_*Example*_
+
+    // Users are allowed to subscribe and unsubscribe to the blog.
+    service firebase.storage {
+      match /users/{userId}/images/{imageName} {
+          allow write: if userId == request.userId
+              && (imageName.endsWith('.png') || imageName.endsWith('.jpg'))
+              && resource.mimeType.startsWith('image/')
+      }
+    }
+
+Args:
+  name: string, Name of the project.
+
+Format: `projects/{project_id}` (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # The request for FirebaseRulesService.TestRuleset.
+    "source": { # `Source` is one or more `File` messages comprising a logical set of rules. # `Source` to be checked for correctness.
+      "files": [ # `File` set constituting the `Source` bundle.
+        { # `File` containing source content.
+          "content": "A String", # Textual Content.
+          "name": "A String", # File name.
+          "fingerprint": "A String", # Fingerprint (e.g. github sha) associated with the `File`.
+        },
+      ],
+    },
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The response for FirebaseRulesService.TestRuleset.
+    "issues": [ # Syntactic and semantic `Source` issues of varying severity. Issues of
+        # `ERROR` severity will prevent tests from executing.
+      { # Issues include warnings, errors, and deprecation notices.
+        "sourcePosition": { # Position in the `Source` content including its line, column number, and an # Position of the issue in the `Source`.
+            # index of the `File` in the `Source` message. Used for debug purposes.
+          "column": 42, # First column on the source line associated with the source fragment.
+          "line": 42, # Line number of the source fragment. 1-based.
+          "fileName": "A String", # Name of the `File`.
+        },
+        "description": "A String", # Short error description.
+        "severity": "A String", # The severity of the issue.
+      },
+    ],
+  }
+
+ + \ No newline at end of file diff --git a/docs/dyn/firebaserules_v1.projects.releases.html b/docs/dyn/firebaserules_v1.projects.releases.html new file mode 100644 index 00000000000..8d9f299b534 --- /dev/null +++ b/docs/dyn/firebaserules_v1.projects.releases.html @@ -0,0 +1,503 @@ + + + +

Firebase Rules API . projects . releases

+

Instance Methods

+

+ create(name=None, body, x__xgafv=None)

+

Create a `Release`.

+

+ delete(name=None, x__xgafv=None)

+

Delete a `Release` by resource name.

+

+ get(name=None, x__xgafv=None)

+

Get a `Release` by name.

+

+ list(name=None, pageSize=None, filter=None, pageToken=None, x__xgafv=None)

+

List the `Release` values for a project. This list may optionally be

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

+ update(name=None, body, x__xgafv=None)

+

Update a `Release`.

+

Method Details

+
+ create(name=None, body, x__xgafv=None) +
Create a `Release`.
+
+Release names should reflect the developer's deployment practices. For
+example, the release name may include the environment name, application
+name, application version, or any other name meaningful to the developer.
+Once a `Release` refers to a `Ruleset`, the rules can be enforced by
+Firebase Rules-enabled services.
+
+More than one `Release` may be 'live' concurrently. Consider the following
+three `Release` names for `projects/foo` and the `Ruleset` to which they
+refer.
+
+Release Name                    | Ruleset Name
+--------------------------------|-------------
+projects/foo/releases/prod      | projects/foo/rulesets/uuid123
+projects/foo/releases/prod/beta | projects/foo/rulesets/uuid123
+projects/foo/releases/prod/v23  | projects/foo/rulesets/uuid456
+
+The table reflects the `Ruleset` rollout in progress. The `prod` and
+`prod/beta` releases refer to the same `Ruleset`. However, `prod/v23`
+refers to a new `Ruleset`. The `Ruleset` reference for a `Release` may be
+updated using the UpdateRelease method, and the custom `Release` name
+may be referenced by specifying the `X-Firebase-Rules-Release-Name` header.
+
+Args:
+  name: string, Resource name for the project which owns this `Release`.
+
+Format: `projects/{project_id}` (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # `Release` is a named reference to a `Ruleset`. Once a `Release` refers to a
+      # `Ruleset`, rules-enabled services will be able to enforce the `Ruleset`.
+    "updateTime": "A String", # Time the release was updated.
+        # @OutputOnly
+    "rulesetName": "A String", # Name of the `Ruleset` referred to by this `Release`. The `Ruleset` must
+        # exist the `Release` to be created.
+    "createTime": "A String", # Time the release was created.
+        # @OutputOnly
+    "name": "A String", # Resource name for the `Release`.
+        # 
+        # `Release` names may be structured `app1/prod/v2` or flat `app1_prod_v2`
+        # which affords developers a great deal of flexibility in mapping the name
+        # to the style that best fits their existing development practices. For
+        # example, a name could refer to an environment, an app, a version, or some
+        # combination of three.
+        # 
+        # In the table below, for the project name `projects/foo`, the following
+        # relative release paths show how flat and structured names might be chosen
+        # to match a desired development / deployment strategy.
+        # 
+        # Use Case     | Flat Name           | Structured Name
+        # -------------|---------------------|----------------
+        # Environments | releases/qa         | releases/qa
+        # Apps         | releases/app1_qa    | releases/app1/qa
+        # Versions     | releases/app1_v2_qa | releases/app1/v2/qa
+        # 
+        # The delimiter between the release name path elements can be almost anything
+        # and it should work equally well with the release name list filter, but in
+        # many ways the structured paths provide a clearer picture of the
+        # relationship between `Release` instances.
+        # 
+        # Format: `projects/{project_id}/releases/{release_id}`
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # `Release` is a named reference to a `Ruleset`. Once a `Release` refers to a
+        # `Ruleset`, rules-enabled services will be able to enforce the `Ruleset`.
+      "updateTime": "A String", # Time the release was updated.
+          # @OutputOnly
+      "rulesetName": "A String", # Name of the `Ruleset` referred to by this `Release`. The `Ruleset` must
+          # exist the `Release` to be created.
+      "createTime": "A String", # Time the release was created.
+          # @OutputOnly
+      "name": "A String", # Resource name for the `Release`.
+          #
+          # `Release` names may be structured `app1/prod/v2` or flat `app1_prod_v2`
+          # which affords developers a great deal of flexibility in mapping the name
+          # to the style that best fits their existing development practices. For
+          # example, a name could refer to an environment, an app, a version, or some
+          # combination of three.
+          #
+          # In the table below, for the project name `projects/foo`, the following
+          # relative release paths show how flat and structured names might be chosen
+          # to match a desired development / deployment strategy.
+          #
+          # Use Case     | Flat Name           | Structured Name
+          # -------------|---------------------|----------------
+          # Environments | releases/qa         | releases/qa
+          # Apps         | releases/app1_qa    | releases/app1/qa
+          # Versions     | releases/app1_v2_qa | releases/app1/v2/qa
+          #
+          # The delimiter between the release name path elements can be almost anything
+          # and it should work equally well with the release name list filter, but in
+          # many ways the structured paths provide a clearer picture of the
+          # relationship between `Release` instances.
+          #
+          # Format: `projects/{project_id}/releases/{release_id}`
+    }
+
+ +
+ delete(name=None, x__xgafv=None) +
Delete a `Release` by resource name.
+
+Args:
+  name: string, Resource name for the `Release` to delete.
+
+Format: `projects/{project_id}/releases/{release_id}` (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A generic empty message that you can re-use to avoid defining duplicated
+      # empty messages in your APIs. A typical example is to use it as the request
+      # or the response type of an API method. For instance:
+      #
+      #     service Foo {
+      #       rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
+      #     }
+      #
+      # The JSON representation for `Empty` is empty JSON object `{}`.
+  }
+
+ +
+ get(name=None, x__xgafv=None) +
Get a `Release` by name.
+
+
+Args:
+  name: string, Resource name of the `Release`.
+
+
+Format: `projects/{project_id}/releases/{release_id}` (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # `Release` is a named reference to a `Ruleset`. Once a `Release` refers to a
+        # `Ruleset`, rules-enabled services will be able to enforce the `Ruleset`.
+      "updateTime": "A String", # Time the release was updated.
+          # @OutputOnly
+      "rulesetName": "A String", # Name of the `Ruleset` referred to by this `Release`. The `Ruleset` must
+          # exist the `Release` to be created.
+      "createTime": "A String", # Time the release was created.
+          # @OutputOnly
+      "name": "A String", # Resource name for the `Release`.
+          #
+          # `Release` names may be structured `app1/prod/v2` or flat `app1_prod_v2`
+          # which affords developers a great deal of flexibility in mapping the name
+          # to the style that best fits their existing development practices. For
+          # example, a name could refer to an environment, an app, a version, or some
+          # combination of three.
+          #
+          # In the table below, for the project name `projects/foo`, the following
+          # relative release paths show how flat and structured names might be chosen
+          # to match a desired development / deployment strategy.
+          #
+          # Use Case     | Flat Name           | Structured Name
+          # -------------|---------------------|----------------
+          # Environments | releases/qa         | releases/qa
+          # Apps         | releases/app1_qa    | releases/app1/qa
+          # Versions     | releases/app1_v2_qa | releases/app1/v2/qa
+          #
+          # The delimiter between the release name path elements can be almost anything
+          # and it should work equally well with the release name list filter, but in
+          # many ways the structured paths provide a clearer picture of the
+          # relationship between `Release` instances.
+          #
+          # Format: `projects/{project_id}/releases/{release_id}`
+    }
+
+ +
+ list(name=None, pageSize=None, filter=None, pageToken=None, x__xgafv=None) +
List the `Release` values for a project. This list may optionally be
+filtered by `Release` name or `Ruleset` id or both.
+
+Args:
+  name: string, Resource name for the project.
+
+Format: `projects/{project_id}` (required)
+  pageSize: integer, Page size to load. Maximum of 100. Defaults to 10.
+Note: `page_size` is just a hint and the service may choose to load less
+than `page_size` due to the size of the output. To traverse all of the
+releases, caller should iterate until the `page_token` is empty.
+  filter: string, `Release` filter. The list method supports filters with restrictions on the
+`Release` `name` and also on the `Ruleset` `ruleset_name`.
+
+Example 1) A filter of 'name=prod*' might return `Release`s with names
+within 'projects/foo' prefixed with 'prod':
+
+Name                          | Ruleset Name
+------------------------------|-------------
+projects/foo/releases/prod    | projects/foo/rulesets/uuid1234
+projects/foo/releases/prod/v1 | projects/foo/rulesets/uuid1234
+projects/foo/releases/prod/v2 | projects/foo/rulesets/uuid8888
+
+Example 2) A filter of `name=prod* ruleset_name=uuid1234` would return only
+`Release` instances for 'projects/foo' with names prefixed with 'prod'
+referring to the same `Ruleset` name of 'uuid1234':
+
+Name                          | Ruleset Name
+------------------------------|-------------
+projects/foo/releases/prod    | projects/foo/rulesets/1234
+projects/foo/releases/prod/v1 | projects/foo/rulesets/1234
+
+In the examples, the filter parameters refer to the search filters for
+release and ruleset names are relative to the project releases and rulesets
+collections. Fully qualified prefixed may also be used. e.g.
+`name=projects/foo/releases/prod* ruleset_name=projects/foo/rulesets/uuid1`
+  pageToken: string, Next page token for the next batch of `Release` instances.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The response for FirebaseRulesService.ListReleases.
+    "nextPageToken": "A String", # The pagination token to retrieve the next page of results. If the value is
+        # empty, no further results remain.
+    "releases": [ # List of `Release` instances.
+      { # `Release` is a named reference to a `Ruleset`. Once a `Release` refers to a
+            # `Ruleset`, rules-enabled services will be able to enforce the `Ruleset`.
+          "updateTime": "A String", # Time the release was updated.
+              # @OutputOnly
+          "rulesetName": "A String", # Name of the `Ruleset` referred to by this `Release`. The `Ruleset` must
+              # exist the `Release` to be created.
+          "createTime": "A String", # Time the release was created.
+              # @OutputOnly
+          "name": "A String", # Resource name for the `Release`.
+              #
+              # `Release` names may be structured `app1/prod/v2` or flat `app1_prod_v2`
+              # which affords developers a great deal of flexibility in mapping the name
+              # to the style that best fits their existing development practices. For
+              # example, a name could refer to an environment, an app, a version, or some
+              # combination of three.
+              #
+              # In the table below, for the project name `projects/foo`, the following
+              # relative release paths show how flat and structured names might be chosen
+              # to match a desired development / deployment strategy.
+              #
+              # Use Case     | Flat Name           | Structured Name
+              # -------------|---------------------|----------------
+              # Environments | releases/qa         | releases/qa
+              # Apps         | releases/app1_qa    | releases/app1/qa
+              # Versions     | releases/app1_v2_qa | releases/app1/v2/qa
+              #
+              # The delimiter between the release name path elements can be almost anything
+              # and it should work equally well with the release name list filter, but in
+              # many ways the structured paths provide a clearer picture of the
+              # relationship between `Release` instances.
+              #
+              # Format: `projects/{project_id}/releases/{release_id}`
+        },
+    ],
+  }
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    
+
+ +
+ update(name=None, body, x__xgafv=None) +
Update a `Release`.
+
+Only updates to the `ruleset_name` field will be honored. `Release` rename
+is not supported. To create a `Release` use the CreateRelease method
+instead.
+
+Args:
+  name: string, Resource name for the `Release`.
+
+`Release` names may be structured `app1/prod/v2` or flat `app1_prod_v2`
+which affords developers a great deal of flexibility in mapping the name
+to the style that best fits their existing development practices. For
+example, a name could refer to an environment, an app, a version, or some
+combination of three.
+
+In the table below, for the project name `projects/foo`, the following
+relative release paths show how flat and structured names might be chosen
+to match a desired development / deployment strategy.
+
+Use Case     | Flat Name           | Structured Name
+-------------|---------------------|----------------
+Environments | releases/qa         | releases/qa
+Apps         | releases/app1_qa    | releases/app1/qa
+Versions     | releases/app1_v2_qa | releases/app1/v2/qa
+
+The delimiter between the release name path elements can be almost anything
+and it should work equally well with the release name list filter, but in
+many ways the structured paths provide a clearer picture of the
+relationship between `Release` instances.
+
+Format: `projects/{project_id}/releases/{release_id}`
+ (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # `Release` is a named reference to a `Ruleset`. Once a `Release` refers to a
+      # `Ruleset`, rules-enabled services will be able to enforce the `Ruleset`.
+    "updateTime": "A String", # Time the release was updated.
+        # @OutputOnly
+    "rulesetName": "A String", # Name of the `Ruleset` referred to by this `Release`. The `Ruleset` must
+        # exist the `Release` to be created.
+    "createTime": "A String", # Time the release was created.
+        # @OutputOnly
+    "name": "A String", # Resource name for the `Release`.
+        # 
+        # `Release` names may be structured `app1/prod/v2` or flat `app1_prod_v2`
+        # which affords developers a great deal of flexibility in mapping the name
+        # to the style that best fits their existing development practices. For
+        # example, a name could refer to an environment, an app, a version, or some
+        # combination of three.
+        # 
+        # In the table below, for the project name `projects/foo`, the following
+        # relative release paths show how flat and structured names might be chosen
+        # to match a desired development / deployment strategy.
+        # 
+        # Use Case     | Flat Name           | Structured Name
+        # -------------|---------------------|----------------
+        # Environments | releases/qa         | releases/qa
+        # Apps         | releases/app1_qa    | releases/app1/qa
+        # Versions     | releases/app1_v2_qa | releases/app1/v2/qa
+        # 
+        # The delimiter between the release name path elements can be almost anything
+        # and it should work equally well with the release name list filter, but in
+        # many ways the structured paths provide a clearer picture of the
+        # relationship between `Release` instances.
+        # 
+        # Format: `projects/{project_id}/releases/{release_id}`
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # `Release` is a named reference to a `Ruleset`. Once a `Release` refers to a
+        # `Ruleset`, rules-enabled services will be able to enforce the `Ruleset`.
+      "updateTime": "A String", # Time the release was updated.
+          # @OutputOnly
+      "rulesetName": "A String", # Name of the `Ruleset` referred to by this `Release`. The `Ruleset` must
+          # exist the `Release` to be created.
+      "createTime": "A String", # Time the release was created.
+          # @OutputOnly
+      "name": "A String", # Resource name for the `Release`.
+          #
+          # `Release` names may be structured `app1/prod/v2` or flat `app1_prod_v2`
+          # which affords developers a great deal of flexibility in mapping the name
+          # to the style that best fits their existing development practices. For
+          # example, a name could refer to an environment, an app, a version, or some
+          # combination of three.
+          #
+          # In the table below, for the project name `projects/foo`, the following
+          # relative release paths show how flat and structured names might be chosen
+          # to match a desired development / deployment strategy.
+          #
+          # Use Case     | Flat Name           | Structured Name
+          # -------------|---------------------|----------------
+          # Environments | releases/qa         | releases/qa
+          # Apps         | releases/app1_qa    | releases/app1/qa
+          # Versions     | releases/app1_v2_qa | releases/app1/v2/qa
+          #
+          # The delimiter between the release name path elements can be almost anything
+          # and it should work equally well with the release name list filter, but in
+          # many ways the structured paths provide a clearer picture of the
+          # relationship between `Release` instances.
+          #
+          # Format: `projects/{project_id}/releases/{release_id}`
+    }
+
+ + \ No newline at end of file diff --git a/docs/dyn/firebaserules_v1.projects.rulesets.html b/docs/dyn/firebaserules_v1.projects.rulesets.html new file mode 100644 index 00000000000..6130a253a2e --- /dev/null +++ b/docs/dyn/firebaserules_v1.projects.rulesets.html @@ -0,0 +1,283 @@ + + + +

Firebase Rules API . projects . rulesets

+

Instance Methods

+

+ create(name=None, body, x__xgafv=None)

+

Create a `Ruleset` from `Source`.

+

+ delete(name=None, x__xgafv=None)

+

Delete a `Ruleset` by resource name.

+

+ get(name=None, x__xgafv=None)

+

Get a `Ruleset` by name including the full `Source` contents.

+

+ list(name=None, pageToken=None, x__xgafv=None, pageSize=None)

+

List `Ruleset` metadata only and optionally filter the results by Ruleset

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

Method Details

+
+ create(name=None, body, x__xgafv=None) +
Create a `Ruleset` from `Source`.
+
+The `Ruleset` is given a unique generated name which is returned to the
+caller. `Source` containing syntactic or semantics errors will result in an
+error response indicating the first error encountered. For a detailed view
+of `Source` issues, use TestRuleset.
+
+Args:
+  name: string, Resource name for Project which owns this `Ruleset`.
+
+Format: `projects/{project_id}` (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # `Ruleset` is an immutable copy of `Source` with a globally unique identifier
+      # and a creation time.
+    "source": { # `Source` is one or more `File` messages comprising a logical set of rules. # `Source` for the `Ruleset`.
+      "files": [ # `File` set constituting the `Source` bundle.
+        { # `File` containing source content.
+          "content": "A String", # Textual Content.
+          "name": "A String", # File name.
+          "fingerprint": "A String", # Fingerprint (e.g. github sha) associated with the `File`.
+        },
+      ],
+    },
+    "createTime": "A String", # Time the `Ruleset` was created.
+        # @OutputOnly
+    "name": "A String", # Name of the `Ruleset`. The ruleset_id is auto generated by the service.
+        # Format: `projects/{project_id}/rulesets/{ruleset_id}`
+        # @OutputOnly
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # `Ruleset` is an immutable copy of `Source` with a globally unique identifier
+        # and a creation time.
+      "source": { # `Source` is one or more `File` messages comprising a logical set of rules. # `Source` for the `Ruleset`.
+        "files": [ # `File` set constituting the `Source` bundle.
+          { # `File` containing source content.
+            "content": "A String", # Textual Content.
+            "name": "A String", # File name.
+            "fingerprint": "A String", # Fingerprint (e.g. github sha) associated with the `File`.
+          },
+        ],
+      },
+      "createTime": "A String", # Time the `Ruleset` was created.
+          # @OutputOnly
+      "name": "A String", # Name of the `Ruleset`. The ruleset_id is auto generated by the service.
+          # Format: `projects/{project_id}/rulesets/{ruleset_id}`
+          # @OutputOnly
+    }
+
+ +
+ delete(name=None, x__xgafv=None) +
Delete a `Ruleset` by resource name.
+
+If the `Ruleset` is referenced by a `Release` the operation will fail.
+
+Args:
+  name: string, Resource name for the ruleset to delete.
+
+Format: `projects/{project_id}/rulesets/{ruleset_id}` (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A generic empty message that you can re-use to avoid defining duplicated
+      # empty messages in your APIs. A typical example is to use it as the request
+      # or the response type of an API method. For instance:
+      #
+      #     service Foo {
+      #       rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
+      #     }
+      #
+      # The JSON representation for `Empty` is empty JSON object `{}`.
+  }
+
+ +
+ get(name=None, x__xgafv=None) +
Get a `Ruleset` by name including the full `Source` contents.
+
+Args:
+  name: string, Resource name for the ruleset to get.
+
+Format: `projects/{project_id}/rulesets/{ruleset_id}` (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # `Ruleset` is an immutable copy of `Source` with a globally unique identifier
+        # and a creation time.
+      "source": { # `Source` is one or more `File` messages comprising a logical set of rules. # `Source` for the `Ruleset`.
+        "files": [ # `File` set constituting the `Source` bundle.
+          { # `File` containing source content.
+            "content": "A String", # Textual Content.
+            "name": "A String", # File name.
+            "fingerprint": "A String", # Fingerprint (e.g. github sha) associated with the `File`.
+          },
+        ],
+      },
+      "createTime": "A String", # Time the `Ruleset` was created.
+          # @OutputOnly
+      "name": "A String", # Name of the `Ruleset`. The ruleset_id is auto generated by the service.
+          # Format: `projects/{project_id}/rulesets/{ruleset_id}`
+          # @OutputOnly
+    }
+
+ +
+ list(name=None, pageToken=None, x__xgafv=None, pageSize=None) +
List `Ruleset` metadata only and optionally filter the results by Ruleset
+name.
+
+The full `Source` contents of a `Ruleset` may be retrieved with
+GetRuleset.
+
+Args:
+  name: string, Resource name for the project.
+
+Format: `projects/{project_id}` (required)
+  pageToken: string, Next page token for loading the next batch of `Ruleset` instances.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+  pageSize: integer, Page size to load. Maximum of 100. Defaults to 10.
+Note: `page_size` is just a hint and the service may choose to load less
+than `page_size` due to the size of the output. To traverse all of the
+releases, caller should iterate until the `page_token` is empty.
+
+Returns:
+  An object of the form:
+
+    { # The response for FirebaseRulesService.ListRulesets
+    "nextPageToken": "A String", # The pagination token to retrieve the next page of results. If the value is
+        # empty, no further results remain.
+    "rulesets": [ # List of `Ruleset` instances.
+      { # `Ruleset` is an immutable copy of `Source` with a globally unique identifier
+            # and a creation time.
+          "source": { # `Source` is one or more `File` messages comprising a logical set of rules. # `Source` for the `Ruleset`.
+            "files": [ # `File` set constituting the `Source` bundle.
+              { # `File` containing source content.
+                "content": "A String", # Textual Content.
+                "name": "A String", # File name.
+                "fingerprint": "A String", # Fingerprint (e.g. github sha) associated with the `File`.
+              },
+            ],
+          },
+          "createTime": "A String", # Time the `Ruleset` was created.
+              # @OutputOnly
+          "name": "A String", # Name of the `Ruleset`. The ruleset_id is auto generated by the service.
+              # Format: `projects/{project_id}/rulesets/{ruleset_id}`
+              # @OutputOnly
+        },
+    ],
+  }
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    
+
+ + \ No newline at end of file diff --git a/docs/dyn/gamesManagement_v1management.applications.html b/docs/dyn/gamesManagement_v1management.applications.html index d8838c2e505..0c30de9c078 100644 --- a/docs/dyn/gamesManagement_v1management.applications.html +++ b/docs/dyn/gamesManagement_v1management.applications.html @@ -111,7 +111,10 @@

Method Details

}, "playerId": "A String", # The ID of the player. "bannerUrlPortrait": "A String", # The url to the portrait mode player banner image. - "title": "A String", # The player's title rewarded for their game activities. + "profileSettings": { # This is a JSON template for profile settings # The player's profile settings. Controls whether or not the player's profile is visible to other players. + "kind": "gamesManagement#profileSettings", # Uniquely identifies the type of this resource. Value is always the fixed string gamesManagement#profileSettings. + "profileVisible": True or False, # The player's current profile visibility. This field is visible to both 1P and 3P APIs. + }, "experienceInfo": { # This is a JSON template for 1P/3P metadata about the player's experience. # An object to represent Play Game experience information for the player. "lastLevelUpTimestampMillis": "A String", # The timestamp when the player was leveled up, in millis since Unix epoch UTC. "currentExperiencePoints": "A String", # The current number of experience points for the player. @@ -127,6 +130,7 @@

Method Details

}, }, "bannerUrlLandscape": "A String", # The url to the landscape mode player banner image. + "title": "A String", # The player's title rewarded for their game activities. "avatarImageUrl": "A String", # The base URL for the image that represents the player. }, "kind": "gamesManagement#hiddenPlayer", # Uniquely identifies the type of this resource. Value is always the fixed string gamesManagement#hiddenPlayer. diff --git a/docs/dyn/games_v1.achievements.html b/docs/dyn/games_v1.achievements.html index 15092bf2c87..b1d939051d3 100644 --- a/docs/dyn/games_v1.achievements.html +++ b/docs/dyn/games_v1.achievements.html @@ -110,7 +110,7 @@

Method Details

{ # This is a JSON template for an achievement increment response "currentSteps": 42, # The current steps recorded for this incremental achievement. - "newlyUnlocked": True or False, # Whether the the current steps for the achievement has reached the number of steps required to unlock. + "newlyUnlocked": True or False, # Whether the current steps for the achievement has reached the number of steps required to unlock. "kind": "games#achievementIncrementResponse", # Uniquely identifies the type of this resource. Value is always the fixed string games#achievementIncrementResponse. }
diff --git a/docs/dyn/games_v1.applications.html b/docs/dyn/games_v1.applications.html index f0bb357b7dd..fe053c715be 100644 --- a/docs/dyn/games_v1.applications.html +++ b/docs/dyn/games_v1.applications.html @@ -187,6 +187,7 @@

Method Details

{ # This is a JSON template for a third party application verification response resource. "player_id": "A String", # The ID of the player that was issued the auth token used in this request. "kind": "games#applicationVerifyResponse", # Uniquely identifies the type of this resource. Value is always the fixed string games#applicationVerifyResponse. + "alternate_player_id": "A String", # An alternate ID that was once used for the player that was issued the auth token used in this request. (This field is not normally populated.) }
diff --git a/docs/dyn/games_v1.players.html b/docs/dyn/games_v1.players.html index 38a5681f960..39e147ce046 100644 --- a/docs/dyn/games_v1.players.html +++ b/docs/dyn/games_v1.players.html @@ -110,7 +110,10 @@

Method Details

}, "playerId": "A String", # The ID of the player. "bannerUrlPortrait": "A String", # The url to the portrait mode player banner image. - "title": "A String", # The player's title rewarded for their game activities. + "profileSettings": { # This is a JSON template for profile settings # The player's profile settings. Controls whether or not the player's profile is visible to other players. + "kind": "games#profileSettings", # Uniquely identifies the type of this resource. Value is always the fixed string games#profileSettings. + "profileVisible": True or False, # The player's current profile visibility. This field is visible to both 1P and 3P APIs. + }, "experienceInfo": { # This is a JSON template for 1P/3P metadata about the player's experience. # An object to represent Play Game experience information for the player. "lastLevelUpTimestampMillis": "A String", # The timestamp when the player was leveled up, in millis since Unix epoch UTC. "currentExperiencePoints": "A String", # The current number of experience points for the player. @@ -129,6 +132,7 @@

Method Details

}, }, "bannerUrlLandscape": "A String", # The url to the landscape mode player banner image. + "title": "A String", # The player's title rewarded for their game activities. "avatarImageUrl": "A String", # The base URL for the image that represents the player. }
@@ -169,7 +173,10 @@

Method Details

}, "playerId": "A String", # The ID of the player. "bannerUrlPortrait": "A String", # The url to the portrait mode player banner image. - "title": "A String", # The player's title rewarded for their game activities. + "profileSettings": { # This is a JSON template for profile settings # The player's profile settings. Controls whether or not the player's profile is visible to other players. + "kind": "games#profileSettings", # Uniquely identifies the type of this resource. Value is always the fixed string games#profileSettings. + "profileVisible": True or False, # The player's current profile visibility. This field is visible to both 1P and 3P APIs. + }, "experienceInfo": { # This is a JSON template for 1P/3P metadata about the player's experience. # An object to represent Play Game experience information for the player. "lastLevelUpTimestampMillis": "A String", # The timestamp when the player was leveled up, in millis since Unix epoch UTC. "currentExperiencePoints": "A String", # The current number of experience points for the player. @@ -188,6 +195,7 @@

Method Details

}, }, "bannerUrlLandscape": "A String", # The url to the landscape mode player banner image. + "title": "A String", # The player's title rewarded for their game activities. "avatarImageUrl": "A String", # The base URL for the image that represents the player. }, ], diff --git a/docs/dyn/games_v1.rooms.html b/docs/dyn/games_v1.rooms.html index f0307d19627..860c71b4f3b 100644 --- a/docs/dyn/games_v1.rooms.html +++ b/docs/dyn/games_v1.rooms.html @@ -214,7 +214,10 @@

Method Details

}, "playerId": "A String", # The ID of the player. "bannerUrlPortrait": "A String", # The url to the portrait mode player banner image. - "title": "A String", # The player's title rewarded for their game activities. + "profileSettings": { # This is a JSON template for profile settings # The player's profile settings. Controls whether or not the player's profile is visible to other players. + "kind": "games#profileSettings", # Uniquely identifies the type of this resource. Value is always the fixed string games#profileSettings. + "profileVisible": True or False, # The player's current profile visibility. This field is visible to both 1P and 3P APIs. + }, "experienceInfo": { # This is a JSON template for 1P/3P metadata about the player's experience. # An object to represent Play Game experience information for the player. "lastLevelUpTimestampMillis": "A String", # The timestamp when the player was leveled up, in millis since Unix epoch UTC. "currentExperiencePoints": "A String", # The current number of experience points for the player. @@ -233,6 +236,7 @@

Method Details

}, }, "bannerUrlLandscape": "A String", # The url to the landscape mode player banner image. + "title": "A String", # The player's title rewarded for their game activities. "avatarImageUrl": "A String", # The base URL for the image that represents the player. }, "clientAddress": { # This is a JSON template for the client address when setting up a room. # Client address for the participant. @@ -334,7 +338,10 @@

Method Details

}, "playerId": "A String", # The ID of the player. "bannerUrlPortrait": "A String", # The url to the portrait mode player banner image. - "title": "A String", # The player's title rewarded for their game activities. + "profileSettings": { # This is a JSON template for profile settings # The player's profile settings. Controls whether or not the player's profile is visible to other players. + "kind": "games#profileSettings", # Uniquely identifies the type of this resource. Value is always the fixed string games#profileSettings. + "profileVisible": True or False, # The player's current profile visibility. This field is visible to both 1P and 3P APIs. + }, "experienceInfo": { # This is a JSON template for 1P/3P metadata about the player's experience. # An object to represent Play Game experience information for the player. "lastLevelUpTimestampMillis": "A String", # The timestamp when the player was leveled up, in millis since Unix epoch UTC. "currentExperiencePoints": "A String", # The current number of experience points for the player. @@ -353,6 +360,7 @@

Method Details

}, }, "bannerUrlLandscape": "A String", # The url to the landscape mode player banner image. + "title": "A String", # The player's title rewarded for their game activities. "avatarImageUrl": "A String", # The base URL for the image that represents the player. }, "clientAddress": { # This is a JSON template for the client address when setting up a room. # Client address for the participant. @@ -463,7 +471,10 @@

Method Details

}, "playerId": "A String", # The ID of the player. "bannerUrlPortrait": "A String", # The url to the portrait mode player banner image. - "title": "A String", # The player's title rewarded for their game activities. + "profileSettings": { # This is a JSON template for profile settings # The player's profile settings. Controls whether or not the player's profile is visible to other players. + "kind": "games#profileSettings", # Uniquely identifies the type of this resource. Value is always the fixed string games#profileSettings. + "profileVisible": True or False, # The player's current profile visibility. This field is visible to both 1P and 3P APIs. + }, "experienceInfo": { # This is a JSON template for 1P/3P metadata about the player's experience. # An object to represent Play Game experience information for the player. "lastLevelUpTimestampMillis": "A String", # The timestamp when the player was leveled up, in millis since Unix epoch UTC. "currentExperiencePoints": "A String", # The current number of experience points for the player. @@ -482,6 +493,7 @@

Method Details

}, }, "bannerUrlLandscape": "A String", # The url to the landscape mode player banner image. + "title": "A String", # The player's title rewarded for their game activities. "avatarImageUrl": "A String", # The base URL for the image that represents the player. }, "clientAddress": { # This is a JSON template for the client address when setting up a room. # Client address for the participant. @@ -606,7 +618,10 @@

Method Details

}, "playerId": "A String", # The ID of the player. "bannerUrlPortrait": "A String", # The url to the portrait mode player banner image. - "title": "A String", # The player's title rewarded for their game activities. + "profileSettings": { # This is a JSON template for profile settings # The player's profile settings. Controls whether or not the player's profile is visible to other players. + "kind": "games#profileSettings", # Uniquely identifies the type of this resource. Value is always the fixed string games#profileSettings. + "profileVisible": True or False, # The player's current profile visibility. This field is visible to both 1P and 3P APIs. + }, "experienceInfo": { # This is a JSON template for 1P/3P metadata about the player's experience. # An object to represent Play Game experience information for the player. "lastLevelUpTimestampMillis": "A String", # The timestamp when the player was leveled up, in millis since Unix epoch UTC. "currentExperiencePoints": "A String", # The current number of experience points for the player. @@ -625,6 +640,7 @@

Method Details

}, }, "bannerUrlLandscape": "A String", # The url to the landscape mode player banner image. + "title": "A String", # The player's title rewarded for their game activities. "avatarImageUrl": "A String", # The base URL for the image that represents the player. }, "clientAddress": { # This is a JSON template for the client address when setting up a room. # Client address for the participant. @@ -820,7 +836,10 @@

Method Details

}, "playerId": "A String", # The ID of the player. "bannerUrlPortrait": "A String", # The url to the portrait mode player banner image. - "title": "A String", # The player's title rewarded for their game activities. + "profileSettings": { # This is a JSON template for profile settings # The player's profile settings. Controls whether or not the player's profile is visible to other players. + "kind": "games#profileSettings", # Uniquely identifies the type of this resource. Value is always the fixed string games#profileSettings. + "profileVisible": True or False, # The player's current profile visibility. This field is visible to both 1P and 3P APIs. + }, "experienceInfo": { # This is a JSON template for 1P/3P metadata about the player's experience. # An object to represent Play Game experience information for the player. "lastLevelUpTimestampMillis": "A String", # The timestamp when the player was leveled up, in millis since Unix epoch UTC. "currentExperiencePoints": "A String", # The current number of experience points for the player. @@ -839,6 +858,7 @@

Method Details

}, }, "bannerUrlLandscape": "A String", # The url to the landscape mode player banner image. + "title": "A String", # The player's title rewarded for their game activities. "avatarImageUrl": "A String", # The base URL for the image that represents the player. }, "clientAddress": { # This is a JSON template for the client address when setting up a room. # Client address for the participant. @@ -944,7 +964,10 @@

Method Details

}, "playerId": "A String", # The ID of the player. "bannerUrlPortrait": "A String", # The url to the portrait mode player banner image. - "title": "A String", # The player's title rewarded for their game activities. + "profileSettings": { # This is a JSON template for profile settings # The player's profile settings. Controls whether or not the player's profile is visible to other players. + "kind": "games#profileSettings", # Uniquely identifies the type of this resource. Value is always the fixed string games#profileSettings. + "profileVisible": True or False, # The player's current profile visibility. This field is visible to both 1P and 3P APIs. + }, "experienceInfo": { # This is a JSON template for 1P/3P metadata about the player's experience. # An object to represent Play Game experience information for the player. "lastLevelUpTimestampMillis": "A String", # The timestamp when the player was leveled up, in millis since Unix epoch UTC. "currentExperiencePoints": "A String", # The current number of experience points for the player. @@ -963,6 +986,7 @@

Method Details

}, }, "bannerUrlLandscape": "A String", # The url to the landscape mode player banner image. + "title": "A String", # The player's title rewarded for their game activities. "avatarImageUrl": "A String", # The base URL for the image that represents the player. }, "clientAddress": { # This is a JSON template for the client address when setting up a room. # Client address for the participant. @@ -1093,7 +1117,10 @@

Method Details

}, "playerId": "A String", # The ID of the player. "bannerUrlPortrait": "A String", # The url to the portrait mode player banner image. - "title": "A String", # The player's title rewarded for their game activities. + "profileSettings": { # This is a JSON template for profile settings # The player's profile settings. Controls whether or not the player's profile is visible to other players. + "kind": "games#profileSettings", # Uniquely identifies the type of this resource. Value is always the fixed string games#profileSettings. + "profileVisible": True or False, # The player's current profile visibility. This field is visible to both 1P and 3P APIs. + }, "experienceInfo": { # This is a JSON template for 1P/3P metadata about the player's experience. # An object to represent Play Game experience information for the player. "lastLevelUpTimestampMillis": "A String", # The timestamp when the player was leveled up, in millis since Unix epoch UTC. "currentExperiencePoints": "A String", # The current number of experience points for the player. @@ -1112,6 +1139,7 @@

Method Details

}, }, "bannerUrlLandscape": "A String", # The url to the landscape mode player banner image. + "title": "A String", # The player's title rewarded for their game activities. "avatarImageUrl": "A String", # The base URL for the image that represents the player. }, "clientAddress": { # This is a JSON template for the client address when setting up a room. # Client address for the participant. diff --git a/docs/dyn/games_v1.scores.html b/docs/dyn/games_v1.scores.html index 8e230d2cc41..cf6eeb0e6af 100644 --- a/docs/dyn/games_v1.scores.html +++ b/docs/dyn/games_v1.scores.html @@ -172,7 +172,10 @@

Method Details

}, "playerId": "A String", # The ID of the player. "bannerUrlPortrait": "A String", # The url to the portrait mode player banner image. - "title": "A String", # The player's title rewarded for their game activities. + "profileSettings": { # This is a JSON template for profile settings # The player's profile settings. Controls whether or not the player's profile is visible to other players. + "kind": "games#profileSettings", # Uniquely identifies the type of this resource. Value is always the fixed string games#profileSettings. + "profileVisible": True or False, # The player's current profile visibility. This field is visible to both 1P and 3P APIs. + }, "experienceInfo": { # This is a JSON template for 1P/3P metadata about the player's experience. # An object to represent Play Game experience information for the player. "lastLevelUpTimestampMillis": "A String", # The timestamp when the player was leveled up, in millis since Unix epoch UTC. "currentExperiencePoints": "A String", # The current number of experience points for the player. @@ -191,6 +194,7 @@

Method Details

}, }, "bannerUrlLandscape": "A String", # The url to the landscape mode player banner image. + "title": "A String", # The player's title rewarded for their game activities. "avatarImageUrl": "A String", # The base URL for the image that represents the player. }, }
@@ -263,7 +267,10 @@

Method Details

}, "playerId": "A String", # The ID of the player. "bannerUrlPortrait": "A String", # The url to the portrait mode player banner image. - "title": "A String", # The player's title rewarded for their game activities. + "profileSettings": { # This is a JSON template for profile settings # The player's profile settings. Controls whether or not the player's profile is visible to other players. + "kind": "games#profileSettings", # Uniquely identifies the type of this resource. Value is always the fixed string games#profileSettings. + "profileVisible": True or False, # The player's current profile visibility. This field is visible to both 1P and 3P APIs. + }, "experienceInfo": { # This is a JSON template for 1P/3P metadata about the player's experience. # An object to represent Play Game experience information for the player. "lastLevelUpTimestampMillis": "A String", # The timestamp when the player was leveled up, in millis since Unix epoch UTC. "currentExperiencePoints": "A String", # The current number of experience points for the player. @@ -282,6 +289,7 @@

Method Details

}, }, "bannerUrlLandscape": "A String", # The url to the landscape mode player banner image. + "title": "A String", # The player's title rewarded for their game activities. "avatarImageUrl": "A String", # The base URL for the image that represents the player. }, "formattedScoreRank": "A String", # The localized string for the rank of this score for this leaderboard. @@ -314,7 +322,10 @@

Method Details

}, "playerId": "A String", # The ID of the player. "bannerUrlPortrait": "A String", # The url to the portrait mode player banner image. - "title": "A String", # The player's title rewarded for their game activities. + "profileSettings": { # This is a JSON template for profile settings # The player's profile settings. Controls whether or not the player's profile is visible to other players. + "kind": "games#profileSettings", # Uniquely identifies the type of this resource. Value is always the fixed string games#profileSettings. + "profileVisible": True or False, # The player's current profile visibility. This field is visible to both 1P and 3P APIs. + }, "experienceInfo": { # This is a JSON template for 1P/3P metadata about the player's experience. # An object to represent Play Game experience information for the player. "lastLevelUpTimestampMillis": "A String", # The timestamp when the player was leveled up, in millis since Unix epoch UTC. "currentExperiencePoints": "A String", # The current number of experience points for the player. @@ -333,6 +344,7 @@

Method Details

}, }, "bannerUrlLandscape": "A String", # The url to the landscape mode player banner image. + "title": "A String", # The player's title rewarded for their game activities. "avatarImageUrl": "A String", # The base URL for the image that represents the player. }, "formattedScoreRank": "A String", # The localized string for the rank of this score for this leaderboard. @@ -398,7 +410,10 @@

Method Details

}, "playerId": "A String", # The ID of the player. "bannerUrlPortrait": "A String", # The url to the portrait mode player banner image. - "title": "A String", # The player's title rewarded for their game activities. + "profileSettings": { # This is a JSON template for profile settings # The player's profile settings. Controls whether or not the player's profile is visible to other players. + "kind": "games#profileSettings", # Uniquely identifies the type of this resource. Value is always the fixed string games#profileSettings. + "profileVisible": True or False, # The player's current profile visibility. This field is visible to both 1P and 3P APIs. + }, "experienceInfo": { # This is a JSON template for 1P/3P metadata about the player's experience. # An object to represent Play Game experience information for the player. "lastLevelUpTimestampMillis": "A String", # The timestamp when the player was leveled up, in millis since Unix epoch UTC. "currentExperiencePoints": "A String", # The current number of experience points for the player. @@ -417,6 +432,7 @@

Method Details

}, }, "bannerUrlLandscape": "A String", # The url to the landscape mode player banner image. + "title": "A String", # The player's title rewarded for their game activities. "avatarImageUrl": "A String", # The base URL for the image that represents the player. }, "formattedScoreRank": "A String", # The localized string for the rank of this score for this leaderboard. @@ -449,7 +465,10 @@

Method Details

}, "playerId": "A String", # The ID of the player. "bannerUrlPortrait": "A String", # The url to the portrait mode player banner image. - "title": "A String", # The player's title rewarded for their game activities. + "profileSettings": { # This is a JSON template for profile settings # The player's profile settings. Controls whether or not the player's profile is visible to other players. + "kind": "games#profileSettings", # Uniquely identifies the type of this resource. Value is always the fixed string games#profileSettings. + "profileVisible": True or False, # The player's current profile visibility. This field is visible to both 1P and 3P APIs. + }, "experienceInfo": { # This is a JSON template for 1P/3P metadata about the player's experience. # An object to represent Play Game experience information for the player. "lastLevelUpTimestampMillis": "A String", # The timestamp when the player was leveled up, in millis since Unix epoch UTC. "currentExperiencePoints": "A String", # The current number of experience points for the player. @@ -468,6 +487,7 @@

Method Details

}, }, "bannerUrlLandscape": "A String", # The url to the landscape mode player banner image. + "title": "A String", # The player's title rewarded for their game activities. "avatarImageUrl": "A String", # The base URL for the image that represents the player. }, "formattedScoreRank": "A String", # The localized string for the rank of this score for this leaderboard. diff --git a/docs/dyn/games_v1.turnBasedMatches.html b/docs/dyn/games_v1.turnBasedMatches.html index e8c90907568..922e99af83b 100644 --- a/docs/dyn/games_v1.turnBasedMatches.html +++ b/docs/dyn/games_v1.turnBasedMatches.html @@ -220,7 +220,10 @@

Method Details

}, "playerId": "A String", # The ID of the player. "bannerUrlPortrait": "A String", # The url to the portrait mode player banner image. - "title": "A String", # The player's title rewarded for their game activities. + "profileSettings": { # This is a JSON template for profile settings # The player's profile settings. Controls whether or not the player's profile is visible to other players. + "kind": "games#profileSettings", # Uniquely identifies the type of this resource. Value is always the fixed string games#profileSettings. + "profileVisible": True or False, # The player's current profile visibility. This field is visible to both 1P and 3P APIs. + }, "experienceInfo": { # This is a JSON template for 1P/3P metadata about the player's experience. # An object to represent Play Game experience information for the player. "lastLevelUpTimestampMillis": "A String", # The timestamp when the player was leveled up, in millis since Unix epoch UTC. "currentExperiencePoints": "A String", # The current number of experience points for the player. @@ -239,6 +242,7 @@

Method Details

}, }, "bannerUrlLandscape": "A String", # The url to the landscape mode player banner image. + "title": "A String", # The player's title rewarded for their game activities. "avatarImageUrl": "A String", # The base URL for the image that represents the player. }, "id": "A String", # An identifier for the participant in the scope of the match. Cannot be used to identify a player across matches or in other contexts. @@ -358,7 +362,10 @@

Method Details

}, "playerId": "A String", # The ID of the player. "bannerUrlPortrait": "A String", # The url to the portrait mode player banner image. - "title": "A String", # The player's title rewarded for their game activities. + "profileSettings": { # This is a JSON template for profile settings # The player's profile settings. Controls whether or not the player's profile is visible to other players. + "kind": "games#profileSettings", # Uniquely identifies the type of this resource. Value is always the fixed string games#profileSettings. + "profileVisible": True or False, # The player's current profile visibility. This field is visible to both 1P and 3P APIs. + }, "experienceInfo": { # This is a JSON template for 1P/3P metadata about the player's experience. # An object to represent Play Game experience information for the player. "lastLevelUpTimestampMillis": "A String", # The timestamp when the player was leveled up, in millis since Unix epoch UTC. "currentExperiencePoints": "A String", # The current number of experience points for the player. @@ -377,6 +384,7 @@

Method Details

}, }, "bannerUrlLandscape": "A String", # The url to the landscape mode player banner image. + "title": "A String", # The player's title rewarded for their game activities. "avatarImageUrl": "A String", # The base URL for the image that represents the player. }, "id": "A String", # An identifier for the participant in the scope of the match. Cannot be used to identify a player across matches or in other contexts. @@ -532,7 +540,10 @@

Method Details

}, "playerId": "A String", # The ID of the player. "bannerUrlPortrait": "A String", # The url to the portrait mode player banner image. - "title": "A String", # The player's title rewarded for their game activities. + "profileSettings": { # This is a JSON template for profile settings # The player's profile settings. Controls whether or not the player's profile is visible to other players. + "kind": "games#profileSettings", # Uniquely identifies the type of this resource. Value is always the fixed string games#profileSettings. + "profileVisible": True or False, # The player's current profile visibility. This field is visible to both 1P and 3P APIs. + }, "experienceInfo": { # This is a JSON template for 1P/3P metadata about the player's experience. # An object to represent Play Game experience information for the player. "lastLevelUpTimestampMillis": "A String", # The timestamp when the player was leveled up, in millis since Unix epoch UTC. "currentExperiencePoints": "A String", # The current number of experience points for the player. @@ -551,6 +562,7 @@

Method Details

}, }, "bannerUrlLandscape": "A String", # The url to the landscape mode player banner image. + "title": "A String", # The player's title rewarded for their game activities. "avatarImageUrl": "A String", # The base URL for the image that represents the player. }, "id": "A String", # An identifier for the participant in the scope of the match. Cannot be used to identify a player across matches or in other contexts. @@ -671,7 +683,10 @@

Method Details

}, "playerId": "A String", # The ID of the player. "bannerUrlPortrait": "A String", # The url to the portrait mode player banner image. - "title": "A String", # The player's title rewarded for their game activities. + "profileSettings": { # This is a JSON template for profile settings # The player's profile settings. Controls whether or not the player's profile is visible to other players. + "kind": "games#profileSettings", # Uniquely identifies the type of this resource. Value is always the fixed string games#profileSettings. + "profileVisible": True or False, # The player's current profile visibility. This field is visible to both 1P and 3P APIs. + }, "experienceInfo": { # This is a JSON template for 1P/3P metadata about the player's experience. # An object to represent Play Game experience information for the player. "lastLevelUpTimestampMillis": "A String", # The timestamp when the player was leveled up, in millis since Unix epoch UTC. "currentExperiencePoints": "A String", # The current number of experience points for the player. @@ -690,6 +705,7 @@

Method Details

}, }, "bannerUrlLandscape": "A String", # The url to the landscape mode player banner image. + "title": "A String", # The player's title rewarded for their game activities. "avatarImageUrl": "A String", # The base URL for the image that represents the player. }, "id": "A String", # An identifier for the participant in the scope of the match. Cannot be used to identify a player across matches or in other contexts. @@ -809,7 +825,10 @@

Method Details

}, "playerId": "A String", # The ID of the player. "bannerUrlPortrait": "A String", # The url to the portrait mode player banner image. - "title": "A String", # The player's title rewarded for their game activities. + "profileSettings": { # This is a JSON template for profile settings # The player's profile settings. Controls whether or not the player's profile is visible to other players. + "kind": "games#profileSettings", # Uniquely identifies the type of this resource. Value is always the fixed string games#profileSettings. + "profileVisible": True or False, # The player's current profile visibility. This field is visible to both 1P and 3P APIs. + }, "experienceInfo": { # This is a JSON template for 1P/3P metadata about the player's experience. # An object to represent Play Game experience information for the player. "lastLevelUpTimestampMillis": "A String", # The timestamp when the player was leveled up, in millis since Unix epoch UTC. "currentExperiencePoints": "A String", # The current number of experience points for the player. @@ -828,6 +847,7 @@

Method Details

}, }, "bannerUrlLandscape": "A String", # The url to the landscape mode player banner image. + "title": "A String", # The player's title rewarded for their game activities. "avatarImageUrl": "A String", # The base URL for the image that represents the player. }, "id": "A String", # An identifier for the participant in the scope of the match. Cannot be used to identify a player across matches or in other contexts. @@ -947,7 +967,10 @@

Method Details

}, "playerId": "A String", # The ID of the player. "bannerUrlPortrait": "A String", # The url to the portrait mode player banner image. - "title": "A String", # The player's title rewarded for their game activities. + "profileSettings": { # This is a JSON template for profile settings # The player's profile settings. Controls whether or not the player's profile is visible to other players. + "kind": "games#profileSettings", # Uniquely identifies the type of this resource. Value is always the fixed string games#profileSettings. + "profileVisible": True or False, # The player's current profile visibility. This field is visible to both 1P and 3P APIs. + }, "experienceInfo": { # This is a JSON template for 1P/3P metadata about the player's experience. # An object to represent Play Game experience information for the player. "lastLevelUpTimestampMillis": "A String", # The timestamp when the player was leveled up, in millis since Unix epoch UTC. "currentExperiencePoints": "A String", # The current number of experience points for the player. @@ -966,6 +989,7 @@

Method Details

}, }, "bannerUrlLandscape": "A String", # The url to the landscape mode player banner image. + "title": "A String", # The player's title rewarded for their game activities. "avatarImageUrl": "A String", # The base URL for the image that represents the player. }, "id": "A String", # An identifier for the participant in the scope of the match. Cannot be used to identify a player across matches or in other contexts. @@ -1087,7 +1111,10 @@

Method Details

}, "playerId": "A String", # The ID of the player. "bannerUrlPortrait": "A String", # The url to the portrait mode player banner image. - "title": "A String", # The player's title rewarded for their game activities. + "profileSettings": { # This is a JSON template for profile settings # The player's profile settings. Controls whether or not the player's profile is visible to other players. + "kind": "games#profileSettings", # Uniquely identifies the type of this resource. Value is always the fixed string games#profileSettings. + "profileVisible": True or False, # The player's current profile visibility. This field is visible to both 1P and 3P APIs. + }, "experienceInfo": { # This is a JSON template for 1P/3P metadata about the player's experience. # An object to represent Play Game experience information for the player. "lastLevelUpTimestampMillis": "A String", # The timestamp when the player was leveled up, in millis since Unix epoch UTC. "currentExperiencePoints": "A String", # The current number of experience points for the player. @@ -1106,6 +1133,7 @@

Method Details

}, }, "bannerUrlLandscape": "A String", # The url to the landscape mode player banner image. + "title": "A String", # The player's title rewarded for their game activities. "avatarImageUrl": "A String", # The base URL for the image that represents the player. }, "id": "A String", # An identifier for the participant in the scope of the match. Cannot be used to identify a player across matches or in other contexts. @@ -1231,7 +1259,10 @@

Method Details

}, "playerId": "A String", # The ID of the player. "bannerUrlPortrait": "A String", # The url to the portrait mode player banner image. - "title": "A String", # The player's title rewarded for their game activities. + "profileSettings": { # This is a JSON template for profile settings # The player's profile settings. Controls whether or not the player's profile is visible to other players. + "kind": "games#profileSettings", # Uniquely identifies the type of this resource. Value is always the fixed string games#profileSettings. + "profileVisible": True or False, # The player's current profile visibility. This field is visible to both 1P and 3P APIs. + }, "experienceInfo": { # This is a JSON template for 1P/3P metadata about the player's experience. # An object to represent Play Game experience information for the player. "lastLevelUpTimestampMillis": "A String", # The timestamp when the player was leveled up, in millis since Unix epoch UTC. "currentExperiencePoints": "A String", # The current number of experience points for the player. @@ -1250,6 +1281,7 @@

Method Details

}, }, "bannerUrlLandscape": "A String", # The url to the landscape mode player banner image. + "title": "A String", # The player's title rewarded for their game activities. "avatarImageUrl": "A String", # The base URL for the image that represents the player. }, "id": "A String", # An identifier for the participant in the scope of the match. Cannot be used to identify a player across matches or in other contexts. @@ -1388,7 +1420,10 @@

Method Details

}, "playerId": "A String", # The ID of the player. "bannerUrlPortrait": "A String", # The url to the portrait mode player banner image. - "title": "A String", # The player's title rewarded for their game activities. + "profileSettings": { # This is a JSON template for profile settings # The player's profile settings. Controls whether or not the player's profile is visible to other players. + "kind": "games#profileSettings", # Uniquely identifies the type of this resource. Value is always the fixed string games#profileSettings. + "profileVisible": True or False, # The player's current profile visibility. This field is visible to both 1P and 3P APIs. + }, "experienceInfo": { # This is a JSON template for 1P/3P metadata about the player's experience. # An object to represent Play Game experience information for the player. "lastLevelUpTimestampMillis": "A String", # The timestamp when the player was leveled up, in millis since Unix epoch UTC. "currentExperiencePoints": "A String", # The current number of experience points for the player. @@ -1407,6 +1442,7 @@

Method Details

}, }, "bannerUrlLandscape": "A String", # The url to the landscape mode player banner image. + "title": "A String", # The player's title rewarded for their game activities. "avatarImageUrl": "A String", # The base URL for the image that represents the player. }, "id": "A String", # An identifier for the participant in the scope of the match. Cannot be used to identify a player across matches or in other contexts. @@ -1514,7 +1550,10 @@

Method Details

}, "playerId": "A String", # The ID of the player. "bannerUrlPortrait": "A String", # The url to the portrait mode player banner image. - "title": "A String", # The player's title rewarded for their game activities. + "profileSettings": { # This is a JSON template for profile settings # The player's profile settings. Controls whether or not the player's profile is visible to other players. + "kind": "games#profileSettings", # Uniquely identifies the type of this resource. Value is always the fixed string games#profileSettings. + "profileVisible": True or False, # The player's current profile visibility. This field is visible to both 1P and 3P APIs. + }, "experienceInfo": { # This is a JSON template for 1P/3P metadata about the player's experience. # An object to represent Play Game experience information for the player. "lastLevelUpTimestampMillis": "A String", # The timestamp when the player was leveled up, in millis since Unix epoch UTC. "currentExperiencePoints": "A String", # The current number of experience points for the player. @@ -1533,6 +1572,7 @@

Method Details

}, }, "bannerUrlLandscape": "A String", # The url to the landscape mode player banner image. + "title": "A String", # The player's title rewarded for their game activities. "avatarImageUrl": "A String", # The base URL for the image that represents the player. }, "id": "A String", # An identifier for the participant in the scope of the match. Cannot be used to identify a player across matches or in other contexts. @@ -1659,7 +1699,10 @@

Method Details

}, "playerId": "A String", # The ID of the player. "bannerUrlPortrait": "A String", # The url to the portrait mode player banner image. - "title": "A String", # The player's title rewarded for their game activities. + "profileSettings": { # This is a JSON template for profile settings # The player's profile settings. Controls whether or not the player's profile is visible to other players. + "kind": "games#profileSettings", # Uniquely identifies the type of this resource. Value is always the fixed string games#profileSettings. + "profileVisible": True or False, # The player's current profile visibility. This field is visible to both 1P and 3P APIs. + }, "experienceInfo": { # This is a JSON template for 1P/3P metadata about the player's experience. # An object to represent Play Game experience information for the player. "lastLevelUpTimestampMillis": "A String", # The timestamp when the player was leveled up, in millis since Unix epoch UTC. "currentExperiencePoints": "A String", # The current number of experience points for the player. @@ -1678,6 +1721,7 @@

Method Details

}, }, "bannerUrlLandscape": "A String", # The url to the landscape mode player banner image. + "title": "A String", # The player's title rewarded for their game activities. "avatarImageUrl": "A String", # The base URL for the image that represents the player. }, "id": "A String", # An identifier for the participant in the scope of the match. Cannot be used to identify a player across matches or in other contexts. @@ -1843,7 +1887,10 @@

Method Details

}, "playerId": "A String", # The ID of the player. "bannerUrlPortrait": "A String", # The url to the portrait mode player banner image. - "title": "A String", # The player's title rewarded for their game activities. + "profileSettings": { # This is a JSON template for profile settings # The player's profile settings. Controls whether or not the player's profile is visible to other players. + "kind": "games#profileSettings", # Uniquely identifies the type of this resource. Value is always the fixed string games#profileSettings. + "profileVisible": True or False, # The player's current profile visibility. This field is visible to both 1P and 3P APIs. + }, "experienceInfo": { # This is a JSON template for 1P/3P metadata about the player's experience. # An object to represent Play Game experience information for the player. "lastLevelUpTimestampMillis": "A String", # The timestamp when the player was leveled up, in millis since Unix epoch UTC. "currentExperiencePoints": "A String", # The current number of experience points for the player. @@ -1862,6 +1909,7 @@

Method Details

}, }, "bannerUrlLandscape": "A String", # The url to the landscape mode player banner image. + "title": "A String", # The player's title rewarded for their game activities. "avatarImageUrl": "A String", # The base URL for the image that represents the player. }, "id": "A String", # An identifier for the participant in the scope of the match. Cannot be used to identify a player across matches or in other contexts. diff --git a/docs/dyn/genomics_v1.annotations.html b/docs/dyn/genomics_v1.annotations.html new file mode 100644 index 00000000000..aa05359e691 --- /dev/null +++ b/docs/dyn/genomics_v1.annotations.html @@ -0,0 +1,665 @@ + + + +

Genomics API . annotations

+

Instance Methods

+

+ batchCreate(body, x__xgafv=None)

+

Creates one or more new annotations atomically. All annotations must belong to the same annotation set. Caller must have WRITE permission for this annotation set. For optimal performance, batch positionally adjacent annotations together. If the request has a systemic issue, such as an attempt to write to an inaccessible annotation set, the entire RPC will fail accordingly. For lesser data issues, when possible an error will be isolated to the corresponding batch entry in the response; the remaining well formed annotations will be created normally. For details on the requirements for each individual annotation resource, see CreateAnnotation.

+

+ create(body, x__xgafv=None)

+

Creates a new annotation. Caller must have WRITE permission for the associated annotation set. The following fields are required: * annotationSetId * referenceName or referenceId ### Transcripts For annotations of type TRANSCRIPT, the following fields of transcript must be provided: * exons.start * exons.end All other fields may be optionally specified, unless documented as being server-generated (for example, the `id` field). The annotated range must be no longer than 100Mbp (mega base pairs). See the Annotation resource for additional restrictions on each field.

+

+ delete(annotationId, x__xgafv=None)

+

Deletes an annotation. Caller must have WRITE permission for the associated annotation set.

+

+ get(annotationId, x__xgafv=None)

+

Gets an annotation. Caller must have READ permission for the associated annotation set.

+

+ search(body, x__xgafv=None)

+

Searches for annotations that match the given criteria. Results are ordered by genomic coordinate (by reference sequence, then position). Annotations with equivalent genomic coordinates are returned in an unspecified order. This order is consistent, such that two queries for the same content (regardless of page size) yield annotations in the same order across their respective streams of paginated responses. Caller must have READ permission for the queried annotation sets.

+

+ update(annotationId, body, updateMask=None, x__xgafv=None)

+

Updates an annotation. Caller must have WRITE permission for the associated dataset.

+

Method Details

+
+ batchCreate(body, x__xgafv=None) +
Creates one or more new annotations atomically. All annotations must belong to the same annotation set. Caller must have WRITE permission for this annotation set. For optimal performance, batch positionally adjacent annotations together. If the request has a systemic issue, such as an attempt to write to an inaccessible annotation set, the entire RPC will fail accordingly. For lesser data issues, when possible an error will be isolated to the corresponding batch entry in the response; the remaining well formed annotations will be created normally. For details on the requirements for each individual annotation resource, see CreateAnnotation.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "annotations": [ # The annotations to be created. At most 4096 can be specified in a single request.
+      { # An annotation describes a region of reference genome. The value of an annotation may be one of several canonical types, supplemented by arbitrary info tags. An annotation is not inherently associated with a specific sample or individual (though a client could choose to use annotations in this way). Example canonical annotation types are `GENE` and `VARIANT`.
+        "info": { # A map of additional read alignment information. This must be of the form map (string key mapping to a list of string values).
+          "a_key": [
+            "",
+          ],
+        },
+        "referenceId": "A String", # The ID of the Google Genomics reference associated with this range.
+        "end": "A String", # The end position of the range on the reference, 0-based exclusive.
+        "name": "A String", # The display name of this annotation.
+        "transcript": { # A transcript represents the assertion that a particular region of the reference genome may be transcribed as RNA. # A transcript value represents the assertion that a particular region of the reference genome may be transcribed as RNA. An alternative splicing pattern would be represented as a separate transcript object. This field is only set for annotations of type `TRANSCRIPT`.
+          "codingSequence": { # The range of the coding sequence for this transcript, if any. To determine the exact ranges of coding sequence, intersect this range with those of the exons, if any. If there are any exons, the codingSequence must start and end within them. Note that in some cases, the reference genome will not exactly match the observed mRNA transcript e.g. due to variance in the source genome from reference. In these cases, exon.frame will not necessarily match the expected reference reading frame and coding exon reference bases cannot necessarily be concatenated to produce the original transcript mRNA.
+            "start": "A String", # The start of the coding sequence on this annotation's reference sequence, 0-based inclusive. Note that this position is relative to the reference start, and *not* the containing annotation start.
+            "end": "A String", # The end of the coding sequence on this annotation's reference sequence, 0-based exclusive. Note that this position is relative to the reference start, and *not* the containing annotation start.
+          },
+          "exons": [ # The exons that compose this transcript. This field should be unset for genomes where transcript splicing does not occur, for example prokaryotes. Introns are regions of the transcript that are not included in the spliced RNA product. Though not explicitly modeled here, intron ranges can be deduced; all regions of this transcript that are not exons are introns. Exonic sequences do not necessarily code for a translational product (amino acids). Only the regions of exons bounded by the codingSequence correspond to coding DNA sequence. Exons are ordered by start position and may not overlap.
+            {
+              "start": "A String", # The start position of the exon on this annotation's reference sequence, 0-based inclusive. Note that this is relative to the reference start, and **not** the containing annotation start.
+              "frame": 42, # The frame of this exon. Contains a value of 0, 1, or 2, which indicates the offset of the first coding base of the exon within the reading frame of the coding DNA sequence, if any. This field is dependent on the strandedness of this annotation (see Annotation.reverse_strand). For forward stranded annotations, this offset is relative to the exon.start. For reverse strand annotations, this offset is relative to the exon.end `- 1`. Unset if this exon does not intersect the coding sequence. Upon creation of a transcript, the frame must be populated for all or none of the coding exons.
+              "end": "A String", # The end position of the exon on this annotation's reference sequence, 0-based exclusive. Note that this is relative to the reference start, and *not* the containing annotation start.
+            },
+          ],
+          "geneId": "A String", # The annotation ID of the gene from which this transcript is transcribed.
+        },
+        "variant": { # A variant annotation, which describes the effect of a variant on the genome, the coding sequence, and/or higher level consequences at the organism level e.g. pathogenicity. This field is only set for annotations of type `VARIANT`.
+          "type": "A String", # Type has been adapted from ClinVar's list of variant types.
+          "effect": "A String", # Effect of the variant on the coding sequence.
+          "transcriptIds": [ # Google annotation IDs of the transcripts affected by this variant. These should be provided when the variant is created.
+            "A String",
+          ],
+          "alternateBases": "A String", # The alternate allele for this variant. If multiple alternate alleles exist at this location, create a separate variant for each one, as they may represent distinct conditions.
+          "clinicalSignificance": "A String", # Describes the clinical significance of a variant. It is adapted from the ClinVar controlled vocabulary for clinical significance described at: http://www.ncbi.nlm.nih.gov/clinvar/docs/clinsig/
+          "conditions": [ # The set of conditions associated with this variant. A condition describes the way a variant influences human health.
+            {
+              "conceptId": "A String", # The MedGen concept id associated with this gene. Search for these IDs at http://www.ncbi.nlm.nih.gov/medgen/
+              "externalIds": [ # The set of external IDs for this condition.
+                {
+                  "sourceName": "A String", # The name of the source of this data.
+                  "id": "A String", # The id used by the source of this data.
+                },
+              ],
+              "omimId": "A String", # The OMIM id for this condition. Search for these IDs at http://omim.org/
+              "names": [ # A set of names for the condition.
+                "A String",
+              ],
+            },
+          ],
+          "geneId": "A String", # Google annotation ID of the gene affected by this variant. This should be provided when the variant is created.
+        },
+        "start": "A String", # The start position of the range on the reference, 0-based inclusive.
+        "annotationSetId": "A String", # The annotation set to which this annotation belongs.
+        "referenceName": "A String", # The display name corresponding to the reference specified by `referenceId`, for example `chr1`, `1`, or `chrX`.
+        "reverseStrand": True or False, # Whether this range refers to the reverse strand, as opposed to the forward strand. Note that regardless of this field, the start/end position of the range always refer to the forward strand.
+        "type": "A String", # The data type for this annotation. Must match the containing annotation set's type.
+        "id": "A String", # The server-generated annotation ID, unique across all annotations.
+      },
+    ],
+  }
+
+  x__xgafv: string, V1 error format.
+
+Returns:
+  An object of the form:
+
+    {
+    "entries": [ # The resulting per-annotation entries, ordered consistently with the original request.
+      {
+        "status": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). The error model is designed to be: - Simple to use and understand for most users - Flexible enough to meet unexpected needs # Overview The `Status` message contains three pieces of data: error code, error message, and error details. The error code should be an enum value of google.rpc.Code, but it may accept additional error codes if needed. The error message should be a developer-facing English message that helps developers *understand* and *resolve* the error. If a localized user-facing error message is needed, put the localized message in the error details or localize it in the client. The optional error details may contain arbitrary information about the error. There is a predefined set of error detail types in the package `google.rpc` which can be used for common error conditions. # Language mapping The `Status` message is the logical representation of the error model, but it is not necessarily the actual wire format. When the `Status` message is exposed in different client libraries and different wire protocols, it can be mapped differently. For example, it will likely be mapped to some exceptions in Java, but more likely mapped to some error codes in C. # Other uses The error model and the `Status` message can be used in a variety of environments, either with or without APIs, to provide a consistent developer experience across different environments. Example uses of this error model include: - Partial errors. If a service needs to return partial errors to the client, it may embed the `Status` in the normal response to indicate the partial errors. - Workflow errors. A typical workflow has multiple steps. Each step may have a `Status` message for error reporting purpose. - Batch operations. If a client uses batch request and batch response, the `Status` message should be used directly inside batch response, one for each error sub-response. - Asynchronous operations. If an API call embeds asynchronous operation results in its response, the status of those operations should be represented directly using the `Status` message. - Logging. If some API errors are stored in logs, the message `Status` could be used directly after any stripping needed for security/privacy reasons. # The creation status.
+          "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
+          "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+          "details": [ # A list of messages that carry the error details. There will be a common set of message types for APIs to use.
+            {
+              "a_key": "", # Properties of the object. Contains field @ype with type URL.
+            },
+          ],
+        },
+        "annotation": { # An annotation describes a region of reference genome. The value of an annotation may be one of several canonical types, supplemented by arbitrary info tags. An annotation is not inherently associated with a specific sample or individual (though a client could choose to use annotations in this way). Example canonical annotation types are `GENE` and `VARIANT`. # The created annotation, if creation was successful.
+          "info": { # A map of additional read alignment information. This must be of the form map (string key mapping to a list of string values).
+            "a_key": [
+              "",
+            ],
+          },
+          "referenceId": "A String", # The ID of the Google Genomics reference associated with this range.
+          "end": "A String", # The end position of the range on the reference, 0-based exclusive.
+          "name": "A String", # The display name of this annotation.
+          "transcript": { # A transcript represents the assertion that a particular region of the reference genome may be transcribed as RNA. # A transcript value represents the assertion that a particular region of the reference genome may be transcribed as RNA. An alternative splicing pattern would be represented as a separate transcript object. This field is only set for annotations of type `TRANSCRIPT`.
+            "codingSequence": { # The range of the coding sequence for this transcript, if any. To determine the exact ranges of coding sequence, intersect this range with those of the exons, if any. If there are any exons, the codingSequence must start and end within them. Note that in some cases, the reference genome will not exactly match the observed mRNA transcript e.g. due to variance in the source genome from reference. In these cases, exon.frame will not necessarily match the expected reference reading frame and coding exon reference bases cannot necessarily be concatenated to produce the original transcript mRNA.
+              "start": "A String", # The start of the coding sequence on this annotation's reference sequence, 0-based inclusive. Note that this position is relative to the reference start, and *not* the containing annotation start.
+              "end": "A String", # The end of the coding sequence on this annotation's reference sequence, 0-based exclusive. Note that this position is relative to the reference start, and *not* the containing annotation start.
+            },
+            "exons": [ # The exons that compose this transcript. This field should be unset for genomes where transcript splicing does not occur, for example prokaryotes. Introns are regions of the transcript that are not included in the spliced RNA product. Though not explicitly modeled here, intron ranges can be deduced; all regions of this transcript that are not exons are introns. Exonic sequences do not necessarily code for a translational product (amino acids). Only the regions of exons bounded by the codingSequence correspond to coding DNA sequence. Exons are ordered by start position and may not overlap.
+              {
+                "start": "A String", # The start position of the exon on this annotation's reference sequence, 0-based inclusive. Note that this is relative to the reference start, and **not** the containing annotation start.
+                "frame": 42, # The frame of this exon. Contains a value of 0, 1, or 2, which indicates the offset of the first coding base of the exon within the reading frame of the coding DNA sequence, if any. This field is dependent on the strandedness of this annotation (see Annotation.reverse_strand). For forward stranded annotations, this offset is relative to the exon.start. For reverse strand annotations, this offset is relative to the exon.end `- 1`. Unset if this exon does not intersect the coding sequence. Upon creation of a transcript, the frame must be populated for all or none of the coding exons.
+                "end": "A String", # The end position of the exon on this annotation's reference sequence, 0-based exclusive. Note that this is relative to the reference start, and *not* the containing annotation start.
+              },
+            ],
+            "geneId": "A String", # The annotation ID of the gene from which this transcript is transcribed.
+          },
+          "variant": { # A variant annotation, which describes the effect of a variant on the genome, the coding sequence, and/or higher level consequences at the organism level e.g. pathogenicity. This field is only set for annotations of type `VARIANT`.
+            "type": "A String", # Type has been adapted from ClinVar's list of variant types.
+            "effect": "A String", # Effect of the variant on the coding sequence.
+            "transcriptIds": [ # Google annotation IDs of the transcripts affected by this variant. These should be provided when the variant is created.
+              "A String",
+            ],
+            "alternateBases": "A String", # The alternate allele for this variant. If multiple alternate alleles exist at this location, create a separate variant for each one, as they may represent distinct conditions.
+            "clinicalSignificance": "A String", # Describes the clinical significance of a variant. It is adapted from the ClinVar controlled vocabulary for clinical significance described at: http://www.ncbi.nlm.nih.gov/clinvar/docs/clinsig/
+            "conditions": [ # The set of conditions associated with this variant. A condition describes the way a variant influences human health.
+              {
+                "conceptId": "A String", # The MedGen concept id associated with this gene. Search for these IDs at http://www.ncbi.nlm.nih.gov/medgen/
+                "externalIds": [ # The set of external IDs for this condition.
+                  {
+                    "sourceName": "A String", # The name of the source of this data.
+                    "id": "A String", # The id used by the source of this data.
+                  },
+                ],
+                "omimId": "A String", # The OMIM id for this condition. Search for these IDs at http://omim.org/
+                "names": [ # A set of names for the condition.
+                  "A String",
+                ],
+              },
+            ],
+            "geneId": "A String", # Google annotation ID of the gene affected by this variant. This should be provided when the variant is created.
+          },
+          "start": "A String", # The start position of the range on the reference, 0-based inclusive.
+          "annotationSetId": "A String", # The annotation set to which this annotation belongs.
+          "referenceName": "A String", # The display name corresponding to the reference specified by `referenceId`, for example `chr1`, `1`, or `chrX`.
+          "reverseStrand": True or False, # Whether this range refers to the reverse strand, as opposed to the forward strand. Note that regardless of this field, the start/end position of the range always refer to the forward strand.
+          "type": "A String", # The data type for this annotation. Must match the containing annotation set's type.
+          "id": "A String", # The server-generated annotation ID, unique across all annotations.
+        },
+      },
+    ],
+  }
+
+ +
+ create(body, x__xgafv=None) +
Creates a new annotation. Caller must have WRITE permission for the associated annotation set. The following fields are required: * annotationSetId * referenceName or referenceId ### Transcripts For annotations of type TRANSCRIPT, the following fields of transcript must be provided: * exons.start * exons.end All other fields may be optionally specified, unless documented as being server-generated (for example, the `id` field). The annotated range must be no longer than 100Mbp (mega base pairs). See the Annotation resource for additional restrictions on each field.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # An annotation describes a region of reference genome. The value of an annotation may be one of several canonical types, supplemented by arbitrary info tags. An annotation is not inherently associated with a specific sample or individual (though a client could choose to use annotations in this way). Example canonical annotation types are `GENE` and `VARIANT`.
+  "info": { # A map of additional read alignment information. This must be of the form map (string key mapping to a list of string values).
+    "a_key": [
+      "",
+    ],
+  },
+  "referenceId": "A String", # The ID of the Google Genomics reference associated with this range.
+  "end": "A String", # The end position of the range on the reference, 0-based exclusive.
+  "name": "A String", # The display name of this annotation.
+  "transcript": { # A transcript represents the assertion that a particular region of the reference genome may be transcribed as RNA. # A transcript value represents the assertion that a particular region of the reference genome may be transcribed as RNA. An alternative splicing pattern would be represented as a separate transcript object. This field is only set for annotations of type `TRANSCRIPT`.
+    "codingSequence": { # The range of the coding sequence for this transcript, if any. To determine the exact ranges of coding sequence, intersect this range with those of the exons, if any. If there are any exons, the codingSequence must start and end within them. Note that in some cases, the reference genome will not exactly match the observed mRNA transcript e.g. due to variance in the source genome from reference. In these cases, exon.frame will not necessarily match the expected reference reading frame and coding exon reference bases cannot necessarily be concatenated to produce the original transcript mRNA.
+      "start": "A String", # The start of the coding sequence on this annotation's reference sequence, 0-based inclusive. Note that this position is relative to the reference start, and *not* the containing annotation start.
+      "end": "A String", # The end of the coding sequence on this annotation's reference sequence, 0-based exclusive. Note that this position is relative to the reference start, and *not* the containing annotation start.
+    },
+    "exons": [ # The exons that compose this transcript. This field should be unset for genomes where transcript splicing does not occur, for example prokaryotes. Introns are regions of the transcript that are not included in the spliced RNA product. Though not explicitly modeled here, intron ranges can be deduced; all regions of this transcript that are not exons are introns. Exonic sequences do not necessarily code for a translational product (amino acids). Only the regions of exons bounded by the codingSequence correspond to coding DNA sequence. Exons are ordered by start position and may not overlap.
+      {
+        "start": "A String", # The start position of the exon on this annotation's reference sequence, 0-based inclusive. Note that this is relative to the reference start, and **not** the containing annotation start.
+        "frame": 42, # The frame of this exon. Contains a value of 0, 1, or 2, which indicates the offset of the first coding base of the exon within the reading frame of the coding DNA sequence, if any. This field is dependent on the strandedness of this annotation (see Annotation.reverse_strand). For forward stranded annotations, this offset is relative to the exon.start. For reverse strand annotations, this offset is relative to the exon.end `- 1`. Unset if this exon does not intersect the coding sequence. Upon creation of a transcript, the frame must be populated for all or none of the coding exons.
+        "end": "A String", # The end position of the exon on this annotation's reference sequence, 0-based exclusive. Note that this is relative to the reference start, and *not* the containing annotation start.
+      },
+    ],
+    "geneId": "A String", # The annotation ID of the gene from which this transcript is transcribed.
+  },
+  "variant": { # A variant annotation, which describes the effect of a variant on the genome, the coding sequence, and/or higher level consequences at the organism level e.g. pathogenicity. This field is only set for annotations of type `VARIANT`.
+    "type": "A String", # Type has been adapted from ClinVar's list of variant types.
+    "effect": "A String", # Effect of the variant on the coding sequence.
+    "transcriptIds": [ # Google annotation IDs of the transcripts affected by this variant. These should be provided when the variant is created.
+      "A String",
+    ],
+    "alternateBases": "A String", # The alternate allele for this variant. If multiple alternate alleles exist at this location, create a separate variant for each one, as they may represent distinct conditions.
+    "clinicalSignificance": "A String", # Describes the clinical significance of a variant. It is adapted from the ClinVar controlled vocabulary for clinical significance described at: http://www.ncbi.nlm.nih.gov/clinvar/docs/clinsig/
+    "conditions": [ # The set of conditions associated with this variant. A condition describes the way a variant influences human health.
+      {
+        "conceptId": "A String", # The MedGen concept id associated with this gene. Search for these IDs at http://www.ncbi.nlm.nih.gov/medgen/
+        "externalIds": [ # The set of external IDs for this condition.
+          {
+            "sourceName": "A String", # The name of the source of this data.
+            "id": "A String", # The id used by the source of this data.
+          },
+        ],
+        "omimId": "A String", # The OMIM id for this condition. Search for these IDs at http://omim.org/
+        "names": [ # A set of names for the condition.
+          "A String",
+        ],
+      },
+    ],
+    "geneId": "A String", # Google annotation ID of the gene affected by this variant. This should be provided when the variant is created.
+  },
+  "start": "A String", # The start position of the range on the reference, 0-based inclusive.
+  "annotationSetId": "A String", # The annotation set to which this annotation belongs.
+  "referenceName": "A String", # The display name corresponding to the reference specified by `referenceId`, for example `chr1`, `1`, or `chrX`.
+  "reverseStrand": True or False, # Whether this range refers to the reverse strand, as opposed to the forward strand. Note that regardless of this field, the start/end position of the range always refer to the forward strand.
+  "type": "A String", # The data type for this annotation. Must match the containing annotation set's type.
+  "id": "A String", # The server-generated annotation ID, unique across all annotations.
+}
+
+  x__xgafv: string, V1 error format.
+
+Returns:
+  An object of the form:
+
+    { # An annotation describes a region of reference genome. The value of an annotation may be one of several canonical types, supplemented by arbitrary info tags. An annotation is not inherently associated with a specific sample or individual (though a client could choose to use annotations in this way). Example canonical annotation types are `GENE` and `VARIANT`.
+    "info": { # A map of additional read alignment information. This must be of the form map (string key mapping to a list of string values).
+      "a_key": [
+        "",
+      ],
+    },
+    "referenceId": "A String", # The ID of the Google Genomics reference associated with this range.
+    "end": "A String", # The end position of the range on the reference, 0-based exclusive.
+    "name": "A String", # The display name of this annotation.
+    "transcript": { # A transcript represents the assertion that a particular region of the reference genome may be transcribed as RNA. # A transcript value represents the assertion that a particular region of the reference genome may be transcribed as RNA. An alternative splicing pattern would be represented as a separate transcript object. This field is only set for annotations of type `TRANSCRIPT`.
+      "codingSequence": { # The range of the coding sequence for this transcript, if any. To determine the exact ranges of coding sequence, intersect this range with those of the exons, if any. If there are any exons, the codingSequence must start and end within them. Note that in some cases, the reference genome will not exactly match the observed mRNA transcript e.g. due to variance in the source genome from reference. In these cases, exon.frame will not necessarily match the expected reference reading frame and coding exon reference bases cannot necessarily be concatenated to produce the original transcript mRNA.
+        "start": "A String", # The start of the coding sequence on this annotation's reference sequence, 0-based inclusive. Note that this position is relative to the reference start, and *not* the containing annotation start.
+        "end": "A String", # The end of the coding sequence on this annotation's reference sequence, 0-based exclusive. Note that this position is relative to the reference start, and *not* the containing annotation start.
+      },
+      "exons": [ # The exons that compose this transcript. This field should be unset for genomes where transcript splicing does not occur, for example prokaryotes. Introns are regions of the transcript that are not included in the spliced RNA product. Though not explicitly modeled here, intron ranges can be deduced; all regions of this transcript that are not exons are introns. Exonic sequences do not necessarily code for a translational product (amino acids). Only the regions of exons bounded by the codingSequence correspond to coding DNA sequence. Exons are ordered by start position and may not overlap.
+        {
+          "start": "A String", # The start position of the exon on this annotation's reference sequence, 0-based inclusive. Note that this is relative to the reference start, and **not** the containing annotation start.
+          "frame": 42, # The frame of this exon. Contains a value of 0, 1, or 2, which indicates the offset of the first coding base of the exon within the reading frame of the coding DNA sequence, if any. This field is dependent on the strandedness of this annotation (see Annotation.reverse_strand). For forward stranded annotations, this offset is relative to the exon.start. For reverse strand annotations, this offset is relative to the exon.end `- 1`. Unset if this exon does not intersect the coding sequence. Upon creation of a transcript, the frame must be populated for all or none of the coding exons.
+          "end": "A String", # The end position of the exon on this annotation's reference sequence, 0-based exclusive. Note that this is relative to the reference start, and *not* the containing annotation start.
+        },
+      ],
+      "geneId": "A String", # The annotation ID of the gene from which this transcript is transcribed.
+    },
+    "variant": { # A variant annotation, which describes the effect of a variant on the genome, the coding sequence, and/or higher level consequences at the organism level e.g. pathogenicity. This field is only set for annotations of type `VARIANT`.
+      "type": "A String", # Type has been adapted from ClinVar's list of variant types.
+      "effect": "A String", # Effect of the variant on the coding sequence.
+      "transcriptIds": [ # Google annotation IDs of the transcripts affected by this variant. These should be provided when the variant is created.
+        "A String",
+      ],
+      "alternateBases": "A String", # The alternate allele for this variant. If multiple alternate alleles exist at this location, create a separate variant for each one, as they may represent distinct conditions.
+      "clinicalSignificance": "A String", # Describes the clinical significance of a variant. It is adapted from the ClinVar controlled vocabulary for clinical significance described at: http://www.ncbi.nlm.nih.gov/clinvar/docs/clinsig/
+      "conditions": [ # The set of conditions associated with this variant. A condition describes the way a variant influences human health.
+        {
+          "conceptId": "A String", # The MedGen concept id associated with this gene. Search for these IDs at http://www.ncbi.nlm.nih.gov/medgen/
+          "externalIds": [ # The set of external IDs for this condition.
+            {
+              "sourceName": "A String", # The name of the source of this data.
+              "id": "A String", # The id used by the source of this data.
+            },
+          ],
+          "omimId": "A String", # The OMIM id for this condition. Search for these IDs at http://omim.org/
+          "names": [ # A set of names for the condition.
+            "A String",
+          ],
+        },
+      ],
+      "geneId": "A String", # Google annotation ID of the gene affected by this variant. This should be provided when the variant is created.
+    },
+    "start": "A String", # The start position of the range on the reference, 0-based inclusive.
+    "annotationSetId": "A String", # The annotation set to which this annotation belongs.
+    "referenceName": "A String", # The display name corresponding to the reference specified by `referenceId`, for example `chr1`, `1`, or `chrX`.
+    "reverseStrand": True or False, # Whether this range refers to the reverse strand, as opposed to the forward strand. Note that regardless of this field, the start/end position of the range always refer to the forward strand.
+    "type": "A String", # The data type for this annotation. Must match the containing annotation set's type.
+    "id": "A String", # The server-generated annotation ID, unique across all annotations.
+  }
+
+ +
+ delete(annotationId, x__xgafv=None) +
Deletes an annotation. Caller must have WRITE permission for the associated annotation set.
+
+Args:
+  annotationId: string, The ID of the annotation to be deleted. (required)
+  x__xgafv: string, V1 error format.
+
+Returns:
+  An object of the form:
+
+    { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.
+  }
+
+ +
+ get(annotationId, x__xgafv=None) +
Gets an annotation. Caller must have READ permission for the associated annotation set.
+
+Args:
+  annotationId: string, The ID of the annotation to be retrieved. (required)
+  x__xgafv: string, V1 error format.
+
+Returns:
+  An object of the form:
+
+    { # An annotation describes a region of reference genome. The value of an annotation may be one of several canonical types, supplemented by arbitrary info tags. An annotation is not inherently associated with a specific sample or individual (though a client could choose to use annotations in this way). Example canonical annotation types are `GENE` and `VARIANT`.
+    "info": { # A map of additional read alignment information. This must be of the form map (string key mapping to a list of string values).
+      "a_key": [
+        "",
+      ],
+    },
+    "referenceId": "A String", # The ID of the Google Genomics reference associated with this range.
+    "end": "A String", # The end position of the range on the reference, 0-based exclusive.
+    "name": "A String", # The display name of this annotation.
+    "transcript": { # A transcript represents the assertion that a particular region of the reference genome may be transcribed as RNA. # A transcript value represents the assertion that a particular region of the reference genome may be transcribed as RNA. An alternative splicing pattern would be represented as a separate transcript object. This field is only set for annotations of type `TRANSCRIPT`.
+      "codingSequence": { # The range of the coding sequence for this transcript, if any. To determine the exact ranges of coding sequence, intersect this range with those of the exons, if any. If there are any exons, the codingSequence must start and end within them. Note that in some cases, the reference genome will not exactly match the observed mRNA transcript e.g. due to variance in the source genome from reference. In these cases, exon.frame will not necessarily match the expected reference reading frame and coding exon reference bases cannot necessarily be concatenated to produce the original transcript mRNA.
+        "start": "A String", # The start of the coding sequence on this annotation's reference sequence, 0-based inclusive. Note that this position is relative to the reference start, and *not* the containing annotation start.
+        "end": "A String", # The end of the coding sequence on this annotation's reference sequence, 0-based exclusive. Note that this position is relative to the reference start, and *not* the containing annotation start.
+      },
+      "exons": [ # The exons that compose this transcript. This field should be unset for genomes where transcript splicing does not occur, for example prokaryotes. Introns are regions of the transcript that are not included in the spliced RNA product. Though not explicitly modeled here, intron ranges can be deduced; all regions of this transcript that are not exons are introns. Exonic sequences do not necessarily code for a translational product (amino acids). Only the regions of exons bounded by the codingSequence correspond to coding DNA sequence. Exons are ordered by start position and may not overlap.
+        {
+          "start": "A String", # The start position of the exon on this annotation's reference sequence, 0-based inclusive. Note that this is relative to the reference start, and **not** the containing annotation start.
+          "frame": 42, # The frame of this exon. Contains a value of 0, 1, or 2, which indicates the offset of the first coding base of the exon within the reading frame of the coding DNA sequence, if any. This field is dependent on the strandedness of this annotation (see Annotation.reverse_strand). For forward stranded annotations, this offset is relative to the exon.start. For reverse strand annotations, this offset is relative to the exon.end `- 1`. Unset if this exon does not intersect the coding sequence. Upon creation of a transcript, the frame must be populated for all or none of the coding exons.
+          "end": "A String", # The end position of the exon on this annotation's reference sequence, 0-based exclusive. Note that this is relative to the reference start, and *not* the containing annotation start.
+        },
+      ],
+      "geneId": "A String", # The annotation ID of the gene from which this transcript is transcribed.
+    },
+    "variant": { # A variant annotation, which describes the effect of a variant on the genome, the coding sequence, and/or higher level consequences at the organism level e.g. pathogenicity. This field is only set for annotations of type `VARIANT`.
+      "type": "A String", # Type has been adapted from ClinVar's list of variant types.
+      "effect": "A String", # Effect of the variant on the coding sequence.
+      "transcriptIds": [ # Google annotation IDs of the transcripts affected by this variant. These should be provided when the variant is created.
+        "A String",
+      ],
+      "alternateBases": "A String", # The alternate allele for this variant. If multiple alternate alleles exist at this location, create a separate variant for each one, as they may represent distinct conditions.
+      "clinicalSignificance": "A String", # Describes the clinical significance of a variant. It is adapted from the ClinVar controlled vocabulary for clinical significance described at: http://www.ncbi.nlm.nih.gov/clinvar/docs/clinsig/
+      "conditions": [ # The set of conditions associated with this variant. A condition describes the way a variant influences human health.
+        {
+          "conceptId": "A String", # The MedGen concept id associated with this gene. Search for these IDs at http://www.ncbi.nlm.nih.gov/medgen/
+          "externalIds": [ # The set of external IDs for this condition.
+            {
+              "sourceName": "A String", # The name of the source of this data.
+              "id": "A String", # The id used by the source of this data.
+            },
+          ],
+          "omimId": "A String", # The OMIM id for this condition. Search for these IDs at http://omim.org/
+          "names": [ # A set of names for the condition.
+            "A String",
+          ],
+        },
+      ],
+      "geneId": "A String", # Google annotation ID of the gene affected by this variant. This should be provided when the variant is created.
+    },
+    "start": "A String", # The start position of the range on the reference, 0-based inclusive.
+    "annotationSetId": "A String", # The annotation set to which this annotation belongs.
+    "referenceName": "A String", # The display name corresponding to the reference specified by `referenceId`, for example `chr1`, `1`, or `chrX`.
+    "reverseStrand": True or False, # Whether this range refers to the reverse strand, as opposed to the forward strand. Note that regardless of this field, the start/end position of the range always refer to the forward strand.
+    "type": "A String", # The data type for this annotation. Must match the containing annotation set's type.
+    "id": "A String", # The server-generated annotation ID, unique across all annotations.
+  }
+
+ +
+ search(body, x__xgafv=None) +
Searches for annotations that match the given criteria. Results are ordered by genomic coordinate (by reference sequence, then position). Annotations with equivalent genomic coordinates are returned in an unspecified order. This order is consistent, such that two queries for the same content (regardless of page size) yield annotations in the same order across their respective streams of paginated responses. Caller must have READ permission for the queried annotation sets.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "referenceId": "A String", # The ID of the reference to query.
+    "end": "A String", # The end position of the range on the reference, 0-based exclusive. If referenceId or referenceName must be specified, Defaults to the length of the reference.
+    "pageSize": 42, # The maximum number of results to return in a single page. If unspecified, defaults to 256. The maximum value is 2048.
+    "pageToken": "A String", # The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of `nextPageToken` from the previous response.
+    "annotationSetIds": [ # Required. The annotation sets to search within. The caller must have `READ` access to these annotation sets. All queried annotation sets must have the same type.
+      "A String",
+    ],
+    "start": "A String", # The start position of the range on the reference, 0-based inclusive. If specified, referenceId or referenceName must be specified. Defaults to 0.
+    "referenceName": "A String", # The name of the reference to query, within the reference set associated with this query.
+  }
+
+  x__xgafv: string, V1 error format.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # The continuation token, which is used to page through large result sets. Provide this value in a subsequent request to return the next page of results. This field will be empty if there aren't any additional results.
+    "annotations": [ # The matching annotations.
+      { # An annotation describes a region of reference genome. The value of an annotation may be one of several canonical types, supplemented by arbitrary info tags. An annotation is not inherently associated with a specific sample or individual (though a client could choose to use annotations in this way). Example canonical annotation types are `GENE` and `VARIANT`.
+        "info": { # A map of additional read alignment information. This must be of the form map (string key mapping to a list of string values).
+          "a_key": [
+            "",
+          ],
+        },
+        "referenceId": "A String", # The ID of the Google Genomics reference associated with this range.
+        "end": "A String", # The end position of the range on the reference, 0-based exclusive.
+        "name": "A String", # The display name of this annotation.
+        "transcript": { # A transcript represents the assertion that a particular region of the reference genome may be transcribed as RNA. # A transcript value represents the assertion that a particular region of the reference genome may be transcribed as RNA. An alternative splicing pattern would be represented as a separate transcript object. This field is only set for annotations of type `TRANSCRIPT`.
+          "codingSequence": { # The range of the coding sequence for this transcript, if any. To determine the exact ranges of coding sequence, intersect this range with those of the exons, if any. If there are any exons, the codingSequence must start and end within them. Note that in some cases, the reference genome will not exactly match the observed mRNA transcript e.g. due to variance in the source genome from reference. In these cases, exon.frame will not necessarily match the expected reference reading frame and coding exon reference bases cannot necessarily be concatenated to produce the original transcript mRNA.
+            "start": "A String", # The start of the coding sequence on this annotation's reference sequence, 0-based inclusive. Note that this position is relative to the reference start, and *not* the containing annotation start.
+            "end": "A String", # The end of the coding sequence on this annotation's reference sequence, 0-based exclusive. Note that this position is relative to the reference start, and *not* the containing annotation start.
+          },
+          "exons": [ # The exons that compose this transcript. This field should be unset for genomes where transcript splicing does not occur, for example prokaryotes. Introns are regions of the transcript that are not included in the spliced RNA product. Though not explicitly modeled here, intron ranges can be deduced; all regions of this transcript that are not exons are introns. Exonic sequences do not necessarily code for a translational product (amino acids). Only the regions of exons bounded by the codingSequence correspond to coding DNA sequence. Exons are ordered by start position and may not overlap.
+            {
+              "start": "A String", # The start position of the exon on this annotation's reference sequence, 0-based inclusive. Note that this is relative to the reference start, and **not** the containing annotation start.
+              "frame": 42, # The frame of this exon. Contains a value of 0, 1, or 2, which indicates the offset of the first coding base of the exon within the reading frame of the coding DNA sequence, if any. This field is dependent on the strandedness of this annotation (see Annotation.reverse_strand). For forward stranded annotations, this offset is relative to the exon.start. For reverse strand annotations, this offset is relative to the exon.end `- 1`. Unset if this exon does not intersect the coding sequence. Upon creation of a transcript, the frame must be populated for all or none of the coding exons.
+              "end": "A String", # The end position of the exon on this annotation's reference sequence, 0-based exclusive. Note that this is relative to the reference start, and *not* the containing annotation start.
+            },
+          ],
+          "geneId": "A String", # The annotation ID of the gene from which this transcript is transcribed.
+        },
+        "variant": { # A variant annotation, which describes the effect of a variant on the genome, the coding sequence, and/or higher level consequences at the organism level e.g. pathogenicity. This field is only set for annotations of type `VARIANT`.
+          "type": "A String", # Type has been adapted from ClinVar's list of variant types.
+          "effect": "A String", # Effect of the variant on the coding sequence.
+          "transcriptIds": [ # Google annotation IDs of the transcripts affected by this variant. These should be provided when the variant is created.
+            "A String",
+          ],
+          "alternateBases": "A String", # The alternate allele for this variant. If multiple alternate alleles exist at this location, create a separate variant for each one, as they may represent distinct conditions.
+          "clinicalSignificance": "A String", # Describes the clinical significance of a variant. It is adapted from the ClinVar controlled vocabulary for clinical significance described at: http://www.ncbi.nlm.nih.gov/clinvar/docs/clinsig/
+          "conditions": [ # The set of conditions associated with this variant. A condition describes the way a variant influences human health.
+            {
+              "conceptId": "A String", # The MedGen concept id associated with this gene. Search for these IDs at http://www.ncbi.nlm.nih.gov/medgen/
+              "externalIds": [ # The set of external IDs for this condition.
+                {
+                  "sourceName": "A String", # The name of the source of this data.
+                  "id": "A String", # The id used by the source of this data.
+                },
+              ],
+              "omimId": "A String", # The OMIM id for this condition. Search for these IDs at http://omim.org/
+              "names": [ # A set of names for the condition.
+                "A String",
+              ],
+            },
+          ],
+          "geneId": "A String", # Google annotation ID of the gene affected by this variant. This should be provided when the variant is created.
+        },
+        "start": "A String", # The start position of the range on the reference, 0-based inclusive.
+        "annotationSetId": "A String", # The annotation set to which this annotation belongs.
+        "referenceName": "A String", # The display name corresponding to the reference specified by `referenceId`, for example `chr1`, `1`, or `chrX`.
+        "reverseStrand": True or False, # Whether this range refers to the reverse strand, as opposed to the forward strand. Note that regardless of this field, the start/end position of the range always refer to the forward strand.
+        "type": "A String", # The data type for this annotation. Must match the containing annotation set's type.
+        "id": "A String", # The server-generated annotation ID, unique across all annotations.
+      },
+    ],
+  }
+
+ +
+ update(annotationId, body, updateMask=None, x__xgafv=None) +
Updates an annotation. Caller must have WRITE permission for the associated dataset.
+
+Args:
+  annotationId: string, The ID of the annotation to be updated. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # An annotation describes a region of reference genome. The value of an annotation may be one of several canonical types, supplemented by arbitrary info tags. An annotation is not inherently associated with a specific sample or individual (though a client could choose to use annotations in this way). Example canonical annotation types are `GENE` and `VARIANT`.
+  "info": { # A map of additional read alignment information. This must be of the form map (string key mapping to a list of string values).
+    "a_key": [
+      "",
+    ],
+  },
+  "referenceId": "A String", # The ID of the Google Genomics reference associated with this range.
+  "end": "A String", # The end position of the range on the reference, 0-based exclusive.
+  "name": "A String", # The display name of this annotation.
+  "transcript": { # A transcript represents the assertion that a particular region of the reference genome may be transcribed as RNA. # A transcript value represents the assertion that a particular region of the reference genome may be transcribed as RNA. An alternative splicing pattern would be represented as a separate transcript object. This field is only set for annotations of type `TRANSCRIPT`.
+    "codingSequence": { # The range of the coding sequence for this transcript, if any. To determine the exact ranges of coding sequence, intersect this range with those of the exons, if any. If there are any exons, the codingSequence must start and end within them. Note that in some cases, the reference genome will not exactly match the observed mRNA transcript e.g. due to variance in the source genome from reference. In these cases, exon.frame will not necessarily match the expected reference reading frame and coding exon reference bases cannot necessarily be concatenated to produce the original transcript mRNA.
+      "start": "A String", # The start of the coding sequence on this annotation's reference sequence, 0-based inclusive. Note that this position is relative to the reference start, and *not* the containing annotation start.
+      "end": "A String", # The end of the coding sequence on this annotation's reference sequence, 0-based exclusive. Note that this position is relative to the reference start, and *not* the containing annotation start.
+    },
+    "exons": [ # The exons that compose this transcript. This field should be unset for genomes where transcript splicing does not occur, for example prokaryotes. Introns are regions of the transcript that are not included in the spliced RNA product. Though not explicitly modeled here, intron ranges can be deduced; all regions of this transcript that are not exons are introns. Exonic sequences do not necessarily code for a translational product (amino acids). Only the regions of exons bounded by the codingSequence correspond to coding DNA sequence. Exons are ordered by start position and may not overlap.
+      {
+        "start": "A String", # The start position of the exon on this annotation's reference sequence, 0-based inclusive. Note that this is relative to the reference start, and **not** the containing annotation start.
+        "frame": 42, # The frame of this exon. Contains a value of 0, 1, or 2, which indicates the offset of the first coding base of the exon within the reading frame of the coding DNA sequence, if any. This field is dependent on the strandedness of this annotation (see Annotation.reverse_strand). For forward stranded annotations, this offset is relative to the exon.start. For reverse strand annotations, this offset is relative to the exon.end `- 1`. Unset if this exon does not intersect the coding sequence. Upon creation of a transcript, the frame must be populated for all or none of the coding exons.
+        "end": "A String", # The end position of the exon on this annotation's reference sequence, 0-based exclusive. Note that this is relative to the reference start, and *not* the containing annotation start.
+      },
+    ],
+    "geneId": "A String", # The annotation ID of the gene from which this transcript is transcribed.
+  },
+  "variant": { # A variant annotation, which describes the effect of a variant on the genome, the coding sequence, and/or higher level consequences at the organism level e.g. pathogenicity. This field is only set for annotations of type `VARIANT`.
+    "type": "A String", # Type has been adapted from ClinVar's list of variant types.
+    "effect": "A String", # Effect of the variant on the coding sequence.
+    "transcriptIds": [ # Google annotation IDs of the transcripts affected by this variant. These should be provided when the variant is created.
+      "A String",
+    ],
+    "alternateBases": "A String", # The alternate allele for this variant. If multiple alternate alleles exist at this location, create a separate variant for each one, as they may represent distinct conditions.
+    "clinicalSignificance": "A String", # Describes the clinical significance of a variant. It is adapted from the ClinVar controlled vocabulary for clinical significance described at: http://www.ncbi.nlm.nih.gov/clinvar/docs/clinsig/
+    "conditions": [ # The set of conditions associated with this variant. A condition describes the way a variant influences human health.
+      {
+        "conceptId": "A String", # The MedGen concept id associated with this gene. Search for these IDs at http://www.ncbi.nlm.nih.gov/medgen/
+        "externalIds": [ # The set of external IDs for this condition.
+          {
+            "sourceName": "A String", # The name of the source of this data.
+            "id": "A String", # The id used by the source of this data.
+          },
+        ],
+        "omimId": "A String", # The OMIM id for this condition. Search for these IDs at http://omim.org/
+        "names": [ # A set of names for the condition.
+          "A String",
+        ],
+      },
+    ],
+    "geneId": "A String", # Google annotation ID of the gene affected by this variant. This should be provided when the variant is created.
+  },
+  "start": "A String", # The start position of the range on the reference, 0-based inclusive.
+  "annotationSetId": "A String", # The annotation set to which this annotation belongs.
+  "referenceName": "A String", # The display name corresponding to the reference specified by `referenceId`, for example `chr1`, `1`, or `chrX`.
+  "reverseStrand": True or False, # Whether this range refers to the reverse strand, as opposed to the forward strand. Note that regardless of this field, the start/end position of the range always refer to the forward strand.
+  "type": "A String", # The data type for this annotation. Must match the containing annotation set's type.
+  "id": "A String", # The server-generated annotation ID, unique across all annotations.
+}
+
+  updateMask: string, An optional mask specifying which fields to update. Mutable fields are name, variant, transcript, and info. If unspecified, all mutable fields will be updated.
+  x__xgafv: string, V1 error format.
+
+Returns:
+  An object of the form:
+
+    { # An annotation describes a region of reference genome. The value of an annotation may be one of several canonical types, supplemented by arbitrary info tags. An annotation is not inherently associated with a specific sample or individual (though a client could choose to use annotations in this way). Example canonical annotation types are `GENE` and `VARIANT`.
+    "info": { # A map of additional read alignment information. This must be of the form map (string key mapping to a list of string values).
+      "a_key": [
+        "",
+      ],
+    },
+    "referenceId": "A String", # The ID of the Google Genomics reference associated with this range.
+    "end": "A String", # The end position of the range on the reference, 0-based exclusive.
+    "name": "A String", # The display name of this annotation.
+    "transcript": { # A transcript represents the assertion that a particular region of the reference genome may be transcribed as RNA. # A transcript value represents the assertion that a particular region of the reference genome may be transcribed as RNA. An alternative splicing pattern would be represented as a separate transcript object. This field is only set for annotations of type `TRANSCRIPT`.
+      "codingSequence": { # The range of the coding sequence for this transcript, if any. To determine the exact ranges of coding sequence, intersect this range with those of the exons, if any. If there are any exons, the codingSequence must start and end within them. Note that in some cases, the reference genome will not exactly match the observed mRNA transcript e.g. due to variance in the source genome from reference. In these cases, exon.frame will not necessarily match the expected reference reading frame and coding exon reference bases cannot necessarily be concatenated to produce the original transcript mRNA.
+        "start": "A String", # The start of the coding sequence on this annotation's reference sequence, 0-based inclusive. Note that this position is relative to the reference start, and *not* the containing annotation start.
+        "end": "A String", # The end of the coding sequence on this annotation's reference sequence, 0-based exclusive. Note that this position is relative to the reference start, and *not* the containing annotation start.
+      },
+      "exons": [ # The exons that compose this transcript. This field should be unset for genomes where transcript splicing does not occur, for example prokaryotes. Introns are regions of the transcript that are not included in the spliced RNA product. Though not explicitly modeled here, intron ranges can be deduced; all regions of this transcript that are not exons are introns. Exonic sequences do not necessarily code for a translational product (amino acids). Only the regions of exons bounded by the codingSequence correspond to coding DNA sequence. Exons are ordered by start position and may not overlap.
+        {
+          "start": "A String", # The start position of the exon on this annotation's reference sequence, 0-based inclusive. Note that this is relative to the reference start, and **not** the containing annotation start.
+          "frame": 42, # The frame of this exon. Contains a value of 0, 1, or 2, which indicates the offset of the first coding base of the exon within the reading frame of the coding DNA sequence, if any. This field is dependent on the strandedness of this annotation (see Annotation.reverse_strand). For forward stranded annotations, this offset is relative to the exon.start. For reverse strand annotations, this offset is relative to the exon.end `- 1`. Unset if this exon does not intersect the coding sequence. Upon creation of a transcript, the frame must be populated for all or none of the coding exons.
+          "end": "A String", # The end position of the exon on this annotation's reference sequence, 0-based exclusive. Note that this is relative to the reference start, and *not* the containing annotation start.
+        },
+      ],
+      "geneId": "A String", # The annotation ID of the gene from which this transcript is transcribed.
+    },
+    "variant": { # A variant annotation, which describes the effect of a variant on the genome, the coding sequence, and/or higher level consequences at the organism level e.g. pathogenicity. This field is only set for annotations of type `VARIANT`.
+      "type": "A String", # Type has been adapted from ClinVar's list of variant types.
+      "effect": "A String", # Effect of the variant on the coding sequence.
+      "transcriptIds": [ # Google annotation IDs of the transcripts affected by this variant. These should be provided when the variant is created.
+        "A String",
+      ],
+      "alternateBases": "A String", # The alternate allele for this variant. If multiple alternate alleles exist at this location, create a separate variant for each one, as they may represent distinct conditions.
+      "clinicalSignificance": "A String", # Describes the clinical significance of a variant. It is adapted from the ClinVar controlled vocabulary for clinical significance described at: http://www.ncbi.nlm.nih.gov/clinvar/docs/clinsig/
+      "conditions": [ # The set of conditions associated with this variant. A condition describes the way a variant influences human health.
+        {
+          "conceptId": "A String", # The MedGen concept id associated with this gene. Search for these IDs at http://www.ncbi.nlm.nih.gov/medgen/
+          "externalIds": [ # The set of external IDs for this condition.
+            {
+              "sourceName": "A String", # The name of the source of this data.
+              "id": "A String", # The id used by the source of this data.
+            },
+          ],
+          "omimId": "A String", # The OMIM id for this condition. Search for these IDs at http://omim.org/
+          "names": [ # A set of names for the condition.
+            "A String",
+          ],
+        },
+      ],
+      "geneId": "A String", # Google annotation ID of the gene affected by this variant. This should be provided when the variant is created.
+    },
+    "start": "A String", # The start position of the range on the reference, 0-based inclusive.
+    "annotationSetId": "A String", # The annotation set to which this annotation belongs.
+    "referenceName": "A String", # The display name corresponding to the reference specified by `referenceId`, for example `chr1`, `1`, or `chrX`.
+    "reverseStrand": True or False, # Whether this range refers to the reverse strand, as opposed to the forward strand. Note that regardless of this field, the start/end position of the range always refer to the forward strand.
+    "type": "A String", # The data type for this annotation. Must match the containing annotation set's type.
+    "id": "A String", # The server-generated annotation ID, unique across all annotations.
+  }
+
+ + \ No newline at end of file diff --git a/docs/dyn/genomics_v1.annotationsets.html b/docs/dyn/genomics_v1.annotationsets.html new file mode 100644 index 00000000000..1a24a9e45b3 --- /dev/null +++ b/docs/dyn/genomics_v1.annotationsets.html @@ -0,0 +1,266 @@ + + + +

Genomics API . annotationsets

+

Instance Methods

+

+ create(body, x__xgafv=None)

+

Creates a new annotation set. Caller must have WRITE permission for the associated dataset. The following fields are required: * datasetId * referenceSetId All other fields may be optionally specified, unless documented as being server-generated (for example, the `id` field).

+

+ delete(annotationSetId, x__xgafv=None)

+

Deletes an annotation set. Caller must have WRITE permission for the associated annotation set.

+

+ get(annotationSetId, x__xgafv=None)

+

Gets an annotation set. Caller must have READ permission for the associated dataset.

+

+ search(body, x__xgafv=None)

+

Searches for annotation sets that match the given criteria. Annotation sets are returned in an unspecified order. This order is consistent, such that two queries for the same content (regardless of page size) yield annotation sets in the same order across their respective streams of paginated responses. Caller must have READ permission for the queried datasets.

+

+ update(annotationSetId, body, x__xgafv=None, updateMask=None)

+

Updates an annotation set. The update must respect all mutability restrictions and other invariants described on the annotation set resource. Caller must have WRITE permission for the associated dataset.

+

Method Details

+
+ create(body, x__xgafv=None) +
Creates a new annotation set. Caller must have WRITE permission for the associated dataset. The following fields are required: * datasetId * referenceSetId All other fields may be optionally specified, unless documented as being server-generated (for example, the `id` field).
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # An annotation set is a logical grouping of annotations that share consistent type information and provenance. Examples of annotation sets include 'all genes from refseq', and 'all variant annotations from ClinVar'.
+  "info": { # A map of additional read alignment information. This must be of the form map (string key mapping to a list of string values).
+    "a_key": [
+      "",
+    ],
+  },
+  "name": "A String", # The display name for this annotation set.
+  "sourceUri": "A String", # The source URI describing the file from which this annotation set was generated, if any.
+  "referenceSetId": "A String", # The ID of the reference set that defines the coordinate space for this set's annotations.
+  "type": "A String", # The type of annotations contained within this set.
+  "id": "A String", # The server-generated annotation set ID, unique across all annotation sets.
+  "datasetId": "A String", # The dataset to which this annotation set belongs.
+}
+
+  x__xgafv: string, V1 error format.
+
+Returns:
+  An object of the form:
+
+    { # An annotation set is a logical grouping of annotations that share consistent type information and provenance. Examples of annotation sets include 'all genes from refseq', and 'all variant annotations from ClinVar'.
+    "info": { # A map of additional read alignment information. This must be of the form map (string key mapping to a list of string values).
+      "a_key": [
+        "",
+      ],
+    },
+    "name": "A String", # The display name for this annotation set.
+    "sourceUri": "A String", # The source URI describing the file from which this annotation set was generated, if any.
+    "referenceSetId": "A String", # The ID of the reference set that defines the coordinate space for this set's annotations.
+    "type": "A String", # The type of annotations contained within this set.
+    "id": "A String", # The server-generated annotation set ID, unique across all annotation sets.
+    "datasetId": "A String", # The dataset to which this annotation set belongs.
+  }
+
+ +
+ delete(annotationSetId, x__xgafv=None) +
Deletes an annotation set. Caller must have WRITE permission for the associated annotation set.
+
+Args:
+  annotationSetId: string, The ID of the annotation set to be deleted. (required)
+  x__xgafv: string, V1 error format.
+
+Returns:
+  An object of the form:
+
+    { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.
+  }
+
+ +
+ get(annotationSetId, x__xgafv=None) +
Gets an annotation set. Caller must have READ permission for the associated dataset.
+
+Args:
+  annotationSetId: string, The ID of the annotation set to be retrieved. (required)
+  x__xgafv: string, V1 error format.
+
+Returns:
+  An object of the form:
+
+    { # An annotation set is a logical grouping of annotations that share consistent type information and provenance. Examples of annotation sets include 'all genes from refseq', and 'all variant annotations from ClinVar'.
+    "info": { # A map of additional read alignment information. This must be of the form map (string key mapping to a list of string values).
+      "a_key": [
+        "",
+      ],
+    },
+    "name": "A String", # The display name for this annotation set.
+    "sourceUri": "A String", # The source URI describing the file from which this annotation set was generated, if any.
+    "referenceSetId": "A String", # The ID of the reference set that defines the coordinate space for this set's annotations.
+    "type": "A String", # The type of annotations contained within this set.
+    "id": "A String", # The server-generated annotation set ID, unique across all annotation sets.
+    "datasetId": "A String", # The dataset to which this annotation set belongs.
+  }
+
+ +
+ search(body, x__xgafv=None) +
Searches for annotation sets that match the given criteria. Annotation sets are returned in an unspecified order. This order is consistent, such that two queries for the same content (regardless of page size) yield annotation sets in the same order across their respective streams of paginated responses. Caller must have READ permission for the queried datasets.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "name": "A String", # Only return annotations sets for which a substring of the name matches this string (case insensitive).
+    "pageSize": 42, # The maximum number of results to return in a single page. If unspecified, defaults to 128. The maximum value is 1024.
+    "datasetIds": [ # Required. The dataset IDs to search within. Caller must have `READ` access to these datasets.
+      "A String",
+    ],
+    "pageToken": "A String", # The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of `nextPageToken` from the previous response.
+    "referenceSetId": "A String", # If specified, only annotation sets associated with the given reference set are returned.
+    "types": [ # If specified, only annotation sets that have any of these types are returned.
+      "A String",
+    ],
+  }
+
+  x__xgafv: string, V1 error format.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # The continuation token, which is used to page through large result sets. Provide this value in a subsequent request to return the next page of results. This field will be empty if there aren't any additional results.
+    "annotationSets": [ # The matching annotation sets.
+      { # An annotation set is a logical grouping of annotations that share consistent type information and provenance. Examples of annotation sets include 'all genes from refseq', and 'all variant annotations from ClinVar'.
+        "info": { # A map of additional read alignment information. This must be of the form map (string key mapping to a list of string values).
+          "a_key": [
+            "",
+          ],
+        },
+        "name": "A String", # The display name for this annotation set.
+        "sourceUri": "A String", # The source URI describing the file from which this annotation set was generated, if any.
+        "referenceSetId": "A String", # The ID of the reference set that defines the coordinate space for this set's annotations.
+        "type": "A String", # The type of annotations contained within this set.
+        "id": "A String", # The server-generated annotation set ID, unique across all annotation sets.
+        "datasetId": "A String", # The dataset to which this annotation set belongs.
+      },
+    ],
+  }
+
+ +
+ update(annotationSetId, body, x__xgafv=None, updateMask=None) +
Updates an annotation set. The update must respect all mutability restrictions and other invariants described on the annotation set resource. Caller must have WRITE permission for the associated dataset.
+
+Args:
+  annotationSetId: string, The ID of the annotation set to be updated. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # An annotation set is a logical grouping of annotations that share consistent type information and provenance. Examples of annotation sets include 'all genes from refseq', and 'all variant annotations from ClinVar'.
+  "info": { # A map of additional read alignment information. This must be of the form map (string key mapping to a list of string values).
+    "a_key": [
+      "",
+    ],
+  },
+  "name": "A String", # The display name for this annotation set.
+  "sourceUri": "A String", # The source URI describing the file from which this annotation set was generated, if any.
+  "referenceSetId": "A String", # The ID of the reference set that defines the coordinate space for this set's annotations.
+  "type": "A String", # The type of annotations contained within this set.
+  "id": "A String", # The server-generated annotation set ID, unique across all annotation sets.
+  "datasetId": "A String", # The dataset to which this annotation set belongs.
+}
+
+  x__xgafv: string, V1 error format.
+  updateMask: string, An optional mask specifying which fields to update. Mutable fields are name, source_uri, and info. If unspecified, all mutable fields will be updated.
+
+Returns:
+  An object of the form:
+
+    { # An annotation set is a logical grouping of annotations that share consistent type information and provenance. Examples of annotation sets include 'all genes from refseq', and 'all variant annotations from ClinVar'.
+    "info": { # A map of additional read alignment information. This must be of the form map (string key mapping to a list of string values).
+      "a_key": [
+        "",
+      ],
+    },
+    "name": "A String", # The display name for this annotation set.
+    "sourceUri": "A String", # The source URI describing the file from which this annotation set was generated, if any.
+    "referenceSetId": "A String", # The ID of the reference set that defines the coordinate space for this set's annotations.
+    "type": "A String", # The type of annotations contained within this set.
+    "id": "A String", # The server-generated annotation set ID, unique across all annotation sets.
+    "datasetId": "A String", # The dataset to which this annotation set belongs.
+  }
+
+ + \ No newline at end of file diff --git a/docs/dyn/genomics_v1.datasets.html b/docs/dyn/genomics_v1.datasets.html index baabdffcdc0..8380209e2c3 100644 --- a/docs/dyn/genomics_v1.datasets.html +++ b/docs/dyn/genomics_v1.datasets.html @@ -79,7 +79,7 @@

Instance Methods

Creates a new dataset. For the definitions of datasets and other genomics resources, see [Fundamentals of Google Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)

delete(datasetId, x__xgafv=None)

-

Deletes a dataset. For the definitions of datasets and other genomics resources, see [Fundamentals of Google Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)

+

Deletes a dataset and all of its contents (all read group sets, reference sets, variant sets, call sets, annotation sets, etc.) This is reversible (up to one week after the deletion) via the datasets.undelete operation. For the definitions of datasets and other genomics resources, see [Fundamentals of Google Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)

get(datasetId, x__xgafv=None)

Gets a dataset by ID. For the definitions of datasets and other genomics resources, see [Fundamentals of Google Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)

@@ -135,7 +135,7 @@

Method Details

delete(datasetId, x__xgafv=None) -
Deletes a dataset. For the definitions of datasets and other genomics resources, see [Fundamentals of Google Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
+  
Deletes a dataset and all of its contents (all read group sets, reference sets, variant sets, call sets, annotation sets, etc.) This is reversible (up to one week after the deletion) via the datasets.undelete operation. For the definitions of datasets and other genomics resources, see [Fundamentals of Google Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
 
 Args:
   datasetId: string, The ID of the dataset to be deleted. (required)
diff --git a/docs/dyn/genomics_v1.html b/docs/dyn/genomics_v1.html
index 500feb374ea..2d0b20052a9 100644
--- a/docs/dyn/genomics_v1.html
+++ b/docs/dyn/genomics_v1.html
@@ -74,6 +74,16 @@
 
 

Genomics API

Instance Methods

+

+ annotations() +

+

Returns the annotations Resource.

+ +

+ annotationsets() +

+

Returns the annotationsets Resource.

+

callsets()

diff --git a/docs/dyn/genomics_v1.reads.html b/docs/dyn/genomics_v1.reads.html index d50ce67c017..5ec52a7e0b8 100644 --- a/docs/dyn/genomics_v1.reads.html +++ b/docs/dyn/genomics_v1.reads.html @@ -167,10 +167,12 @@

Method Details

The object takes the form of: { # The stream reads request. - "projectId": "A String", # The Google Developers Console project ID or number which will be billed for this access. The caller must have WRITE access to this project. Required. "end": "A String", # The end position of the range on the reference, 0-based exclusive. If specified, `referenceName` must also be specified. - "start": "A String", # The start position of the range on the reference, 0-based inclusive. If specified, `referenceName` must also be specified. + "totalShards": 42, # Specifying `totalShards` causes a disjoint subset of the normal response payload to be returned for each query with a unique `shard` parameter specified. A best effort is made to yield equally sized shards. Sharding can be used to distribute processing amongst workers, where each worker is assigned a unique `shard` number and all workers specify the same `totalShards` number. The union of reads returned for all sharded queries `[0, totalShards)` is equal to those returned by a single unsharded query. Queries for different values of `totalShards` with common divisors will share shard boundaries. For example, streaming `shard` 2 of 5 `totalShards` yields the same results as streaming `shard`s 4 and 5 of 10 `totalShards`. This property can be leveraged for adaptive retries. "readGroupSetId": "A String", # The ID of the read group set from which to stream reads. + "projectId": "A String", # The Google Developers Console project ID or number which will be billed for this access. The caller must have WRITE access to this project. Required. + "shard": 42, # Restricts results to a shard containing approximately `1/totalShards` of the normal response payload for this query. Results from a sharded request are disjoint from those returned by all queries which differ only in their shard parameter. A shard may yield 0 results; this is especially likely for large values of `totalShards`. Valid values are `[0, totalShards)`. + "start": "A String", # The start position of the range on the reference, 0-based inclusive. If specified, `referenceName` must also be specified. "referenceName": "A String", # The reference sequence name, for example `chr1`, `1`, or `chrX`. If set to *, only unmapped reads are returned. } diff --git a/docs/dyn/genomics_v1.variants.html b/docs/dyn/genomics_v1.variants.html index 3e8dada09e7..b49e2538e05 100644 --- a/docs/dyn/genomics_v1.variants.html +++ b/docs/dyn/genomics_v1.variants.html @@ -85,7 +85,10 @@

Instance Methods

Gets a variant by ID. For the definitions of variants and other genomics resources, see [Fundamentals of Google Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)

import_(body, x__xgafv=None)

-

Creates variant data by asynchronously importing the provided information. For the definitions of variant sets and other genomics resources, see [Fundamentals of Google Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics) The variants for import will be merged with any existing variant that matches its reference sequence, start, end, reference bases, and alternative bases. If no such variant exists, a new one will be created. When variants are merged, the call information from the new variant is added to the existing variant, and other fields (such as key/value pairs) are discarded. In particular, this means for merged VCF variants that have conflicting INFO fields, some data will be arbitrarily discarded. As a special case, for single-sample VCF files, QUAL and FILTER fields will be moved to the call level; these are sometimes interpreted in a call-specific context. Imported VCF headers are appended to the metadata already in a variant set.

+

Creates variant data by asynchronously importing the provided information. For the definitions of variant sets and other genomics resources, see [Fundamentals of Google Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics) The variants for import will be merged with any existing variant that matches its reference sequence, start, end, reference bases, and alternative bases. If no such variant exists, a new one will be created. When variants are merged, the call information from the new variant is added to the existing variant, and Variant info fields are merged as specified in infoMergeConfig. As a special case, for single-sample VCF files, QUAL and FILTER fields will be moved to the call level; these are sometimes interpreted in a call-specific context. Imported VCF headers are appended to the metadata already in a variant set.

+

+ merge(body, x__xgafv=None)

+

Merges the given variants with existing variants. For the definitions of variants and other genomics resources, see [Fundamentals of Google Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics) Each variant will be merged with an existing variant that matches its reference sequence, start, end, reference bases, and alternative bases. If no such variant exists, a new one will be created. When variants are merged, the call information from the new variant is added to the existing variant. Variant info fields are merged as specified in the infoMergeConfig field of the MergeVariantsRequest. Please exercise caution when using this method! It is easy to introduce mistakes in existing variants and difficult to back out of them. For example, suppose you were trying to merge a new variant with an existing one and both variants contain calls that belong to callsets with the same callset ID. // Existing variant - irrelevant fields trimmed for clarity { "variantSetId": "10473108253681171589", "referenceName": "1", "start": "10582", "referenceBases": "G", "alternateBases": [ "A" ], "calls": [ { "callSetId": "10473108253681171589-0", "callSetName": "CALLSET0", "genotype": [ 0, 1 ], } ] } // New variant with conflicting call information { "variantSetId": "10473108253681171589", "referenceName": "1", "start": "10582", "referenceBases": "G", "alternateBases": [ "A" ], "calls": [ { "callSetId": "10473108253681171589-0", "callSetName": "CALLSET0", "genotype": [ 1, 1 ], } ] } The resulting merged variant would overwrite the existing calls with those from the new variant: { "variantSetId": "10473108253681171589", "referenceName": "1", "start": "10582", "referenceBases": "G", "alternateBases": [ "A" ], "calls": [ { "callSetId": "10473108253681171589-0", "callSetName": "CALLSET0", "genotype": [ 1, 1 ], } ] } This may be the desired outcome, but it is up to the user to determine if if that is indeed the case.

patch(variantId, body, x__xgafv=None, updateMask=None)

Updates a variant. For the definitions of variants and other genomics resources, see [Fundamentals of Google Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics) This method supports patch semantics. Returns the modified variant without its calls.

@@ -268,7 +271,7 @@

Method Details

import_(body, x__xgafv=None) -
Creates variant data by asynchronously importing the provided information. For the definitions of variant sets and other genomics resources, see [Fundamentals of Google Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics) The variants for import will be merged with any existing variant that matches its reference sequence, start, end, reference bases, and alternative bases. If no such variant exists, a new one will be created. When variants are merged, the call information from the new variant is added to the existing variant, and other fields (such as key/value pairs) are discarded. In particular, this means for merged VCF variants that have conflicting INFO fields, some data will be arbitrarily discarded. As a special case, for single-sample VCF files, QUAL and FILTER fields will be moved to the call level; these are sometimes interpreted in a call-specific context. Imported VCF headers are appended to the metadata already in a variant set.
+  
Creates variant data by asynchronously importing the provided information. For the definitions of variant sets and other genomics resources, see [Fundamentals of Google Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics) The variants for import will be merged with any existing variant that matches its reference sequence, start, end, reference bases, and alternative bases. If no such variant exists, a new one will be created. When variants are merged, the call information from the new variant is added to the existing variant, and Variant info fields are merged as specified in infoMergeConfig. As a special case, for single-sample VCF files, QUAL and FILTER fields will be moved to the call level; these are sometimes interpreted in a call-specific context. Imported VCF headers are appended to the metadata already in a variant set.
 
 Args:
   body: object, The request body. (required)
@@ -280,6 +283,9 @@ 

Method Details

"sourceUris": [ # A list of URIs referencing variant files in Google Cloud Storage. URIs can include wildcards [as described here](https://cloud.google.com/storage/docs/gsutil/addlhelp/WildcardNames). Note that recursive wildcards ('**') are not supported. "A String", ], + "infoMergeConfig": { # A mapping between info field keys and the InfoMergeOperations to be performed on them. This is plumbed down to the MergeVariantRequests generated by the resulting import job. + "a_key": "A String", + }, "format": "A String", # The format of the variant data being imported. If unspecified, defaults to to `VCF`. } @@ -309,6 +315,74 @@

Method Details

}
+
+ merge(body, x__xgafv=None) +
Merges the given variants with existing variants. For the definitions of variants and other genomics resources, see [Fundamentals of Google Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics) Each variant will be merged with an existing variant that matches its reference sequence, start, end, reference bases, and alternative bases. If no such variant exists, a new one will be created. When variants are merged, the call information from the new variant is added to the existing variant. Variant info fields are merged as specified in the infoMergeConfig field of the MergeVariantsRequest. Please exercise caution when using this method! It is easy to introduce mistakes in existing variants and difficult to back out of them. For example, suppose you were trying to merge a new variant with an existing one and both variants contain calls that belong to callsets with the same callset ID. // Existing variant - irrelevant fields trimmed for clarity { "variantSetId": "10473108253681171589", "referenceName": "1", "start": "10582", "referenceBases": "G", "alternateBases": [ "A" ], "calls": [ { "callSetId": "10473108253681171589-0", "callSetName": "CALLSET0", "genotype": [ 0, 1 ], } ] } // New variant with conflicting call information { "variantSetId": "10473108253681171589", "referenceName": "1", "start": "10582", "referenceBases": "G", "alternateBases": [ "A" ], "calls": [ { "callSetId": "10473108253681171589-0", "callSetName": "CALLSET0", "genotype": [ 1, 1 ], } ] } The resulting merged variant would overwrite the existing calls with those from the new variant: { "variantSetId": "10473108253681171589", "referenceName": "1", "start": "10582", "referenceBases": "G", "alternateBases": [ "A" ], "calls": [ { "callSetId": "10473108253681171589-0", "callSetName": "CALLSET0", "genotype": [ 1, 1 ], } ] } This may be the desired outcome, but it is up to the user to determine if if that is indeed the case.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "variantSetId": "A String", # The destination variant set.
+    "variants": [ # The variants to be merged with existing variants.
+      { # A variant represents a change in DNA sequence relative to a reference sequence. For example, a variant could represent a SNP or an insertion. Variants belong to a variant set. For more genomics resource definitions, see [Fundamentals of Google Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics) Each of the calls on a variant represent a determination of genotype with respect to that variant. For example, a call might assign probability of 0.32 to the occurrence of a SNP named rs1234 in a sample named NA12345. A call belongs to a call set, which contains related calls typically from one sample.
+        "info": { # A map of additional variant information. This must be of the form map (string key mapping to a list of string values).
+          "a_key": [
+            "",
+          ],
+        },
+        "variantSetId": "A String", # The ID of the variant set this variant belongs to.
+        "end": "A String", # The end position (0-based) of this variant. This corresponds to the first base after the last base in the reference allele. So, the length of the reference allele is (end - start). This is useful for variants that don't explicitly give alternate bases, for example large deletions.
+        "calls": [ # The variant calls for this particular variant. Each one represents the determination of genotype with respect to this variant.
+          { # A call represents the determination of genotype with respect to a particular variant. It may include associated information such as quality and phasing. For example, a call might assign a probability of 0.32 to the occurrence of a SNP named rs1234 in a call set with the name NA12345.
+            "info": { # A map of additional variant call information. This must be of the form map (string key mapping to a list of string values).
+              "a_key": [
+                "",
+              ],
+            },
+            "genotype": [ # The genotype of this variant call. Each value represents either the value of the `referenceBases` field or a 1-based index into `alternateBases`. If a variant had a `referenceBases` value of `T` and an `alternateBases` value of `["A", "C"]`, and the `genotype` was `[2, 1]`, that would mean the call represented the heterozygous value `CA` for this variant. If the `genotype` was instead `[0, 1]`, the represented value would be `TA`. Ordering of the genotype values is important if the `phaseset` is present. If a genotype is not called (that is, a `.` is present in the GT string) -1 is returned.
+              42,
+            ],
+            "callSetId": "A String", # The ID of the call set this variant call belongs to.
+            "phaseset": "A String", # If this field is present, this variant call's genotype ordering implies the phase of the bases and is consistent with any other variant calls in the same reference sequence which have the same phaseset value. When importing data from VCF, if the genotype data was phased but no phase set was specified this field will be set to `*`.
+            "genotypeLikelihood": [ # The genotype likelihoods for this variant call. Each array entry represents how likely a specific genotype is for this call. The value ordering is defined by the GL tag in the VCF spec. If Phred-scaled genotype likelihood scores (PL) are available and log10(P) genotype likelihood scores (GL) are not, PL scores are converted to GL scores. If both are available, PL scores are stored in `info`.
+              3.14,
+            ],
+            "callSetName": "A String", # The name of the call set this variant call belongs to.
+          },
+        ],
+        "created": "A String", # The date this variant was created, in milliseconds from the epoch.
+        "referenceBases": "A String", # The reference bases for this variant. They start at the given position.
+        "filter": [ # A list of filters (normally quality filters) this variant has failed. `PASS` indicates this variant has passed all filters.
+          "A String",
+        ],
+        "start": "A String", # The position at which this variant occurs (0-based). This corresponds to the first base of the string of reference bases.
+        "names": [ # Names for the variant, for example a RefSNP ID.
+          "A String",
+        ],
+        "alternateBases": [ # The bases that appear instead of the reference bases.
+          "A String",
+        ],
+        "referenceName": "A String", # The reference on which this variant occurs. (such as `chr20` or `X`)
+        "quality": 3.14, # A measure of how likely this variant is to be real. A higher value is better.
+        "id": "A String", # The server-generated variant ID, unique across all variants.
+      },
+    ],
+    "infoMergeConfig": { # A mapping between info field keys and the InfoMergeOperations to be performed on them.
+      "a_key": "A String",
+    },
+  }
+
+  x__xgafv: string, V1 error format.
+
+Returns:
+  An object of the form:
+
+    { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.
+  }
+
+
patch(variantId, body, x__xgafv=None, updateMask=None)
Updates a variant. For the definitions of variants and other genomics resources, see [Fundamentals of Google Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics) This method supports patch semantics. Returns the modified variant without its calls.
diff --git a/docs/dyn/genomics_v1.variantsets.html b/docs/dyn/genomics_v1.variantsets.html
index 4ce71248df3..b2f54c1a9e0 100644
--- a/docs/dyn/genomics_v1.variantsets.html
+++ b/docs/dyn/genomics_v1.variantsets.html
@@ -79,7 +79,7 @@ 

Instance Methods

Creates a new variant set. For the definitions of variant sets and other genomics resources, see [Fundamentals of Google Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics) The provided variant set must have a valid `datasetId` set - all other fields are optional. Note that the `id` field will be ignored, as this is assigned by the server.

delete(variantSetId, x__xgafv=None)

-

Deletes the contents of a variant set. The variant set object is not deleted. For the definitions of variant sets and other genomics resources, see [Fundamentals of Google Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)

+

Deletes a variant set including all variants, call sets, and calls within. This is not reversible. For the definitions of variant sets and other genomics resources, see [Fundamentals of Google Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)

export(variantSetId, body, x__xgafv=None)

Exports variant set data to an external destination. For the definitions of variant sets and other genomics resources, see [Fundamentals of Google Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)

@@ -102,6 +102,17 @@

Method Details

The object takes the form of: { # A variant set is a collection of call sets and variants. It contains summary statistics of those contents. A variant set belongs to a dataset. For more genomics resource definitions, see [Fundamentals of Google Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics) + "name": "A String", # User-specified, mutable name. + "description": "A String", # A textual description of this variant set. + "referenceBounds": [ # A list of all references used by the variants in a variant set with associated coordinate upper bounds for each one. + { # ReferenceBound records an upper bound for the starting coordinate of variants in a particular reference. + "upperBound": "A String", # An upper bound (inclusive) on the starting coordinate of any variant in the reference sequence. + "referenceName": "A String", # The name of the reference associated with this reference bound. + }, + ], + "referenceSetId": "A String", # The reference set to which the variant set is mapped. The reference set describes the alignment provenance of the variant set, while the `referenceBounds` describe the shape of the actual variant data. The reference set's reference names are a superset of those found in the `referenceBounds`. For example, given a variant set that is mapped to the GRCh38 reference set and contains a single variant on reference 'X', `referenceBounds` would contain only an entry for 'X', while the associated reference set enumerates all possible references: '1', '2', 'X', 'Y', 'MT', etc. + "id": "A String", # The server-generated variant set ID, unique across all variant sets. + "datasetId": "A String", # The dataset to which this variant set belongs. "metadata": [ # The metadata associated with this variant set. { # Metadata describes a single piece of variant call metadata. These data include a top level key and either a single value string (value) or a list of key-value pairs (info.) Value and info are mutually exclusive. "info": { # Remaining structured metadata key-value pairs. This must be of the form map (string key mapping to a list of string values). @@ -117,15 +128,6 @@

Method Details

"id": "A String", # User-provided ID field, not enforced by this API. Two or more pieces of structured metadata with identical id and key fields are considered equivalent. }, ], - "referenceSetId": "A String", # The reference set to which the variant set is mapped. The reference set describes the alignment provenance of the variant set, while the `referenceBounds` describe the shape of the actual variant data. The reference set's reference names are a superset of those found in the `referenceBounds`. For example, given a variant set that is mapped to the GRCh38 reference set and contains a single variant on reference 'X', `referenceBounds` would contain only an entry for 'X', while the associated reference set enumerates all possible references: '1', '2', 'X', 'Y', 'MT', etc. - "id": "A String", # The server-generated variant set ID, unique across all variant sets. - "datasetId": "A String", # The dataset to which this variant set belongs. - "referenceBounds": [ # A list of all references used by the variants in a variant set with associated coordinate upper bounds for each one. - { # ReferenceBound records an upper bound for the starting coordinate of variants in a particular reference. - "upperBound": "A String", # An upper bound (inclusive) on the starting coordinate of any variant in the reference sequence. - "referenceName": "A String", # The name of the reference associated with this reference bound. - }, - ], } x__xgafv: string, V1 error format. @@ -134,6 +136,17 @@

Method Details

An object of the form: { # A variant set is a collection of call sets and variants. It contains summary statistics of those contents. A variant set belongs to a dataset. For more genomics resource definitions, see [Fundamentals of Google Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics) + "name": "A String", # User-specified, mutable name. + "description": "A String", # A textual description of this variant set. + "referenceBounds": [ # A list of all references used by the variants in a variant set with associated coordinate upper bounds for each one. + { # ReferenceBound records an upper bound for the starting coordinate of variants in a particular reference. + "upperBound": "A String", # An upper bound (inclusive) on the starting coordinate of any variant in the reference sequence. + "referenceName": "A String", # The name of the reference associated with this reference bound. + }, + ], + "referenceSetId": "A String", # The reference set to which the variant set is mapped. The reference set describes the alignment provenance of the variant set, while the `referenceBounds` describe the shape of the actual variant data. The reference set's reference names are a superset of those found in the `referenceBounds`. For example, given a variant set that is mapped to the GRCh38 reference set and contains a single variant on reference 'X', `referenceBounds` would contain only an entry for 'X', while the associated reference set enumerates all possible references: '1', '2', 'X', 'Y', 'MT', etc. + "id": "A String", # The server-generated variant set ID, unique across all variant sets. + "datasetId": "A String", # The dataset to which this variant set belongs. "metadata": [ # The metadata associated with this variant set. { # Metadata describes a single piece of variant call metadata. These data include a top level key and either a single value string (value) or a list of key-value pairs (info.) Value and info are mutually exclusive. "info": { # Remaining structured metadata key-value pairs. This must be of the form map (string key mapping to a list of string values). @@ -149,21 +162,12 @@

Method Details

"id": "A String", # User-provided ID field, not enforced by this API. Two or more pieces of structured metadata with identical id and key fields are considered equivalent. }, ], - "referenceSetId": "A String", # The reference set to which the variant set is mapped. The reference set describes the alignment provenance of the variant set, while the `referenceBounds` describe the shape of the actual variant data. The reference set's reference names are a superset of those found in the `referenceBounds`. For example, given a variant set that is mapped to the GRCh38 reference set and contains a single variant on reference 'X', `referenceBounds` would contain only an entry for 'X', while the associated reference set enumerates all possible references: '1', '2', 'X', 'Y', 'MT', etc. - "id": "A String", # The server-generated variant set ID, unique across all variant sets. - "datasetId": "A String", # The dataset to which this variant set belongs. - "referenceBounds": [ # A list of all references used by the variants in a variant set with associated coordinate upper bounds for each one. - { # ReferenceBound records an upper bound for the starting coordinate of variants in a particular reference. - "upperBound": "A String", # An upper bound (inclusive) on the starting coordinate of any variant in the reference sequence. - "referenceName": "A String", # The name of the reference associated with this reference bound. - }, - ], }
delete(variantSetId, x__xgafv=None) -
Deletes the contents of a variant set. The variant set object is not deleted. For the definitions of variant sets and other genomics resources, see [Fundamentals of Google Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
+  
Deletes a variant set including all variants, call sets, and calls within. This is not reversible. For the definitions of variant sets and other genomics resources, see [Fundamentals of Google Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
 
 Args:
   variantSetId: string, The ID of the variant set to be deleted. (required)
@@ -233,6 +237,17 @@ 

Method Details

An object of the form: { # A variant set is a collection of call sets and variants. It contains summary statistics of those contents. A variant set belongs to a dataset. For more genomics resource definitions, see [Fundamentals of Google Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics) + "name": "A String", # User-specified, mutable name. + "description": "A String", # A textual description of this variant set. + "referenceBounds": [ # A list of all references used by the variants in a variant set with associated coordinate upper bounds for each one. + { # ReferenceBound records an upper bound for the starting coordinate of variants in a particular reference. + "upperBound": "A String", # An upper bound (inclusive) on the starting coordinate of any variant in the reference sequence. + "referenceName": "A String", # The name of the reference associated with this reference bound. + }, + ], + "referenceSetId": "A String", # The reference set to which the variant set is mapped. The reference set describes the alignment provenance of the variant set, while the `referenceBounds` describe the shape of the actual variant data. The reference set's reference names are a superset of those found in the `referenceBounds`. For example, given a variant set that is mapped to the GRCh38 reference set and contains a single variant on reference 'X', `referenceBounds` would contain only an entry for 'X', while the associated reference set enumerates all possible references: '1', '2', 'X', 'Y', 'MT', etc. + "id": "A String", # The server-generated variant set ID, unique across all variant sets. + "datasetId": "A String", # The dataset to which this variant set belongs. "metadata": [ # The metadata associated with this variant set. { # Metadata describes a single piece of variant call metadata. These data include a top level key and either a single value string (value) or a list of key-value pairs (info.) Value and info are mutually exclusive. "info": { # Remaining structured metadata key-value pairs. This must be of the form map (string key mapping to a list of string values). @@ -248,15 +263,6 @@

Method Details

"id": "A String", # User-provided ID field, not enforced by this API. Two or more pieces of structured metadata with identical id and key fields are considered equivalent. }, ], - "referenceSetId": "A String", # The reference set to which the variant set is mapped. The reference set describes the alignment provenance of the variant set, while the `referenceBounds` describe the shape of the actual variant data. The reference set's reference names are a superset of those found in the `referenceBounds`. For example, given a variant set that is mapped to the GRCh38 reference set and contains a single variant on reference 'X', `referenceBounds` would contain only an entry for 'X', while the associated reference set enumerates all possible references: '1', '2', 'X', 'Y', 'MT', etc. - "id": "A String", # The server-generated variant set ID, unique across all variant sets. - "datasetId": "A String", # The dataset to which this variant set belongs. - "referenceBounds": [ # A list of all references used by the variants in a variant set with associated coordinate upper bounds for each one. - { # ReferenceBound records an upper bound for the starting coordinate of variants in a particular reference. - "upperBound": "A String", # An upper bound (inclusive) on the starting coordinate of any variant in the reference sequence. - "referenceName": "A String", # The name of the reference associated with this reference bound. - }, - ], }
@@ -270,6 +276,17 @@

Method Details

The object takes the form of: { # A variant set is a collection of call sets and variants. It contains summary statistics of those contents. A variant set belongs to a dataset. For more genomics resource definitions, see [Fundamentals of Google Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics) + "name": "A String", # User-specified, mutable name. + "description": "A String", # A textual description of this variant set. + "referenceBounds": [ # A list of all references used by the variants in a variant set with associated coordinate upper bounds for each one. + { # ReferenceBound records an upper bound for the starting coordinate of variants in a particular reference. + "upperBound": "A String", # An upper bound (inclusive) on the starting coordinate of any variant in the reference sequence. + "referenceName": "A String", # The name of the reference associated with this reference bound. + }, + ], + "referenceSetId": "A String", # The reference set to which the variant set is mapped. The reference set describes the alignment provenance of the variant set, while the `referenceBounds` describe the shape of the actual variant data. The reference set's reference names are a superset of those found in the `referenceBounds`. For example, given a variant set that is mapped to the GRCh38 reference set and contains a single variant on reference 'X', `referenceBounds` would contain only an entry for 'X', while the associated reference set enumerates all possible references: '1', '2', 'X', 'Y', 'MT', etc. + "id": "A String", # The server-generated variant set ID, unique across all variant sets. + "datasetId": "A String", # The dataset to which this variant set belongs. "metadata": [ # The metadata associated with this variant set. { # Metadata describes a single piece of variant call metadata. These data include a top level key and either a single value string (value) or a list of key-value pairs (info.) Value and info are mutually exclusive. "info": { # Remaining structured metadata key-value pairs. This must be of the form map (string key mapping to a list of string values). @@ -285,24 +302,26 @@

Method Details

"id": "A String", # User-provided ID field, not enforced by this API. Two or more pieces of structured metadata with identical id and key fields are considered equivalent. }, ], - "referenceSetId": "A String", # The reference set to which the variant set is mapped. The reference set describes the alignment provenance of the variant set, while the `referenceBounds` describe the shape of the actual variant data. The reference set's reference names are a superset of those found in the `referenceBounds`. For example, given a variant set that is mapped to the GRCh38 reference set and contains a single variant on reference 'X', `referenceBounds` would contain only an entry for 'X', while the associated reference set enumerates all possible references: '1', '2', 'X', 'Y', 'MT', etc. - "id": "A String", # The server-generated variant set ID, unique across all variant sets. - "datasetId": "A String", # The dataset to which this variant set belongs. - "referenceBounds": [ # A list of all references used by the variants in a variant set with associated coordinate upper bounds for each one. - { # ReferenceBound records an upper bound for the starting coordinate of variants in a particular reference. - "upperBound": "A String", # An upper bound (inclusive) on the starting coordinate of any variant in the reference sequence. - "referenceName": "A String", # The name of the reference associated with this reference bound. - }, - ], } - updateMask: string, An optional mask specifying which fields to update. Supported fields: * metadata. Leaving `updateMask` unset is equivalent to specifying all mutable fields. + updateMask: string, An optional mask specifying which fields to update. Supported fields: * metadata. * name. * description. Leaving `updateMask` unset is equivalent to specifying all mutable fields. x__xgafv: string, V1 error format. Returns: An object of the form: { # A variant set is a collection of call sets and variants. It contains summary statistics of those contents. A variant set belongs to a dataset. For more genomics resource definitions, see [Fundamentals of Google Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics) + "name": "A String", # User-specified, mutable name. + "description": "A String", # A textual description of this variant set. + "referenceBounds": [ # A list of all references used by the variants in a variant set with associated coordinate upper bounds for each one. + { # ReferenceBound records an upper bound for the starting coordinate of variants in a particular reference. + "upperBound": "A String", # An upper bound (inclusive) on the starting coordinate of any variant in the reference sequence. + "referenceName": "A String", # The name of the reference associated with this reference bound. + }, + ], + "referenceSetId": "A String", # The reference set to which the variant set is mapped. The reference set describes the alignment provenance of the variant set, while the `referenceBounds` describe the shape of the actual variant data. The reference set's reference names are a superset of those found in the `referenceBounds`. For example, given a variant set that is mapped to the GRCh38 reference set and contains a single variant on reference 'X', `referenceBounds` would contain only an entry for 'X', while the associated reference set enumerates all possible references: '1', '2', 'X', 'Y', 'MT', etc. + "id": "A String", # The server-generated variant set ID, unique across all variant sets. + "datasetId": "A String", # The dataset to which this variant set belongs. "metadata": [ # The metadata associated with this variant set. { # Metadata describes a single piece of variant call metadata. These data include a top level key and either a single value string (value) or a list of key-value pairs (info.) Value and info are mutually exclusive. "info": { # Remaining structured metadata key-value pairs. This must be of the form map (string key mapping to a list of string values). @@ -318,15 +337,6 @@

Method Details

"id": "A String", # User-provided ID field, not enforced by this API. Two or more pieces of structured metadata with identical id and key fields are considered equivalent. }, ], - "referenceSetId": "A String", # The reference set to which the variant set is mapped. The reference set describes the alignment provenance of the variant set, while the `referenceBounds` describe the shape of the actual variant data. The reference set's reference names are a superset of those found in the `referenceBounds`. For example, given a variant set that is mapped to the GRCh38 reference set and contains a single variant on reference 'X', `referenceBounds` would contain only an entry for 'X', while the associated reference set enumerates all possible references: '1', '2', 'X', 'Y', 'MT', etc. - "id": "A String", # The server-generated variant set ID, unique across all variant sets. - "datasetId": "A String", # The dataset to which this variant set belongs. - "referenceBounds": [ # A list of all references used by the variants in a variant set with associated coordinate upper bounds for each one. - { # ReferenceBound records an upper bound for the starting coordinate of variants in a particular reference. - "upperBound": "A String", # An upper bound (inclusive) on the starting coordinate of any variant in the reference sequence. - "referenceName": "A String", # The name of the reference associated with this reference bound. - }, - ], }
@@ -355,6 +365,17 @@

Method Details

"nextPageToken": "A String", # The continuation token, which is used to page through large result sets. Provide this value in a subsequent request to return the next page of results. This field will be empty if there aren't any additional results. "variantSets": [ # The variant sets belonging to the requested dataset. { # A variant set is a collection of call sets and variants. It contains summary statistics of those contents. A variant set belongs to a dataset. For more genomics resource definitions, see [Fundamentals of Google Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics) + "name": "A String", # User-specified, mutable name. + "description": "A String", # A textual description of this variant set. + "referenceBounds": [ # A list of all references used by the variants in a variant set with associated coordinate upper bounds for each one. + { # ReferenceBound records an upper bound for the starting coordinate of variants in a particular reference. + "upperBound": "A String", # An upper bound (inclusive) on the starting coordinate of any variant in the reference sequence. + "referenceName": "A String", # The name of the reference associated with this reference bound. + }, + ], + "referenceSetId": "A String", # The reference set to which the variant set is mapped. The reference set describes the alignment provenance of the variant set, while the `referenceBounds` describe the shape of the actual variant data. The reference set's reference names are a superset of those found in the `referenceBounds`. For example, given a variant set that is mapped to the GRCh38 reference set and contains a single variant on reference 'X', `referenceBounds` would contain only an entry for 'X', while the associated reference set enumerates all possible references: '1', '2', 'X', 'Y', 'MT', etc. + "id": "A String", # The server-generated variant set ID, unique across all variant sets. + "datasetId": "A String", # The dataset to which this variant set belongs. "metadata": [ # The metadata associated with this variant set. { # Metadata describes a single piece of variant call metadata. These data include a top level key and either a single value string (value) or a list of key-value pairs (info.) Value and info are mutually exclusive. "info": { # Remaining structured metadata key-value pairs. This must be of the form map (string key mapping to a list of string values). @@ -370,15 +391,6 @@

Method Details

"id": "A String", # User-provided ID field, not enforced by this API. Two or more pieces of structured metadata with identical id and key fields are considered equivalent. }, ], - "referenceSetId": "A String", # The reference set to which the variant set is mapped. The reference set describes the alignment provenance of the variant set, while the `referenceBounds` describe the shape of the actual variant data. The reference set's reference names are a superset of those found in the `referenceBounds`. For example, given a variant set that is mapped to the GRCh38 reference set and contains a single variant on reference 'X', `referenceBounds` would contain only an entry for 'X', while the associated reference set enumerates all possible references: '1', '2', 'X', 'Y', 'MT', etc. - "id": "A String", # The server-generated variant set ID, unique across all variant sets. - "datasetId": "A String", # The dataset to which this variant set belongs. - "referenceBounds": [ # A list of all references used by the variants in a variant set with associated coordinate upper bounds for each one. - { # ReferenceBound records an upper bound for the starting coordinate of variants in a particular reference. - "upperBound": "A String", # An upper bound (inclusive) on the starting coordinate of any variant in the reference sequence. - "referenceName": "A String", # The name of the reference associated with this reference bound. - }, - ], }, ], }
diff --git a/docs/dyn/genomics_v1beta2.annotations.html b/docs/dyn/genomics_v1beta2.annotations.html index 89f077fe33d..ed08ec67d43 100644 --- a/docs/dyn/genomics_v1beta2.annotations.html +++ b/docs/dyn/genomics_v1beta2.annotations.html @@ -720,11 +720,11 @@

Method Details

{ "pageToken": "A String", # The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of nextPageToken from the previous response. - "range": { # A 0-based half-open genomic coordinate range for search requests. # If specified, this query matches only annotations that overlap this range. + "range": { # A 0-based half-open genomic coordinate range for search requests. reference_id or reference_name must be set. # If specified, this query matches only annotations that overlap this range. "start": "A String", # The start position of the range on the reference, 0-based inclusive. If specified, referenceId or referenceName must also be specified. Defaults to 0. - "referenceId": "A String", # The ID of the reference to query. At most one of referenceId and referenceName should be specified. + "referenceId": "A String", # The ID of the reference to query. "end": "A String", # The end position of the range on the reference, 0-based exclusive. If specified, referenceId or referenceName must also be specified. If unset or 0, defaults to the length of the reference. - "referenceName": "A String", # The name of the reference to query, within the reference set associated with this query. At most one of referenceId and referenceName pshould be specified. + "referenceName": "A String", # The name of the reference to query, within the reference set associated with this query. }, "annotationSetIds": [ # The annotation sets to search within. The caller must have READ access to these annotation sets. Required. All queried annotation sets must have the same type. "A String", diff --git a/docs/dyn/genomics_v1beta2.datasets.html b/docs/dyn/genomics_v1beta2.datasets.html index cc075c44f62..c07403031e4 100644 --- a/docs/dyn/genomics_v1beta2.datasets.html +++ b/docs/dyn/genomics_v1beta2.datasets.html @@ -79,7 +79,7 @@

Instance Methods

Creates a new dataset.

delete(datasetId)

-

Deletes a dataset.

+

Deletes a dataset and all of its contents (all read group sets, reference sets, variant sets, call sets, annotation sets, etc.) This is reversible (up to one week after the deletion) via the UndeleteDataset operation.

get(datasetId)

Gets a dataset by ID.

@@ -130,7 +130,7 @@

Method Details

delete(datasetId) -
Deletes a dataset.
+  
Deletes a dataset and all of its contents (all read group sets, reference sets, variant sets, call sets, annotation sets, etc.) This is reversible (up to one week after the deletion) via the UndeleteDataset operation.
 
 Args:
   datasetId: string, The ID of the dataset to be deleted. (required)
diff --git a/docs/dyn/genomics_v1beta2.variants.html b/docs/dyn/genomics_v1beta2.variants.html
index d220fb33f50..8e301813610 100644
--- a/docs/dyn/genomics_v1beta2.variants.html
+++ b/docs/dyn/genomics_v1beta2.variants.html
@@ -203,7 +203,7 @@ 

Method Details

Gets a variant by ID.
 
 Args:
-  variantId: string, The ID of the variant. (required)
+  variantId: string, Required. (required)
 
 Returns:
   An object of the form:
@@ -273,7 +273,7 @@ 

Method Details

], "variantName": "A String", # Only return variants which have exactly this name. "referenceName": "A String", # Required. Only return variants in this reference sequence. - "variantSetIds": [ # At most one variant set ID must be provided. Only variants from this variant set will be returned. If omitted, a call set id must be included in the request. + "variantSetIds": [ # At most one variant set ID must be provided. Only variants from this variant set will be returned. If omitted, a call set id must be included in the request. Both this and call_set_ids may be set. "A String", ], } diff --git a/docs/dyn/genomics_v1beta2.variantsets.html b/docs/dyn/genomics_v1beta2.variantsets.html index 57ebb6ee269..4997606edef 100644 --- a/docs/dyn/genomics_v1beta2.variantsets.html +++ b/docs/dyn/genomics_v1beta2.variantsets.html @@ -79,7 +79,7 @@

Instance Methods

Creates a new variant set (only necessary in v1).

delete(variantSetId)

-

Deletes the contents of a variant set. The variant set object is not deleted.

+

Deletes a variant set including all variants, call sets, and calls within. This is not reversible.

export(variantSetId, body)

Exports variant set data to an external destination.

@@ -113,17 +113,8 @@

Method Details

The object takes the form of: { # A variant set is a collection of call sets and variants. It contains summary statistics of those contents. A variant set belongs to a dataset. - "referenceBounds": [ # A list of all references used by the variants in a variant set with associated coordinate upper bounds for each one. - { # ReferenceBound records an upper bound for the starting coordinate of variants in a particular reference. - "upperBound": "A String", # An upper bound (inclusive) on the starting coordinate of any variant in the reference sequence. - "referenceName": "A String", # The name of the reference associated with this reference bound. - }, - ], - "referenceSetId": "A String", # The reference set to which the variant set is mapped. The reference set describes the alignment provenance of the variant set, while the referenceBounds describe the shape of the actual variant data. The reference set's reference names are a superset of those found in the referenceBounds. - # - # For example, given a variant set that is mapped to the GRCh38 reference set and contains a single variant on reference 'X', referenceBounds would contain only an entry for 'X', while the associated reference set enumerates all possible references: '1', '2', 'X', 'Y', 'MT', etc. - "id": "A String", # The Google-generated ID of the variant set. Immutable. - "datasetId": "A String", # The dataset to which this variant set belongs. Immutable. + "name": "A String", # User-specified, mutable name. + "description": "A String", # A textual description of this variant set. "metadata": [ # The metadata associated with this variant set. { # Metadata describes a single piece of variant call metadata. These data include a top level key and either a single value string (value) or a list of key-value pairs (info.) Value and info are mutually exclusive. "info": { # A string which maps to an array of values. @@ -139,6 +130,17 @@

Method Details

"id": "A String", # User-provided ID field, not enforced by this API. Two or more pieces of structured metadata with identical id and key fields are considered equivalent. }, ], + "referenceSetId": "A String", # The reference set to which the variant set is mapped. The reference set describes the alignment provenance of the variant set, while the referenceBounds describe the shape of the actual variant data. The reference set's reference names are a superset of those found in the referenceBounds. + # + # For example, given a variant set that is mapped to the GRCh38 reference set and contains a single variant on reference 'X', referenceBounds would contain only an entry for 'X', while the associated reference set enumerates all possible references: '1', '2', 'X', 'Y', 'MT', etc. + "id": "A String", # The Google-generated ID of the variant set. Immutable. + "datasetId": "A String", # The dataset to which this variant set belongs. Immutable. + "referenceBounds": [ # A list of all references used by the variants in a variant set with associated coordinate upper bounds for each one. + { # ReferenceBound records an upper bound for the starting coordinate of variants in a particular reference. + "upperBound": "A String", # An upper bound (inclusive) on the starting coordinate of any variant in the reference sequence. + "referenceName": "A String", # The name of the reference associated with this reference bound. + }, + ], } @@ -146,17 +148,8 @@

Method Details

An object of the form: { # A variant set is a collection of call sets and variants. It contains summary statistics of those contents. A variant set belongs to a dataset. - "referenceBounds": [ # A list of all references used by the variants in a variant set with associated coordinate upper bounds for each one. - { # ReferenceBound records an upper bound for the starting coordinate of variants in a particular reference. - "upperBound": "A String", # An upper bound (inclusive) on the starting coordinate of any variant in the reference sequence. - "referenceName": "A String", # The name of the reference associated with this reference bound. - }, - ], - "referenceSetId": "A String", # The reference set to which the variant set is mapped. The reference set describes the alignment provenance of the variant set, while the referenceBounds describe the shape of the actual variant data. The reference set's reference names are a superset of those found in the referenceBounds. - # - # For example, given a variant set that is mapped to the GRCh38 reference set and contains a single variant on reference 'X', referenceBounds would contain only an entry for 'X', while the associated reference set enumerates all possible references: '1', '2', 'X', 'Y', 'MT', etc. - "id": "A String", # The Google-generated ID of the variant set. Immutable. - "datasetId": "A String", # The dataset to which this variant set belongs. Immutable. + "name": "A String", # User-specified, mutable name. + "description": "A String", # A textual description of this variant set. "metadata": [ # The metadata associated with this variant set. { # Metadata describes a single piece of variant call metadata. These data include a top level key and either a single value string (value) or a list of key-value pairs (info.) Value and info are mutually exclusive. "info": { # A string which maps to an array of values. @@ -172,15 +165,26 @@

Method Details

"id": "A String", # User-provided ID field, not enforced by this API. Two or more pieces of structured metadata with identical id and key fields are considered equivalent. }, ], + "referenceSetId": "A String", # The reference set to which the variant set is mapped. The reference set describes the alignment provenance of the variant set, while the referenceBounds describe the shape of the actual variant data. The reference set's reference names are a superset of those found in the referenceBounds. + # + # For example, given a variant set that is mapped to the GRCh38 reference set and contains a single variant on reference 'X', referenceBounds would contain only an entry for 'X', while the associated reference set enumerates all possible references: '1', '2', 'X', 'Y', 'MT', etc. + "id": "A String", # The Google-generated ID of the variant set. Immutable. + "datasetId": "A String", # The dataset to which this variant set belongs. Immutable. + "referenceBounds": [ # A list of all references used by the variants in a variant set with associated coordinate upper bounds for each one. + { # ReferenceBound records an upper bound for the starting coordinate of variants in a particular reference. + "upperBound": "A String", # An upper bound (inclusive) on the starting coordinate of any variant in the reference sequence. + "referenceName": "A String", # The name of the reference associated with this reference bound. + }, + ], }
delete(variantSetId) -
Deletes the contents of a variant set. The variant set object is not deleted.
+  
Deletes a variant set including all variants, call sets, and calls within. This is not reversible.
 
 Args:
-  variantSetId: string, The ID of the variant set to be deleted. (required)
+  variantSetId: string, The ID of the variant set to be deleted. Required. (required)
 
@@ -189,7 +193,7 @@

Method Details

Exports variant set data to an external destination.
 
 Args:
-  variantSetId: string, Required. The ID of the variant set that contains variant data which should be exported. The caller must have READ access to this variant set. (required)
+  variantSetId: string, The ID of the variant set that contains variant data which should be exported. Required. The caller must have READ access to this variant set. (required)
   body: object, The request body. (required)
     The object takes the form of:
 
@@ -217,23 +221,14 @@ 

Method Details

Gets a variant set by ID.
 
 Args:
-  variantSetId: string, Required. The ID of the variant set. (required)
+  variantSetId: string, The ID of the variant set. Required. (required)
 
 Returns:
   An object of the form:
 
     { # A variant set is a collection of call sets and variants. It contains summary statistics of those contents. A variant set belongs to a dataset.
-    "referenceBounds": [ # A list of all references used by the variants in a variant set with associated coordinate upper bounds for each one.
-      { # ReferenceBound records an upper bound for the starting coordinate of variants in a particular reference.
-        "upperBound": "A String", # An upper bound (inclusive) on the starting coordinate of any variant in the reference sequence.
-        "referenceName": "A String", # The name of the reference associated with this reference bound.
-      },
-    ],
-    "referenceSetId": "A String", # The reference set to which the variant set is mapped. The reference set describes the alignment provenance of the variant set, while the referenceBounds describe the shape of the actual variant data. The reference set's reference names are a superset of those found in the referenceBounds.
-        #
-        # For example, given a variant set that is mapped to the GRCh38 reference set and contains a single variant on reference 'X', referenceBounds would contain only an entry for 'X', while the associated reference set enumerates all possible references: '1', '2', 'X', 'Y', 'MT', etc.
-    "id": "A String", # The Google-generated ID of the variant set. Immutable.
-    "datasetId": "A String", # The dataset to which this variant set belongs. Immutable.
+    "name": "A String", # User-specified, mutable name.
+    "description": "A String", # A textual description of this variant set.
     "metadata": [ # The metadata associated with this variant set.
       { # Metadata describes a single piece of variant call metadata. These data include a top level key and either a single value string (value) or a list of key-value pairs (info.) Value and info are mutually exclusive.
         "info": { # A string which maps to an array of values.
@@ -249,6 +244,17 @@ 

Method Details

"id": "A String", # User-provided ID field, not enforced by this API. Two or more pieces of structured metadata with identical id and key fields are considered equivalent. }, ], + "referenceSetId": "A String", # The reference set to which the variant set is mapped. The reference set describes the alignment provenance of the variant set, while the referenceBounds describe the shape of the actual variant data. The reference set's reference names are a superset of those found in the referenceBounds. + # + # For example, given a variant set that is mapped to the GRCh38 reference set and contains a single variant on reference 'X', referenceBounds would contain only an entry for 'X', while the associated reference set enumerates all possible references: '1', '2', 'X', 'Y', 'MT', etc. + "id": "A String", # The Google-generated ID of the variant set. Immutable. + "datasetId": "A String", # The dataset to which this variant set belongs. Immutable. + "referenceBounds": [ # A list of all references used by the variants in a variant set with associated coordinate upper bounds for each one. + { # ReferenceBound records an upper bound for the starting coordinate of variants in a particular reference. + "upperBound": "A String", # An upper bound (inclusive) on the starting coordinate of any variant in the reference sequence. + "referenceName": "A String", # The name of the reference associated with this reference bound. + }, + ], }
@@ -256,7 +262,7 @@

Method Details

importVariants(variantSetId, body)
Creates variant data by asynchronously importing the provided information.
 
-The variants for import will be merged with any existing data and each other according to the behavior of mergeVariants. In particular, this means for merged VCF variants that have conflicting info fields, some data will be arbitrarily discarded. As a special case, for single-sample VCF files, QUAL and FILTER fields will be moved to the call level; these are sometimes interpreted in a call-specific context. Imported VCF headers are appended to the metadata already in a variant set.
+The variants for import will be merged with any existing data and each other according to the behavior of mergeVariants. In particular, this means for merged VCF variants that have conflicting info fields, some data will be arbitrarily discarded unless otherwise specified in the InfoMergeConfig field of ImportVariantsRequest. As a special case, for single-sample VCF files, QUAL and FILTER fields will be moved to the call level; these are sometimes interpreted in a call-specific context. Imported VCF headers are appended to the metadata already in a variant set.
 
 Args:
   variantSetId: string, Required. The variant set to which variant data should be imported. (required)
@@ -284,7 +290,7 @@ 

Method Details

mergeVariants(variantSetId, body)
Merges the given variants with existing variants. Each variant will be merged with an existing variant that matches its reference sequence, start, end, reference bases, and alternative bases. If no such variant exists, a new one will be created.
 
-When variants are merged, the call information from the new variant is added to the existing variant, and other fields (such as key/value pairs) are discarded.
+When variants are merged, the call information from the new variant is added to the existing variant. Variant info fields are merged as specified in the InfoMergeConfig field of the MergeVariantsRequest.
 
 Args:
   variantSetId: string, The destination variant set. (required)
@@ -346,22 +352,13 @@ 

Method Details

Updates a variant set's metadata. All other modifications are silently ignored. This method supports patch semantics.
 
 Args:
-  variantSetId: string, The ID of the variant to be updated (must already exist). (required)
+  variantSetId: string, The ID of the variant set to be updated (must already exist). (required)
   body: object, The request body. (required)
     The object takes the form of:
 
 { # A variant set is a collection of call sets and variants. It contains summary statistics of those contents. A variant set belongs to a dataset.
-  "referenceBounds": [ # A list of all references used by the variants in a variant set with associated coordinate upper bounds for each one.
-    { # ReferenceBound records an upper bound for the starting coordinate of variants in a particular reference.
-      "upperBound": "A String", # An upper bound (inclusive) on the starting coordinate of any variant in the reference sequence.
-      "referenceName": "A String", # The name of the reference associated with this reference bound.
-    },
-  ],
-  "referenceSetId": "A String", # The reference set to which the variant set is mapped. The reference set describes the alignment provenance of the variant set, while the referenceBounds describe the shape of the actual variant data. The reference set's reference names are a superset of those found in the referenceBounds.
-      # 
-      # For example, given a variant set that is mapped to the GRCh38 reference set and contains a single variant on reference 'X', referenceBounds would contain only an entry for 'X', while the associated reference set enumerates all possible references: '1', '2', 'X', 'Y', 'MT', etc.
-  "id": "A String", # The Google-generated ID of the variant set. Immutable.
-  "datasetId": "A String", # The dataset to which this variant set belongs. Immutable.
+  "name": "A String", # User-specified, mutable name.
+  "description": "A String", # A textual description of this variant set.
   "metadata": [ # The metadata associated with this variant set.
     { # Metadata describes a single piece of variant call metadata. These data include a top level key and either a single value string (value) or a list of key-value pairs (info.) Value and info are mutually exclusive.
       "info": { # A string which maps to an array of values.
@@ -377,6 +374,17 @@ 

Method Details

"id": "A String", # User-provided ID field, not enforced by this API. Two or more pieces of structured metadata with identical id and key fields are considered equivalent. }, ], + "referenceSetId": "A String", # The reference set to which the variant set is mapped. The reference set describes the alignment provenance of the variant set, while the referenceBounds describe the shape of the actual variant data. The reference set's reference names are a superset of those found in the referenceBounds. + # + # For example, given a variant set that is mapped to the GRCh38 reference set and contains a single variant on reference 'X', referenceBounds would contain only an entry for 'X', while the associated reference set enumerates all possible references: '1', '2', 'X', 'Y', 'MT', etc. + "id": "A String", # The Google-generated ID of the variant set. Immutable. + "datasetId": "A String", # The dataset to which this variant set belongs. Immutable. + "referenceBounds": [ # A list of all references used by the variants in a variant set with associated coordinate upper bounds for each one. + { # ReferenceBound records an upper bound for the starting coordinate of variants in a particular reference. + "upperBound": "A String", # An upper bound (inclusive) on the starting coordinate of any variant in the reference sequence. + "referenceName": "A String", # The name of the reference associated with this reference bound. + }, + ], } @@ -384,17 +392,8 @@

Method Details

An object of the form: { # A variant set is a collection of call sets and variants. It contains summary statistics of those contents. A variant set belongs to a dataset. - "referenceBounds": [ # A list of all references used by the variants in a variant set with associated coordinate upper bounds for each one. - { # ReferenceBound records an upper bound for the starting coordinate of variants in a particular reference. - "upperBound": "A String", # An upper bound (inclusive) on the starting coordinate of any variant in the reference sequence. - "referenceName": "A String", # The name of the reference associated with this reference bound. - }, - ], - "referenceSetId": "A String", # The reference set to which the variant set is mapped. The reference set describes the alignment provenance of the variant set, while the referenceBounds describe the shape of the actual variant data. The reference set's reference names are a superset of those found in the referenceBounds. - # - # For example, given a variant set that is mapped to the GRCh38 reference set and contains a single variant on reference 'X', referenceBounds would contain only an entry for 'X', while the associated reference set enumerates all possible references: '1', '2', 'X', 'Y', 'MT', etc. - "id": "A String", # The Google-generated ID of the variant set. Immutable. - "datasetId": "A String", # The dataset to which this variant set belongs. Immutable. + "name": "A String", # User-specified, mutable name. + "description": "A String", # A textual description of this variant set. "metadata": [ # The metadata associated with this variant set. { # Metadata describes a single piece of variant call metadata. These data include a top level key and either a single value string (value) or a list of key-value pairs (info.) Value and info are mutually exclusive. "info": { # A string which maps to an array of values. @@ -410,6 +409,17 @@

Method Details

"id": "A String", # User-provided ID field, not enforced by this API. Two or more pieces of structured metadata with identical id and key fields are considered equivalent. }, ], + "referenceSetId": "A String", # The reference set to which the variant set is mapped. The reference set describes the alignment provenance of the variant set, while the referenceBounds describe the shape of the actual variant data. The reference set's reference names are a superset of those found in the referenceBounds. + # + # For example, given a variant set that is mapped to the GRCh38 reference set and contains a single variant on reference 'X', referenceBounds would contain only an entry for 'X', while the associated reference set enumerates all possible references: '1', '2', 'X', 'Y', 'MT', etc. + "id": "A String", # The Google-generated ID of the variant set. Immutable. + "datasetId": "A String", # The dataset to which this variant set belongs. Immutable. + "referenceBounds": [ # A list of all references used by the variants in a variant set with associated coordinate upper bounds for each one. + { # ReferenceBound records an upper bound for the starting coordinate of variants in a particular reference. + "upperBound": "A String", # An upper bound (inclusive) on the starting coordinate of any variant in the reference sequence. + "referenceName": "A String", # The name of the reference associated with this reference bound. + }, + ], }
@@ -439,17 +449,8 @@

Method Details

"nextPageToken": "A String", # The continuation token, which is used to page through large result sets. Provide this value in a subsequent request to return the next page of results. This field will be empty if there aren't any additional results. "variantSets": [ # The variant sets belonging to the requested dataset. { # A variant set is a collection of call sets and variants. It contains summary statistics of those contents. A variant set belongs to a dataset. - "referenceBounds": [ # A list of all references used by the variants in a variant set with associated coordinate upper bounds for each one. - { # ReferenceBound records an upper bound for the starting coordinate of variants in a particular reference. - "upperBound": "A String", # An upper bound (inclusive) on the starting coordinate of any variant in the reference sequence. - "referenceName": "A String", # The name of the reference associated with this reference bound. - }, - ], - "referenceSetId": "A String", # The reference set to which the variant set is mapped. The reference set describes the alignment provenance of the variant set, while the referenceBounds describe the shape of the actual variant data. The reference set's reference names are a superset of those found in the referenceBounds. - # - # For example, given a variant set that is mapped to the GRCh38 reference set and contains a single variant on reference 'X', referenceBounds would contain only an entry for 'X', while the associated reference set enumerates all possible references: '1', '2', 'X', 'Y', 'MT', etc. - "id": "A String", # The Google-generated ID of the variant set. Immutable. - "datasetId": "A String", # The dataset to which this variant set belongs. Immutable. + "name": "A String", # User-specified, mutable name. + "description": "A String", # A textual description of this variant set. "metadata": [ # The metadata associated with this variant set. { # Metadata describes a single piece of variant call metadata. These data include a top level key and either a single value string (value) or a list of key-value pairs (info.) Value and info are mutually exclusive. "info": { # A string which maps to an array of values. @@ -465,6 +466,17 @@

Method Details

"id": "A String", # User-provided ID field, not enforced by this API. Two or more pieces of structured metadata with identical id and key fields are considered equivalent. }, ], + "referenceSetId": "A String", # The reference set to which the variant set is mapped. The reference set describes the alignment provenance of the variant set, while the referenceBounds describe the shape of the actual variant data. The reference set's reference names are a superset of those found in the referenceBounds. + # + # For example, given a variant set that is mapped to the GRCh38 reference set and contains a single variant on reference 'X', referenceBounds would contain only an entry for 'X', while the associated reference set enumerates all possible references: '1', '2', 'X', 'Y', 'MT', etc. + "id": "A String", # The Google-generated ID of the variant set. Immutable. + "datasetId": "A String", # The dataset to which this variant set belongs. Immutable. + "referenceBounds": [ # A list of all references used by the variants in a variant set with associated coordinate upper bounds for each one. + { # ReferenceBound records an upper bound for the starting coordinate of variants in a particular reference. + "upperBound": "A String", # An upper bound (inclusive) on the starting coordinate of any variant in the reference sequence. + "referenceName": "A String", # The name of the reference associated with this reference bound. + }, + ], }, ], }
@@ -475,22 +487,13 @@

Method Details

Updates a variant set's metadata. All other modifications are silently ignored.
 
 Args:
-  variantSetId: string, The ID of the variant to be updated (must already exist). (required)
+  variantSetId: string, The ID of the variant set to be updated (must already exist). (required)
   body: object, The request body. (required)
     The object takes the form of:
 
 { # A variant set is a collection of call sets and variants. It contains summary statistics of those contents. A variant set belongs to a dataset.
-  "referenceBounds": [ # A list of all references used by the variants in a variant set with associated coordinate upper bounds for each one.
-    { # ReferenceBound records an upper bound for the starting coordinate of variants in a particular reference.
-      "upperBound": "A String", # An upper bound (inclusive) on the starting coordinate of any variant in the reference sequence.
-      "referenceName": "A String", # The name of the reference associated with this reference bound.
-    },
-  ],
-  "referenceSetId": "A String", # The reference set to which the variant set is mapped. The reference set describes the alignment provenance of the variant set, while the referenceBounds describe the shape of the actual variant data. The reference set's reference names are a superset of those found in the referenceBounds.
-      # 
-      # For example, given a variant set that is mapped to the GRCh38 reference set and contains a single variant on reference 'X', referenceBounds would contain only an entry for 'X', while the associated reference set enumerates all possible references: '1', '2', 'X', 'Y', 'MT', etc.
-  "id": "A String", # The Google-generated ID of the variant set. Immutable.
-  "datasetId": "A String", # The dataset to which this variant set belongs. Immutable.
+  "name": "A String", # User-specified, mutable name.
+  "description": "A String", # A textual description of this variant set.
   "metadata": [ # The metadata associated with this variant set.
     { # Metadata describes a single piece of variant call metadata. These data include a top level key and either a single value string (value) or a list of key-value pairs (info.) Value and info are mutually exclusive.
       "info": { # A string which maps to an array of values.
@@ -506,6 +509,17 @@ 

Method Details

"id": "A String", # User-provided ID field, not enforced by this API. Two or more pieces of structured metadata with identical id and key fields are considered equivalent. }, ], + "referenceSetId": "A String", # The reference set to which the variant set is mapped. The reference set describes the alignment provenance of the variant set, while the referenceBounds describe the shape of the actual variant data. The reference set's reference names are a superset of those found in the referenceBounds. + # + # For example, given a variant set that is mapped to the GRCh38 reference set and contains a single variant on reference 'X', referenceBounds would contain only an entry for 'X', while the associated reference set enumerates all possible references: '1', '2', 'X', 'Y', 'MT', etc. + "id": "A String", # The Google-generated ID of the variant set. Immutable. + "datasetId": "A String", # The dataset to which this variant set belongs. Immutable. + "referenceBounds": [ # A list of all references used by the variants in a variant set with associated coordinate upper bounds for each one. + { # ReferenceBound records an upper bound for the starting coordinate of variants in a particular reference. + "upperBound": "A String", # An upper bound (inclusive) on the starting coordinate of any variant in the reference sequence. + "referenceName": "A String", # The name of the reference associated with this reference bound. + }, + ], } @@ -513,17 +527,8 @@

Method Details

An object of the form: { # A variant set is a collection of call sets and variants. It contains summary statistics of those contents. A variant set belongs to a dataset. - "referenceBounds": [ # A list of all references used by the variants in a variant set with associated coordinate upper bounds for each one. - { # ReferenceBound records an upper bound for the starting coordinate of variants in a particular reference. - "upperBound": "A String", # An upper bound (inclusive) on the starting coordinate of any variant in the reference sequence. - "referenceName": "A String", # The name of the reference associated with this reference bound. - }, - ], - "referenceSetId": "A String", # The reference set to which the variant set is mapped. The reference set describes the alignment provenance of the variant set, while the referenceBounds describe the shape of the actual variant data. The reference set's reference names are a superset of those found in the referenceBounds. - # - # For example, given a variant set that is mapped to the GRCh38 reference set and contains a single variant on reference 'X', referenceBounds would contain only an entry for 'X', while the associated reference set enumerates all possible references: '1', '2', 'X', 'Y', 'MT', etc. - "id": "A String", # The Google-generated ID of the variant set. Immutable. - "datasetId": "A String", # The dataset to which this variant set belongs. Immutable. + "name": "A String", # User-specified, mutable name. + "description": "A String", # A textual description of this variant set. "metadata": [ # The metadata associated with this variant set. { # Metadata describes a single piece of variant call metadata. These data include a top level key and either a single value string (value) or a list of key-value pairs (info.) Value and info are mutually exclusive. "info": { # A string which maps to an array of values. @@ -539,6 +544,17 @@

Method Details

"id": "A String", # User-provided ID field, not enforced by this API. Two or more pieces of structured metadata with identical id and key fields are considered equivalent. }, ], + "referenceSetId": "A String", # The reference set to which the variant set is mapped. The reference set describes the alignment provenance of the variant set, while the referenceBounds describe the shape of the actual variant data. The reference set's reference names are a superset of those found in the referenceBounds. + # + # For example, given a variant set that is mapped to the GRCh38 reference set and contains a single variant on reference 'X', referenceBounds would contain only an entry for 'X', while the associated reference set enumerates all possible references: '1', '2', 'X', 'Y', 'MT', etc. + "id": "A String", # The Google-generated ID of the variant set. Immutable. + "datasetId": "A String", # The dataset to which this variant set belongs. Immutable. + "referenceBounds": [ # A list of all references used by the variants in a variant set with associated coordinate upper bounds for each one. + { # ReferenceBound records an upper bound for the starting coordinate of variants in a particular reference. + "upperBound": "A String", # An upper bound (inclusive) on the starting coordinate of any variant in the reference sequence. + "referenceName": "A String", # The name of the reference associated with this reference bound. + }, + ], }
diff --git a/docs/dyn/gmail_v1.users.drafts.html b/docs/dyn/gmail_v1.users.drafts.html index 2c5fdc58ebb..7612bd0f87c 100644 --- a/docs/dyn/gmail_v1.users.drafts.html +++ b/docs/dyn/gmail_v1.users.drafts.html @@ -84,7 +84,7 @@

Instance Methods

get(userId, id, format=None)

Gets the specified draft.

- list(userId, pageToken=None, maxResults=None)

+ list(userId, pageToken=None, maxResults=None, includeSpamTrash=None)

Lists the drafts in the user's mailbox.

list_next(previous_request, previous_response)

@@ -254,13 +254,14 @@

Method Details

- list(userId, pageToken=None, maxResults=None) + list(userId, pageToken=None, maxResults=None, includeSpamTrash=None)
Lists the drafts in the user's mailbox.
 
 Args:
   userId: string, The user's email address. The special value me can be used to indicate the authenticated user. (required)
   pageToken: string, Page token to retrieve a specific page of results in the list.
   maxResults: integer, Maximum number of drafts to return.
+  includeSpamTrash: boolean, Include drafts from SPAM and TRASH in the results.
 
 Returns:
   An object of the form:
diff --git a/docs/dyn/gmail_v1.users.messages.html b/docs/dyn/gmail_v1.users.messages.html
index a514067d8af..65bb8709c15 100644
--- a/docs/dyn/gmail_v1.users.messages.html
+++ b/docs/dyn/gmail_v1.users.messages.html
@@ -79,6 +79,9 @@ 

Instance Methods

Returns the attachments Resource.

+

+ batchDelete(userId, body)

+

Deletes many messages by message ID. Provides no guarantees that messages were not already deleted or even existed at all.

delete(userId, id)

Immediately and permanently deletes the specified message. This operation cannot be undone. Prefer messages.trash instead.

@@ -110,6 +113,24 @@

Instance Methods

untrash(userId, id)

Removes the specified message from the trash.

Method Details

+
+ batchDelete(userId, body) +
Deletes many messages by message ID. Provides no guarantees that messages were not already deleted or even existed at all.
+
+Args:
+  userId: string, The user's email address. The special value me can be used to indicate the authenticated user. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{
+    "ids": [ # The IDs of the messages to delete.
+      "A String",
+    ],
+  }
+
+
+
+
delete(userId, id)
Immediately and permanently deletes the specified message. This operation cannot be undone. Prefer messages.trash instead.
diff --git a/docs/dyn/groupssettings_v1.groups.html b/docs/dyn/groupssettings_v1.groups.html
index 3965ca23efa..2325d848fb5 100644
--- a/docs/dyn/groupssettings_v1.groups.html
+++ b/docs/dyn/groupssettings_v1.groups.html
@@ -98,7 +98,7 @@ 

Method Details

"allowExternalMembers": "A String", # Are external members allowed to join the group. "whoCanPostMessage": "A String", # Permissions to post messages to the group. Possible values are: NONE_CAN_POST ALL_MANAGERS_CAN_POST ALL_MEMBERS_CAN_POST ALL_IN_DOMAIN_CAN_POST ANYONE_CAN_POST "primaryLanguage": "A String", # Primary language for the group. - "whoCanViewMembership": "A String", # Permissions to view membership. Possbile values are: ALL_IN_DOMAIN_CAN_VIEW ALL_MEMBERS_CAN_VIEW ALL_MANAGERS_CAN_VIEW + "whoCanViewMembership": "A String", # Permissions to view membership. Possible values are: ALL_IN_DOMAIN_CAN_VIEW ALL_MEMBERS_CAN_VIEW ALL_MANAGERS_CAN_VIEW "defaultMessageDenyNotificationText": "A String", # Default message deny notification message "includeInGlobalAddressList": "A String", # If this groups should be included in global address list or not. "archiveOnly": "A String", # If the group is archive only @@ -111,15 +111,16 @@

Method Details

"replyTo": "A String", # Whome should the default reply to a message go to. Possible values are: REPLY_TO_CUSTOM REPLY_TO_SENDER REPLY_TO_LIST REPLY_TO_OWNER REPLY_TO_IGNORE REPLY_TO_MANAGERS "customReplyTo": "A String", # Default email to which reply to any message should go. "sendMessageDenyNotification": "A String", # Should the member be notified if his message is denied by owner. - "whoCanContactOwner": "A String", # Permission to contact owner of the group via web UI. Possbile values are: ANYONE_CAN_CONTACT ALL_IN_DOMAIN_CAN_CONTACT ALL_MEMBERS_CAN_CONTACT ALL_MANAGERS_CAN_CONTACT + "whoCanContactOwner": "A String", # Permission to contact owner of the group via web UI. Possible values are: ANYONE_CAN_CONTACT ALL_IN_DOMAIN_CAN_CONTACT ALL_MEMBERS_CAN_CONTACT ALL_MANAGERS_CAN_CONTACT "messageDisplayFont": "A String", # Default message display font. Possible values are: DEFAULT_FONT FIXED_WIDTH_FONT - "whoCanLeaveGroup": "A String", # Permission to leave the group. Possible values are: ALL_MANAGERS_CAN_LEAVE ALL_MEMBERS_CAN_LEAVE + "whoCanLeaveGroup": "A String", # Permission to leave the group. Possible values are: ALL_MANAGERS_CAN_LEAVE ALL_MEMBERS_CAN_LEAVE NONE_CAN_LEAVE + "whoCanAdd": "A String", # Permissions to add members. Possible values are: ALL_MANAGERS_CAN_ADD ALL_MEMBERS_CAN_ADD NONE_CAN_ADD "whoCanJoin": "A String", # Permissions to join the group. Possible values are: ANYONE_CAN_JOIN ALL_IN_DOMAIN_CAN_JOIN INVITED_CAN_JOIN CAN_REQUEST_TO_JOIN - "whoCanInvite": "A String", # Permissions to invite members. Possbile values are: ALL_MEMBERS_CAN_INVITE ALL_MANAGERS_CAN_INVITE + "whoCanInvite": "A String", # Permissions to invite members. Possible values are: ALL_MEMBERS_CAN_INVITE ALL_MANAGERS_CAN_INVITE NONE_CAN_INVITE "kind": "groupsSettings#groups", # The type of the resource. "name": "A String", # Name of the Group "spamModerationLevel": "A String", # Moderation level for messages detected as spam. Possible values are: ALLOW MODERATE SILENTLY_MODERATE REJECT - "whoCanViewGroup": "A String", # Permissions to view group. Possbile values are: ANYONE_CAN_VIEW ALL_IN_DOMAIN_CAN_VIEW ALL_MEMBERS_CAN_VIEW ALL_MANAGERS_CAN_VIEW + "whoCanViewGroup": "A String", # Permissions to view group. Possible values are: ANYONE_CAN_VIEW ALL_IN_DOMAIN_CAN_VIEW ALL_MEMBERS_CAN_VIEW ALL_MANAGERS_CAN_VIEW "showInGroupDirectory": "A String", # Is the group listed in groups directory "maxMessageBytes": 42, # Maximum message size allowed. "allowGoogleCommunication": "A String", # Is google allowed to contact admins. @@ -139,7 +140,7 @@

Method Details

"allowExternalMembers": "A String", # Are external members allowed to join the group. "whoCanPostMessage": "A String", # Permissions to post messages to the group. Possible values are: NONE_CAN_POST ALL_MANAGERS_CAN_POST ALL_MEMBERS_CAN_POST ALL_IN_DOMAIN_CAN_POST ANYONE_CAN_POST "primaryLanguage": "A String", # Primary language for the group. - "whoCanViewMembership": "A String", # Permissions to view membership. Possbile values are: ALL_IN_DOMAIN_CAN_VIEW ALL_MEMBERS_CAN_VIEW ALL_MANAGERS_CAN_VIEW + "whoCanViewMembership": "A String", # Permissions to view membership. Possible values are: ALL_IN_DOMAIN_CAN_VIEW ALL_MEMBERS_CAN_VIEW ALL_MANAGERS_CAN_VIEW "defaultMessageDenyNotificationText": "A String", # Default message deny notification message "includeInGlobalAddressList": "A String", # If this groups should be included in global address list or not. "archiveOnly": "A String", # If the group is archive only @@ -152,15 +153,16 @@

Method Details

"replyTo": "A String", # Whome should the default reply to a message go to. Possible values are: REPLY_TO_CUSTOM REPLY_TO_SENDER REPLY_TO_LIST REPLY_TO_OWNER REPLY_TO_IGNORE REPLY_TO_MANAGERS "customReplyTo": "A String", # Default email to which reply to any message should go. "sendMessageDenyNotification": "A String", # Should the member be notified if his message is denied by owner. - "whoCanContactOwner": "A String", # Permission to contact owner of the group via web UI. Possbile values are: ANYONE_CAN_CONTACT ALL_IN_DOMAIN_CAN_CONTACT ALL_MEMBERS_CAN_CONTACT ALL_MANAGERS_CAN_CONTACT + "whoCanContactOwner": "A String", # Permission to contact owner of the group via web UI. Possible values are: ANYONE_CAN_CONTACT ALL_IN_DOMAIN_CAN_CONTACT ALL_MEMBERS_CAN_CONTACT ALL_MANAGERS_CAN_CONTACT "messageDisplayFont": "A String", # Default message display font. Possible values are: DEFAULT_FONT FIXED_WIDTH_FONT - "whoCanLeaveGroup": "A String", # Permission to leave the group. Possible values are: ALL_MANAGERS_CAN_LEAVE ALL_MEMBERS_CAN_LEAVE + "whoCanLeaveGroup": "A String", # Permission to leave the group. Possible values are: ALL_MANAGERS_CAN_LEAVE ALL_MEMBERS_CAN_LEAVE NONE_CAN_LEAVE + "whoCanAdd": "A String", # Permissions to add members. Possible values are: ALL_MANAGERS_CAN_ADD ALL_MEMBERS_CAN_ADD NONE_CAN_ADD "whoCanJoin": "A String", # Permissions to join the group. Possible values are: ANYONE_CAN_JOIN ALL_IN_DOMAIN_CAN_JOIN INVITED_CAN_JOIN CAN_REQUEST_TO_JOIN - "whoCanInvite": "A String", # Permissions to invite members. Possbile values are: ALL_MEMBERS_CAN_INVITE ALL_MANAGERS_CAN_INVITE + "whoCanInvite": "A String", # Permissions to invite members. Possible values are: ALL_MEMBERS_CAN_INVITE ALL_MANAGERS_CAN_INVITE NONE_CAN_INVITE "kind": "groupsSettings#groups", # The type of the resource. "name": "A String", # Name of the Group "spamModerationLevel": "A String", # Moderation level for messages detected as spam. Possible values are: ALLOW MODERATE SILENTLY_MODERATE REJECT - "whoCanViewGroup": "A String", # Permissions to view group. Possbile values are: ANYONE_CAN_VIEW ALL_IN_DOMAIN_CAN_VIEW ALL_MEMBERS_CAN_VIEW ALL_MANAGERS_CAN_VIEW + "whoCanViewGroup": "A String", # Permissions to view group. Possible values are: ANYONE_CAN_VIEW ALL_IN_DOMAIN_CAN_VIEW ALL_MEMBERS_CAN_VIEW ALL_MANAGERS_CAN_VIEW "showInGroupDirectory": "A String", # Is the group listed in groups directory "maxMessageBytes": 42, # Maximum message size allowed. "allowGoogleCommunication": "A String", # Is google allowed to contact admins. @@ -174,7 +176,7 @@

Method Details

"allowExternalMembers": "A String", # Are external members allowed to join the group. "whoCanPostMessage": "A String", # Permissions to post messages to the group. Possible values are: NONE_CAN_POST ALL_MANAGERS_CAN_POST ALL_MEMBERS_CAN_POST ALL_IN_DOMAIN_CAN_POST ANYONE_CAN_POST "primaryLanguage": "A String", # Primary language for the group. - "whoCanViewMembership": "A String", # Permissions to view membership. Possbile values are: ALL_IN_DOMAIN_CAN_VIEW ALL_MEMBERS_CAN_VIEW ALL_MANAGERS_CAN_VIEW + "whoCanViewMembership": "A String", # Permissions to view membership. Possible values are: ALL_IN_DOMAIN_CAN_VIEW ALL_MEMBERS_CAN_VIEW ALL_MANAGERS_CAN_VIEW "defaultMessageDenyNotificationText": "A String", # Default message deny notification message "includeInGlobalAddressList": "A String", # If this groups should be included in global address list or not. "archiveOnly": "A String", # If the group is archive only @@ -187,15 +189,16 @@

Method Details

"replyTo": "A String", # Whome should the default reply to a message go to. Possible values are: REPLY_TO_CUSTOM REPLY_TO_SENDER REPLY_TO_LIST REPLY_TO_OWNER REPLY_TO_IGNORE REPLY_TO_MANAGERS "customReplyTo": "A String", # Default email to which reply to any message should go. "sendMessageDenyNotification": "A String", # Should the member be notified if his message is denied by owner. - "whoCanContactOwner": "A String", # Permission to contact owner of the group via web UI. Possbile values are: ANYONE_CAN_CONTACT ALL_IN_DOMAIN_CAN_CONTACT ALL_MEMBERS_CAN_CONTACT ALL_MANAGERS_CAN_CONTACT + "whoCanContactOwner": "A String", # Permission to contact owner of the group via web UI. Possible values are: ANYONE_CAN_CONTACT ALL_IN_DOMAIN_CAN_CONTACT ALL_MEMBERS_CAN_CONTACT ALL_MANAGERS_CAN_CONTACT "messageDisplayFont": "A String", # Default message display font. Possible values are: DEFAULT_FONT FIXED_WIDTH_FONT - "whoCanLeaveGroup": "A String", # Permission to leave the group. Possible values are: ALL_MANAGERS_CAN_LEAVE ALL_MEMBERS_CAN_LEAVE + "whoCanLeaveGroup": "A String", # Permission to leave the group. Possible values are: ALL_MANAGERS_CAN_LEAVE ALL_MEMBERS_CAN_LEAVE NONE_CAN_LEAVE + "whoCanAdd": "A String", # Permissions to add members. Possible values are: ALL_MANAGERS_CAN_ADD ALL_MEMBERS_CAN_ADD NONE_CAN_ADD "whoCanJoin": "A String", # Permissions to join the group. Possible values are: ANYONE_CAN_JOIN ALL_IN_DOMAIN_CAN_JOIN INVITED_CAN_JOIN CAN_REQUEST_TO_JOIN - "whoCanInvite": "A String", # Permissions to invite members. Possbile values are: ALL_MEMBERS_CAN_INVITE ALL_MANAGERS_CAN_INVITE + "whoCanInvite": "A String", # Permissions to invite members. Possible values are: ALL_MEMBERS_CAN_INVITE ALL_MANAGERS_CAN_INVITE NONE_CAN_INVITE "kind": "groupsSettings#groups", # The type of the resource. "name": "A String", # Name of the Group "spamModerationLevel": "A String", # Moderation level for messages detected as spam. Possible values are: ALLOW MODERATE SILENTLY_MODERATE REJECT - "whoCanViewGroup": "A String", # Permissions to view group. Possbile values are: ANYONE_CAN_VIEW ALL_IN_DOMAIN_CAN_VIEW ALL_MEMBERS_CAN_VIEW ALL_MANAGERS_CAN_VIEW + "whoCanViewGroup": "A String", # Permissions to view group. Possible values are: ANYONE_CAN_VIEW ALL_IN_DOMAIN_CAN_VIEW ALL_MEMBERS_CAN_VIEW ALL_MANAGERS_CAN_VIEW "showInGroupDirectory": "A String", # Is the group listed in groups directory "maxMessageBytes": 42, # Maximum message size allowed. "allowGoogleCommunication": "A String", # Is google allowed to contact admins. @@ -215,7 +218,7 @@

Method Details

"allowExternalMembers": "A String", # Are external members allowed to join the group. "whoCanPostMessage": "A String", # Permissions to post messages to the group. Possible values are: NONE_CAN_POST ALL_MANAGERS_CAN_POST ALL_MEMBERS_CAN_POST ALL_IN_DOMAIN_CAN_POST ANYONE_CAN_POST "primaryLanguage": "A String", # Primary language for the group. - "whoCanViewMembership": "A String", # Permissions to view membership. Possbile values are: ALL_IN_DOMAIN_CAN_VIEW ALL_MEMBERS_CAN_VIEW ALL_MANAGERS_CAN_VIEW + "whoCanViewMembership": "A String", # Permissions to view membership. Possible values are: ALL_IN_DOMAIN_CAN_VIEW ALL_MEMBERS_CAN_VIEW ALL_MANAGERS_CAN_VIEW "defaultMessageDenyNotificationText": "A String", # Default message deny notification message "includeInGlobalAddressList": "A String", # If this groups should be included in global address list or not. "archiveOnly": "A String", # If the group is archive only @@ -228,15 +231,16 @@

Method Details

"replyTo": "A String", # Whome should the default reply to a message go to. Possible values are: REPLY_TO_CUSTOM REPLY_TO_SENDER REPLY_TO_LIST REPLY_TO_OWNER REPLY_TO_IGNORE REPLY_TO_MANAGERS "customReplyTo": "A String", # Default email to which reply to any message should go. "sendMessageDenyNotification": "A String", # Should the member be notified if his message is denied by owner. - "whoCanContactOwner": "A String", # Permission to contact owner of the group via web UI. Possbile values are: ANYONE_CAN_CONTACT ALL_IN_DOMAIN_CAN_CONTACT ALL_MEMBERS_CAN_CONTACT ALL_MANAGERS_CAN_CONTACT + "whoCanContactOwner": "A String", # Permission to contact owner of the group via web UI. Possible values are: ANYONE_CAN_CONTACT ALL_IN_DOMAIN_CAN_CONTACT ALL_MEMBERS_CAN_CONTACT ALL_MANAGERS_CAN_CONTACT "messageDisplayFont": "A String", # Default message display font. Possible values are: DEFAULT_FONT FIXED_WIDTH_FONT - "whoCanLeaveGroup": "A String", # Permission to leave the group. Possible values are: ALL_MANAGERS_CAN_LEAVE ALL_MEMBERS_CAN_LEAVE + "whoCanLeaveGroup": "A String", # Permission to leave the group. Possible values are: ALL_MANAGERS_CAN_LEAVE ALL_MEMBERS_CAN_LEAVE NONE_CAN_LEAVE + "whoCanAdd": "A String", # Permissions to add members. Possible values are: ALL_MANAGERS_CAN_ADD ALL_MEMBERS_CAN_ADD NONE_CAN_ADD "whoCanJoin": "A String", # Permissions to join the group. Possible values are: ANYONE_CAN_JOIN ALL_IN_DOMAIN_CAN_JOIN INVITED_CAN_JOIN CAN_REQUEST_TO_JOIN - "whoCanInvite": "A String", # Permissions to invite members. Possbile values are: ALL_MEMBERS_CAN_INVITE ALL_MANAGERS_CAN_INVITE + "whoCanInvite": "A String", # Permissions to invite members. Possible values are: ALL_MEMBERS_CAN_INVITE ALL_MANAGERS_CAN_INVITE NONE_CAN_INVITE "kind": "groupsSettings#groups", # The type of the resource. "name": "A String", # Name of the Group "spamModerationLevel": "A String", # Moderation level for messages detected as spam. Possible values are: ALLOW MODERATE SILENTLY_MODERATE REJECT - "whoCanViewGroup": "A String", # Permissions to view group. Possbile values are: ANYONE_CAN_VIEW ALL_IN_DOMAIN_CAN_VIEW ALL_MEMBERS_CAN_VIEW ALL_MANAGERS_CAN_VIEW + "whoCanViewGroup": "A String", # Permissions to view group. Possible values are: ANYONE_CAN_VIEW ALL_IN_DOMAIN_CAN_VIEW ALL_MEMBERS_CAN_VIEW ALL_MANAGERS_CAN_VIEW "showInGroupDirectory": "A String", # Is the group listed in groups directory "maxMessageBytes": 42, # Maximum message size allowed. "allowGoogleCommunication": "A String", # Is google allowed to contact admins. @@ -250,7 +254,7 @@

Method Details

"allowExternalMembers": "A String", # Are external members allowed to join the group. "whoCanPostMessage": "A String", # Permissions to post messages to the group. Possible values are: NONE_CAN_POST ALL_MANAGERS_CAN_POST ALL_MEMBERS_CAN_POST ALL_IN_DOMAIN_CAN_POST ANYONE_CAN_POST "primaryLanguage": "A String", # Primary language for the group. - "whoCanViewMembership": "A String", # Permissions to view membership. Possbile values are: ALL_IN_DOMAIN_CAN_VIEW ALL_MEMBERS_CAN_VIEW ALL_MANAGERS_CAN_VIEW + "whoCanViewMembership": "A String", # Permissions to view membership. Possible values are: ALL_IN_DOMAIN_CAN_VIEW ALL_MEMBERS_CAN_VIEW ALL_MANAGERS_CAN_VIEW "defaultMessageDenyNotificationText": "A String", # Default message deny notification message "includeInGlobalAddressList": "A String", # If this groups should be included in global address list or not. "archiveOnly": "A String", # If the group is archive only @@ -263,15 +267,16 @@

Method Details

"replyTo": "A String", # Whome should the default reply to a message go to. Possible values are: REPLY_TO_CUSTOM REPLY_TO_SENDER REPLY_TO_LIST REPLY_TO_OWNER REPLY_TO_IGNORE REPLY_TO_MANAGERS "customReplyTo": "A String", # Default email to which reply to any message should go. "sendMessageDenyNotification": "A String", # Should the member be notified if his message is denied by owner. - "whoCanContactOwner": "A String", # Permission to contact owner of the group via web UI. Possbile values are: ANYONE_CAN_CONTACT ALL_IN_DOMAIN_CAN_CONTACT ALL_MEMBERS_CAN_CONTACT ALL_MANAGERS_CAN_CONTACT + "whoCanContactOwner": "A String", # Permission to contact owner of the group via web UI. Possible values are: ANYONE_CAN_CONTACT ALL_IN_DOMAIN_CAN_CONTACT ALL_MEMBERS_CAN_CONTACT ALL_MANAGERS_CAN_CONTACT "messageDisplayFont": "A String", # Default message display font. Possible values are: DEFAULT_FONT FIXED_WIDTH_FONT - "whoCanLeaveGroup": "A String", # Permission to leave the group. Possible values are: ALL_MANAGERS_CAN_LEAVE ALL_MEMBERS_CAN_LEAVE + "whoCanLeaveGroup": "A String", # Permission to leave the group. Possible values are: ALL_MANAGERS_CAN_LEAVE ALL_MEMBERS_CAN_LEAVE NONE_CAN_LEAVE + "whoCanAdd": "A String", # Permissions to add members. Possible values are: ALL_MANAGERS_CAN_ADD ALL_MEMBERS_CAN_ADD NONE_CAN_ADD "whoCanJoin": "A String", # Permissions to join the group. Possible values are: ANYONE_CAN_JOIN ALL_IN_DOMAIN_CAN_JOIN INVITED_CAN_JOIN CAN_REQUEST_TO_JOIN - "whoCanInvite": "A String", # Permissions to invite members. Possbile values are: ALL_MEMBERS_CAN_INVITE ALL_MANAGERS_CAN_INVITE + "whoCanInvite": "A String", # Permissions to invite members. Possible values are: ALL_MEMBERS_CAN_INVITE ALL_MANAGERS_CAN_INVITE NONE_CAN_INVITE "kind": "groupsSettings#groups", # The type of the resource. "name": "A String", # Name of the Group "spamModerationLevel": "A String", # Moderation level for messages detected as spam. Possible values are: ALLOW MODERATE SILENTLY_MODERATE REJECT - "whoCanViewGroup": "A String", # Permissions to view group. Possbile values are: ANYONE_CAN_VIEW ALL_IN_DOMAIN_CAN_VIEW ALL_MEMBERS_CAN_VIEW ALL_MANAGERS_CAN_VIEW + "whoCanViewGroup": "A String", # Permissions to view group. Possible values are: ANYONE_CAN_VIEW ALL_IN_DOMAIN_CAN_VIEW ALL_MEMBERS_CAN_VIEW ALL_MANAGERS_CAN_VIEW "showInGroupDirectory": "A String", # Is the group listed in groups directory "maxMessageBytes": 42, # Maximum message size allowed. "allowGoogleCommunication": "A String", # Is google allowed to contact admins. diff --git a/docs/dyn/identitytoolkit_v3.relyingparty.html b/docs/dyn/identitytoolkit_v3.relyingparty.html index eb3f8614ba6..9dfe651b217 100644 --- a/docs/dyn/identitytoolkit_v3.relyingparty.html +++ b/docs/dyn/identitytoolkit_v3.relyingparty.html @@ -90,7 +90,7 @@

Instance Methods

getOobConfirmationCode(body)

Get a code for user action confirmation.

- getProjectConfig()

+ getProjectConfig(delegatedProjectNumber=None, projectNumber=None)

Get project configuration.

getPublicKeys()

@@ -104,6 +104,9 @@

Instance Methods

setAccountInfo(body)

Set account info for a user.

+

+ setProjectConfig(body)

+

Set project configuration.

signOutUser(body)

Sign out user.

@@ -171,6 +174,7 @@

Method Details

The object takes the form of: { # Request to delete account. + "idToken": "A String", # The GITKit token or STS id token of the authenticated user. "delegatedProjectNumber": "A String", # GCP project number of the requesting delegated app. Currently only intended for Firebase V1 migration. "localId": "A String", # The local ID of the user. } @@ -218,10 +222,11 @@

Method Details

"providerUserInfo": [ # The IDP of the user. { "federatedId": "A String", # User's identifier at IDP. - "providerId": "A String", # The IdP ID. For white listed IdPs it's a short domain name, e.g., google.com, aol.com, live.net and yahoo.com. For other OpenID IdPs it's the OP identifier. "displayName": "A String", # The user's display name at the IDP. - "email": "A String", # User's email at IDP. "photoUrl": "A String", # The user's photo url at the IDP. + "providerId": "A String", # The IdP ID. For white listed IdPs it's a short domain name, e.g., google.com, aol.com, live.net and yahoo.com. For other OpenID IdPs it's the OP identifier. + "rawId": "A String", # User's raw identifier directly returned from IDP. + "email": "A String", # User's email at IDP. }, ], "passwordUpdatedAt": 3.14, # The timestamp when the password was last updated. @@ -242,6 +247,7 @@

Method Details

{ # Request to get the account information. "idToken": "A String", # The GITKit token of the authenticated user. + "delegatedProjectNumber": "A String", # GCP project number of the requesting delegated app. Currently only intended for Firebase V1 migration. "email": [ # The list of emails of the users to inquiry. "A String", ], @@ -269,10 +275,11 @@

Method Details

"providerUserInfo": [ # The IDP of the user. { "federatedId": "A String", # User's identifier at IDP. - "providerId": "A String", # The IdP ID. For white listed IdPs it's a short domain name, e.g., google.com, aol.com, live.net and yahoo.com. For other OpenID IdPs it's the OP identifier. "displayName": "A String", # The user's display name at the IDP. - "email": "A String", # User's email at IDP. "photoUrl": "A String", # The user's photo url at the IDP. + "providerId": "A String", # The IdP ID. For white listed IdPs it's a short domain name, e.g., google.com, aol.com, live.net and yahoo.com. For other OpenID IdPs it's the OP identifier. + "rawId": "A String", # User's raw identifier directly returned from IDP. + "email": "A String", # User's email at IDP. }, ], "passwordUpdatedAt": 3.14, # The timestamp when the password was last updated. @@ -314,21 +321,61 @@

Method Details

- getProjectConfig() + getProjectConfig(delegatedProjectNumber=None, projectNumber=None)
Get project configuration.
 
 Args:
+  delegatedProjectNumber: string, Delegated GCP project number of the request.
+  projectNumber: string, GCP project number of the request.
 
 Returns:
   An object of the form:
 
     { # Response of getting the project configuration.
-    "projectId": "A String", # Project ID of the relying party.
     "apiKey": "A String", # Browser API key, needed when making http request to Apiary.
+    "useEmailSending": True or False, # Whether to use email sending provided by Firebear.
+    "projectId": "A String", # Project ID of the relying party.
+    "enableAnonymousUser": True or False, # Whether anonymous user is enabled.
+    "authorizedDomains": [ # Authorized domains.
+      "A String",
+    ],
+    "resetPasswordTemplate": { # Template for an email template. # Reset password email template.
+      "body": "A String", # Email body.
+      "fromDisplayName": "A String", # From display name.
+      "from": "A String", # From address of the email.
+      "format": "A String", # Email body format.
+      "replyTo": "A String", # Reply-to address.
+      "subject": "A String", # Subject of the email.
+    },
+    "legacyResetPasswordTemplate": { # Template for an email template. # Legacy reset password email template.
+      "body": "A String", # Email body.
+      "fromDisplayName": "A String", # From display name.
+      "from": "A String", # From address of the email.
+      "format": "A String", # Email body format.
+      "replyTo": "A String", # Reply-to address.
+      "subject": "A String", # Subject of the email.
+    },
+    "verifyEmailTemplate": { # Template for an email template. # Verify email template.
+      "body": "A String", # Email body.
+      "fromDisplayName": "A String", # From display name.
+      "from": "A String", # From address of the email.
+      "format": "A String", # Email body format.
+      "replyTo": "A String", # Reply-to address.
+      "subject": "A String", # Subject of the email.
+    },
     "allowPasswordUser": True or False, # Whether to allow password user sign in or sign up.
+    "changeEmailTemplate": { # Template for an email template. # Change email template.
+      "body": "A String", # Email body.
+      "fromDisplayName": "A String", # From display name.
+      "from": "A String", # From address of the email.
+      "format": "A String", # Email body format.
+      "replyTo": "A String", # Reply-to address.
+      "subject": "A String", # Subject of the email.
+    },
     "idpConfig": [ # OAuth2 provider configuration.
       { # Template for a single idp configuration.
         "experimentPercent": 42, # Percent of users who will be prompted/redirected federated login for this IDP.
+        "secret": "A String", # OAuth2 client secret.
         "enabled": True or False, # Whether this IDP is enabled.
         "clientId": "A String", # OAuth2 client ID.
         "provider": "A String", # OAuth2 provider.
@@ -403,7 +450,9 @@ 

Method Details

{ # Request to set the account information. "instanceId": "A String", # Instance id token of the app. "delegatedProjectNumber": "A String", # GCP project number of the requesting delegated app. Currently only intended for Firebase V1 migration. - "displayName": "A String", # The name of the user. + "deleteAttribute": [ # The attributes users request to delete. + "A String", + ], "localId": "A String", # The local ID of the user. "validSince": "A String", # Timestamp in seconds for valid login token. "photoUrl": "A String", # The photo url of the user. @@ -414,11 +463,16 @@

Method Details

], "upgradeToFederatedLogin": True or False, # Mark the user to upgrade to federated login. "disableUser": True or False, # Whether to disable the user. + "deleteProvider": [ # The IDPs the user request to delete. + "A String", + ], "captchaChallenge": "A String", # The captcha challenge. "idToken": "A String", # The GITKit token of the authenticated user. - "oobCode": "A String", # The out-of-band code of the change email request. + "returnSecureToken": True or False, # Whether return sts id token and refresh token instead of gitkit token. + "displayName": "A String", # The name of the user. "password": "A String", # The new password of the user. "email": "A String", # The email of the user. + "oobCode": "A String", # The out-of-band code of the change email request. } @@ -426,22 +480,96 @@

Method Details

An object of the form: { # Respone of setting the account information. + "expiresIn": "A String", # If idToken is STS id token, then this field will be expiration time of STS id token in seconds. "kind": "identitytoolkit#SetAccountInfoResponse", # The fixed string "identitytoolkit#SetAccountInfoResponse". "displayName": "A String", # The name of the user. + "localId": "A String", # The local ID of the user. + "photoUrl": "A String", # The photo url of the user. + "idToken": "A String", # The Gitkit id token to login the newly sign up user. + "passwordHash": "A String", # The user's hashed password. + "newEmail": "A String", # The new email the user attempts to change to. + "refreshToken": "A String", # If idToken is STS id token, then this field will be refresh token. "providerUserInfo": [ # The user's profiles at the associated IdPs. { + "federatedId": "A String", # User's identifier at IDP. "providerId": "A String", # The IdP ID. For whitelisted IdPs it's a short domain name, e.g., google.com, aol.com, live.net and yahoo.com. For other OpenID IdPs it's the OP identifier. "displayName": "A String", # The user's display name at the IDP. "photoUrl": "A String", # The user's photo url at the IDP. }, ], - "photoUrl": "A String", # The photo url of the user. - "idToken": "A String", # The Gitkit id token to login the newly sign up user. - "newEmail": "A String", # The new email the user attempts to change to. "email": "A String", # The email of the user. }
+
+ setProjectConfig(body) +
Set project configuration.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Request to set the project configuration.
+    "apiKey": "A String", # Browser API key, needed when making http request to Apiary.
+    "useEmailSending": True or False, # Whether to use email sending provided by Firebear.
+    "verifyEmailTemplate": { # Template for an email template. # Verify email template.
+      "body": "A String", # Email body.
+      "fromDisplayName": "A String", # From display name.
+      "from": "A String", # From address of the email.
+      "format": "A String", # Email body format.
+      "replyTo": "A String", # Reply-to address.
+      "subject": "A String", # Subject of the email.
+    },
+    "enableAnonymousUser": True or False, # Whether to enable anonymous user.
+    "authorizedDomains": [ # Authorized domains for widget redirect.
+      "A String",
+    ],
+    "resetPasswordTemplate": { # Template for an email template. # Reset password email template.
+      "body": "A String", # Email body.
+      "fromDisplayName": "A String", # From display name.
+      "from": "A String", # From address of the email.
+      "format": "A String", # Email body format.
+      "replyTo": "A String", # Reply-to address.
+      "subject": "A String", # Subject of the email.
+    },
+    "legacyResetPasswordTemplate": { # Template for an email template. # Legacy reset password email template.
+      "body": "A String", # Email body.
+      "fromDisplayName": "A String", # From display name.
+      "from": "A String", # From address of the email.
+      "format": "A String", # Email body format.
+      "replyTo": "A String", # Reply-to address.
+      "subject": "A String", # Subject of the email.
+    },
+    "delegatedProjectNumber": "A String", # GCP project number of the requesting delegated app. Currently only intended for Firebase V1 migration.
+    "allowPasswordUser": True or False, # Whether to allow password user sign in or sign up.
+    "changeEmailTemplate": { # Template for an email template. # Change email template.
+      "body": "A String", # Email body.
+      "fromDisplayName": "A String", # From display name.
+      "from": "A String", # From address of the email.
+      "format": "A String", # Email body format.
+      "replyTo": "A String", # Reply-to address.
+      "subject": "A String", # Subject of the email.
+    },
+    "idpConfig": [ # Oauth2 provider configuration.
+      { # Template for a single idp configuration.
+        "experimentPercent": 42, # Percent of users who will be prompted/redirected federated login for this IDP.
+        "secret": "A String", # OAuth2 client secret.
+        "enabled": True or False, # Whether this IDP is enabled.
+        "clientId": "A String", # OAuth2 client ID.
+        "provider": "A String", # OAuth2 provider.
+      },
+    ],
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # Response of setting the project configuration.
+    "projectId": "A String", # Project ID of the relying party.
+  }
+
+
signOutUser(body)
Sign out user.
@@ -487,9 +615,12 @@ 

Method Details

An object of the form: { # Response of signing up new user, creating anonymous user or anonymous user reauth. - "idToken": "A String", # The Gitkit id token to login the newly sign up user. + "expiresIn": "A String", # If idToken is STS id token, then this field will be expiration time of STS id token in seconds. "kind": "identitytoolkit#SignupNewUserResponse", # The fixed string "identitytoolkit#SignupNewUserResponse". "displayName": "A String", # The name of the user. + "localId": "A String", # The RP local ID of the user. + "idToken": "A String", # The Gitkit id token to login the newly sign up user. + "refreshToken": "A String", # If idToken is STS id token, then this field will be refresh token. "email": "A String", # The email of the user. }
@@ -518,10 +649,11 @@

Method Details

"providerUserInfo": [ # The IDP of the user. { "federatedId": "A String", # User's identifier at IDP. - "providerId": "A String", # The IdP ID. For white listed IdPs it's a short domain name, e.g., google.com, aol.com, live.net and yahoo.com. For other OpenID IdPs it's the OP identifier. "displayName": "A String", # The user's display name at the IDP. - "email": "A String", # User's email at IDP. "photoUrl": "A String", # The user's photo url at the IDP. + "providerId": "A String", # The IdP ID. For white listed IdPs it's a short domain name, e.g., google.com, aol.com, live.net and yahoo.com. For other OpenID IdPs it's the OP identifier. + "rawId": "A String", # User's raw identifier directly returned from IDP. + "email": "A String", # User's email at IDP. }, ], "passwordUpdatedAt": 3.14, # The timestamp when the password was last updated. @@ -566,6 +698,7 @@

Method Details

"pendingIdToken": "A String", # The GITKit token for the non-trusted IDP pending to be confirmed by the user. "sessionId": "A String", # Session ID, which should match the one in previous createAuthUri request. "requestUri": "A String", # The URI to which the IDP redirects the user back. It may contain federated login result params added by the IDP. + "returnSecureToken": True or False, # Whether return sts id token and refresh token instead of gitkit token. "returnRefreshToken": True or False, # Whether to return refresh tokens. } @@ -579,6 +712,8 @@

Method Details

"photoUrl": "A String", # The URI of the public accessible profiel picture. "inputEmail": "A String", # It's the identifier param in the createAuthUri request if the identifier is an email. It can be used to check whether the user input email is different from the asserted email. "appScheme": "A String", # The custom scheme used by mobile app. + "expiresIn": "A String", # If idToken is STS id token, then this field will be expiration time of STS id token in seconds. + "refreshToken": "A String", # If idToken is STS id token, then this field will be refresh token. "verifiedProvider": [ # When action is 'map', contains the idps which can be used for confirmation. "A String", ], @@ -587,8 +722,10 @@

Method Details

"nickName": "A String", # The nick name of the user. "email": "A String", # The email returned by the IdP. NOTE: The federated login user may not own the email. "oauthAccessToken": "A String", # The OAuth2 access token. + "oauthTokenSecret": "A String", # The OAuth1 access token secret. "language": "A String", # The language preference of the user. "needConfirmation": True or False, # Whether the assertion is from a non-trusted IDP and need account linking confirmation. + "oauthIdToken": "A String", # The OIDC id token. "fullName": "A String", # The full name of the user. "kind": "identitytoolkit#VerifyAssertionResponse", # The fixed string "identitytoolkit#VerifyAssertionResponse". "idToken": "A String", # The ID token. @@ -620,7 +757,9 @@

Method Details

{ # Request to verify a custom token "instanceId": "A String", # Instance id token of the app. + "returnSecureToken": True or False, # Whether return sts id token and refresh token instead of gitkit token. "token": "A String", # The custom token to verify + "delegatedProjectNumber": "A String", # GCP project number of the requesting delegated app. Currently only intended for Firebase V1 migration. } @@ -628,8 +767,10 @@

Method Details

An object of the form: { # Response from verifying a custom token + "expiresIn": "A String", # If idToken is STS id token, then this field will be expiration time of STS id token in seconds. "idToken": "A String", # The GITKit token for authenticated user. "kind": "identitytoolkit#VerifyCustomTokenResponse", # The fixed string "identitytoolkit#VerifyCustomTokenResponse". + "refreshToken": "A String", # If idToken is STS id token, then this field will be refresh token. }
@@ -648,6 +789,7 @@

Method Details

"idToken": "A String", # The GITKit token of the authenticated user. "pendingIdToken": "A String", # The GITKit token for the non-trusted IDP, which is to be confirmed by the user. "captchaChallenge": "A String", # The captcha challenge. + "returnSecureToken": True or False, # Whether return sts id token and refresh token instead of gitkit token. "password": "A String", # The password inputed by the user. "email": "A String", # The email of the user. } @@ -657,6 +799,7 @@

Method Details

An object of the form: { # Request of verifying the password. + "expiresIn": "A String", # If idToken is STS id token, then this field will be expiration time of STS id token in seconds. "kind": "identitytoolkit#VerifyPasswordResponse", # The fixed string "identitytoolkit#VerifyPasswordResponse". "displayName": "A String", # The name of the user. "localId": "A String", # The RP local ID if it's already been mapped to the IdP account identified by the federated ID. @@ -666,6 +809,7 @@

Method Details

"idToken": "A String", # The GITKit token for authenticated user. "registered": True or False, # Whether the email is registered. "oauthAuthorizationCode": "A String", # The OAuth2 authorization code. + "refreshToken": "A String", # If idToken is STS id token, then this field will be refresh token. "email": "A String", # The email returned by the IdP. NOTE: The federated login user may not own the email. }
diff --git a/docs/dyn/logging_v2beta1.entries.html b/docs/dyn/logging_v2beta1.entries.html index 4ac177d39b6..0dd8eba7fec 100644 --- a/docs/dyn/logging_v2beta1.entries.html +++ b/docs/dyn/logging_v2beta1.entries.html @@ -90,13 +90,14 @@

Method Details

The object takes the form of: { # The parameters to `ListLogEntries`. + "orderBy": "A String", # Optional. How the results should be sorted. Presently, the only permitted values are `"timestamp asc"` (default) and `"timestamp desc"`. The first option returns entries in order of increasing values of `LogEntry.timestamp` (oldest first), and the second option returns entries in order of decreasing timestamps (newest first). Entries with equal timestamps are returned in order of `LogEntry.insertId`. + "pageSize": 42, # Optional. The maximum number of results to return from this request. You must check for presence of `nextPageToken` to determine if additional results are available, which you can retrieve by passing the `nextPageToken` value as the `pageToken` parameter in the next request. + "partialSuccess": True or False, # Optional. If true, read access to all projects is not required and results will be returned for the subset of projects for which read access is permitted (empty subset is permitted). "filter": "A String", # Optional. An [advanced logs filter](/logging/docs/view/advanced_filters). The filter is compared against all log entries in the projects specified by `projectIds`. Only entries that match the filter are retrieved. An empty filter matches all log entries. + "pageToken": "A String", # Optional. If the `pageToken` parameter is supplied, then the next page of results is retrieved. The `pageToken` parameter must be set to the value of the `nextPageToken` from the previous response. The values of `projectIds`, `filter`, and `orderBy` must be the same as in the previous request. "projectIds": [ # Required. One or more project IDs or project numbers from which to retrieve log entries. Examples of a project ID: `"my-project-1A"`, `"1234567890"`. "A String", ], - "pageSize": 42, # Optional. The maximum number of results to return from this request. Fewer results might be returned. You must check for the `nextPageToken` result to determine if additional results are available, which you can retrieve by passing the `nextPageToken` value in the `pageToken` parameter to the next request. - "orderBy": "A String", # Optional. How the results should be sorted. Presently, the only permitted values are `"timestamp"` (default) and `"timestamp desc"`. The first option returns entries in order of increasing values of `LogEntry.timestamp` (oldest first), and the second option returns entries in order of decreasing timestamps (newest first). Entries with equal timestamps are returned in order of `LogEntry.insertId`. - "pageToken": "A String", # Optional. If the `pageToken` request parameter is supplied, then the next page of results in the set are retrieved. The `pageToken` parameter must be set with the value of the `nextPageToken` result parameter from the previous request. The values of `projectIds`, `filter`, and `orderBy` must be the same as in the previous request. } x__xgafv: string, V1 error format. @@ -105,26 +106,39 @@

Method Details

An object of the form: { # Result returned from `ListLogEntries`. - "nextPageToken": "A String", # If there are more results than were returned, then `nextPageToken` is given a value in the response. To get the next batch of results, call this method again using the value of `nextPageToken` as `pageToken`. + "nextPageToken": "A String", # If there are more results than were returned, then `nextPageToken` is included in the response. To get the next set of results, call this method again using the value of `nextPageToken` as `pageToken`. + "projectIdErrors": { # If partial_success is true, contains the project ids that had errors and the associated errors. + "a_key": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). The error model is designed to be: - Simple to use and understand for most users - Flexible enough to meet unexpected needs # Overview The `Status` message contains three pieces of data: error code, error message, and error details. The error code should be an enum value of google.rpc.Code, but it may accept additional error codes if needed. The error message should be a developer-facing English message that helps developers *understand* and *resolve* the error. If a localized user-facing error message is needed, put the localized message in the error details or localize it in the client. The optional error details may contain arbitrary information about the error. There is a predefined set of error detail types in the package `google.rpc` which can be used for common error conditions. # Language mapping The `Status` message is the logical representation of the error model, but it is not necessarily the actual wire format. When the `Status` message is exposed in different client libraries and different wire protocols, it can be mapped differently. For example, it will likely be mapped to some exceptions in Java, but more likely mapped to some error codes in C. # Other uses The error model and the `Status` message can be used in a variety of environments, either with or without APIs, to provide a consistent developer experience across different environments. Example uses of this error model include: - Partial errors. If a service needs to return partial errors to the client, it may embed the `Status` in the normal response to indicate the partial errors. - Workflow errors. A typical workflow has multiple steps. Each step may have a `Status` message for error reporting purpose. - Batch operations. If a client uses batch request and batch response, the `Status` message should be used directly inside batch response, one for each error sub-response. - Asynchronous operations. If an API call embeds asynchronous operation results in its response, the status of those operations should be represented directly using the `Status` message. - Logging. If some API errors are stored in logs, the message `Status` could be used directly after any stripping needed for security/privacy reasons. + "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. + "code": 42, # The status code, which should be an enum value of google.rpc.Code. + "details": [ # A list of messages that carry the error details. There will be a common set of message types for APIs to use. + { + "a_key": "", # Properties of the object. Contains field @ype with type URL. + }, + ], + }, + }, "entries": [ # A list of log entries. { # An individual entry in a log. "httpRequest": { # A common proto for logging HTTP requests. # Optional. Information about the HTTP request associated with this log entry, if applicable. "status": 42, # The response code indicating the status of response. Examples: 200, 404. + "cacheValidatedWithOriginServer": True or False, # Whether or not the response was validated with the origin server before being served from cache. This field is only meaningful if `cache_hit` is True. "cacheHit": True or False, # Whether or not an entity was served from cache (with or without validation). + "cacheFillBytes": "A String", # The number of HTTP response bytes inserted into cache. Set only when a cache fill was attempted. "requestUrl": "A String", # The scheme (http, https), the host name, the path and the query portion of the URL that was requested. Example: `"http://example.com/some/info?color=red"`. + "cacheLookup": True or False, # Whether or not a cache lookup was attempted. "requestMethod": "A String", # The request method. Examples: `"GET"`, `"HEAD"`, `"PUT"`, `"POST"`. "referer": "A String", # The referer URL of the request, as defined in [HTTP/1.1 Header Field Definitions](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html). "remoteIp": "A String", # The IP address (IPv4 or IPv6) of the client that issued the HTTP request. Examples: `"192.168.1.1"`, `"FE80::0202:B3FF:FE1E:8329"`. - "validatedWithOriginServer": True or False, # Whether or not the response was validated with the origin server before being served from cache. This field is only meaningful if `cache_hit` is True. "userAgent": "A String", # The user agent sent by the client. Example: `"Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; Q312461; .NET CLR 1.0.3705)"`. "requestSize": "A String", # The size of the HTTP request message in bytes, including the request headers and the request body. "responseSize": "A String", # The size of the HTTP response message sent back to the client, in bytes, including the response headers and the response body. }, - "resource": { # A specific monitored resource or a group of monitored resources. # Required. The monitored resource associated with this log entry. Example: a log entry that reports a database error would be associated with the monitored resource designating the particular database that reported the error. - "labels": { # Values for some or all of the labels listed in the associated monitored resource descriptor. For example, specify a specific Cloud SQL database by supplying values for both the `"database_id"` and `"zone"` labels. Specify the set of all Cloud SQL databases in a particular location by supplying a value for only the `"zone"` label. + "resource": { # An object representing a resource that can be used for monitoring, logging, billing, or other purposes. Examples include virtual machine instances, databases, and storage devices such as disks. The `type` field identifies a MonitoredResourceDescriptor object that describes the resource's schema. Information in the `labels` field identifies the actual resource and its attributes according to the schema. For example, a particular Compute Engine VM instance could be represented by the following object, because the MonitoredResourceDescriptor for `"gce_instance"` has labels `"instance_id"` and `"zone"`: { "type": "gce_instance", "labels": { "instance_id": "my-instance", "zone": "us-central1-a" }} # Required. The monitored resource associated with this log entry. Example: a log entry that reports a database error would be associated with the monitored resource designating the particular database that reported the error. + "labels": { # Required. Values for all of the labels listed in the associated monitored resource descriptor. For example, Cloud SQL databases use the labels `"database_id"` and `"zone"`. "a_key": "A String", }, - "type": "A String", # The type of monitored resource. This field must match the value of the `type` field in a MonitoredResourceDescriptor object. For example, `"cloudsql_database"` represents Cloud SQL databases. + "type": "A String", # Required. The monitored resource type. This field must match the `type` field of a MonitoredResourceDescriptor object. For example, the type of a Cloud SQL database is `"cloudsql_database"`. }, "severity": "A String", # Optional. The severity of the log entry. The default value is `LogSeverity.DEFAULT`. "textPayload": "A String", # The log entry payload, represented as a Unicode string (UTF-8). @@ -136,7 +150,8 @@

Method Details

"jsonPayload": { # The log entry payload, represented as a structure that is expressed as a JSON object. "a_key": "", # Properties of the object. }, - "logName": "A String", # Required. The resource name of the log to which this log entry belongs. The format of the name is `projects//logs/Method Details The object takes the form of: { # The parameters to WriteLogEntries. - "resource": { # A specific monitored resource or a group of monitored resources. # Optional. A default monitored resource for those log entries in `entries` that do not specify their own `resource`. - "labels": { # Values for some or all of the labels listed in the associated monitored resource descriptor. For example, specify a specific Cloud SQL database by supplying values for both the `"database_id"` and `"zone"` labels. Specify the set of all Cloud SQL databases in a particular location by supplying a value for only the `"zone"` label. + "resource": { # An object representing a resource that can be used for monitoring, logging, billing, or other purposes. Examples include virtual machine instances, databases, and storage devices such as disks. The `type` field identifies a MonitoredResourceDescriptor object that describes the resource's schema. Information in the `labels` field identifies the actual resource and its attributes according to the schema. For example, a particular Compute Engine VM instance could be represented by the following object, because the MonitoredResourceDescriptor for `"gce_instance"` has labels `"instance_id"` and `"zone"`: { "type": "gce_instance", "labels": { "instance_id": "my-instance", "zone": "us-central1-a" }} # Optional. A default monitored resource for those log entries in `entries` that do not specify their own `resource`. + "labels": { # Required. Values for all of the labels listed in the associated monitored resource descriptor. For example, Cloud SQL databases use the labels `"database_id"` and `"zone"`. "a_key": "A String", }, - "type": "A String", # The type of monitored resource. This field must match the value of the `type` field in a MonitoredResourceDescriptor object. For example, `"cloudsql_database"` represents Cloud SQL databases. + "type": "A String", # Required. The monitored resource type. This field must match the `type` field of a MonitoredResourceDescriptor object. For example, the type of a Cloud SQL database is `"cloudsql_database"`. }, + "partialSuccess": True or False, # Optional. Whether valid entries should be written even if some other entries fail due to INVALID_ARGUMENT or PERMISSION_DENIED errors. If any entry is not written, the response status will be the error associated with one of the failed entries and include error details in the form of WriteLogEntriesPartialErrors. "labels": { # Optional. User-defined `key:value` items that are added to the `labels` field of each log entry in `entries`, except when a log entry specifies its own `key:value` item with the same key. Example: `{ "size": "large", "color":"red" }` "a_key": "A String", }, @@ -174,21 +190,23 @@

Method Details

{ # An individual entry in a log. "httpRequest": { # A common proto for logging HTTP requests. # Optional. Information about the HTTP request associated with this log entry, if applicable. "status": 42, # The response code indicating the status of response. Examples: 200, 404. + "cacheValidatedWithOriginServer": True or False, # Whether or not the response was validated with the origin server before being served from cache. This field is only meaningful if `cache_hit` is True. "cacheHit": True or False, # Whether or not an entity was served from cache (with or without validation). + "cacheFillBytes": "A String", # The number of HTTP response bytes inserted into cache. Set only when a cache fill was attempted. "requestUrl": "A String", # The scheme (http, https), the host name, the path and the query portion of the URL that was requested. Example: `"http://example.com/some/info?color=red"`. + "cacheLookup": True or False, # Whether or not a cache lookup was attempted. "requestMethod": "A String", # The request method. Examples: `"GET"`, `"HEAD"`, `"PUT"`, `"POST"`. "referer": "A String", # The referer URL of the request, as defined in [HTTP/1.1 Header Field Definitions](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html). "remoteIp": "A String", # The IP address (IPv4 or IPv6) of the client that issued the HTTP request. Examples: `"192.168.1.1"`, `"FE80::0202:B3FF:FE1E:8329"`. - "validatedWithOriginServer": True or False, # Whether or not the response was validated with the origin server before being served from cache. This field is only meaningful if `cache_hit` is True. "userAgent": "A String", # The user agent sent by the client. Example: `"Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; Q312461; .NET CLR 1.0.3705)"`. "requestSize": "A String", # The size of the HTTP request message in bytes, including the request headers and the request body. "responseSize": "A String", # The size of the HTTP response message sent back to the client, in bytes, including the response headers and the response body. }, - "resource": { # A specific monitored resource or a group of monitored resources. # Required. The monitored resource associated with this log entry. Example: a log entry that reports a database error would be associated with the monitored resource designating the particular database that reported the error. - "labels": { # Values for some or all of the labels listed in the associated monitored resource descriptor. For example, specify a specific Cloud SQL database by supplying values for both the `"database_id"` and `"zone"` labels. Specify the set of all Cloud SQL databases in a particular location by supplying a value for only the `"zone"` label. + "resource": { # An object representing a resource that can be used for monitoring, logging, billing, or other purposes. Examples include virtual machine instances, databases, and storage devices such as disks. The `type` field identifies a MonitoredResourceDescriptor object that describes the resource's schema. Information in the `labels` field identifies the actual resource and its attributes according to the schema. For example, a particular Compute Engine VM instance could be represented by the following object, because the MonitoredResourceDescriptor for `"gce_instance"` has labels `"instance_id"` and `"zone"`: { "type": "gce_instance", "labels": { "instance_id": "my-instance", "zone": "us-central1-a" }} # Required. The monitored resource associated with this log entry. Example: a log entry that reports a database error would be associated with the monitored resource designating the particular database that reported the error. + "labels": { # Required. Values for all of the labels listed in the associated monitored resource descriptor. For example, Cloud SQL databases use the labels `"database_id"` and `"zone"`. "a_key": "A String", }, - "type": "A String", # The type of monitored resource. This field must match the value of the `type` field in a MonitoredResourceDescriptor object. For example, `"cloudsql_database"` represents Cloud SQL databases. + "type": "A String", # Required. The monitored resource type. This field must match the `type` field of a MonitoredResourceDescriptor object. For example, the type of a Cloud SQL database is `"cloudsql_database"`. }, "severity": "A String", # Optional. The severity of the log entry. The default value is `LogSeverity.DEFAULT`. "textPayload": "A String", # The log entry payload, represented as a Unicode string (UTF-8). @@ -200,7 +218,8 @@

Method Details

"jsonPayload": { # The log entry payload, represented as a structure that is expressed as a JSON object. "a_key": "", # Properties of the object. }, - "logName": "A String", # Required. The resource name of the log to which this log entry belongs. The format of the name is `projects//logs/Method Details
Lists monitored resource descriptors that are used by Cloud Logging.
 
 Args:
-  pageSize: integer, Optional. The maximum number of results to return from this request. Fewer results might be returned. You must check for the `nextPageToken` result to determine if additional results are available, which you can retrieve by passing the `nextPageToken` value in the `pageToken` parameter to the next request.
-  pageToken: string, Optional. If the `pageToken` request parameter is supplied, then the next page of results in the set are retrieved. The `pageToken` parameter must be set with the value of the `nextPageToken` result parameter from the previous request.
+  pageSize: integer, Optional. The maximum number of results to return from this request. You must check for presence of `nextPageToken` to determine if additional results are available, which you can retrieve by passing the `nextPageToken` value as the `pageToken` parameter in the next request.
+  pageToken: string, Optional. If the `pageToken` parameter is supplied, then the next page of results is retrieved. The `pageToken` parameter must be set to the value of the `nextPageToken` from the previous response.
   x__xgafv: string, V1 error format.
 
 Returns:
   An object of the form:
 
     { # Result returned from ListMonitoredResourceDescriptors.
-    "nextPageToken": "A String", # If there are more results than were returned, then `nextPageToken` is returned in the response. To get the next batch of results, call this method again using the value of `nextPageToken` as `pageToken`.
+    "nextPageToken": "A String", # If there are more results than were returned, then `nextPageToken` is included in the response. To get the next set of results, call this method again using the value of `nextPageToken` as `pageToken`.
     "resourceDescriptors": [ # A list of resource descriptors.
-      { # A description of a type of monitored resource.
-        "displayName": "A String", # A concise name for the monitored resource type, which is displayed in user interfaces. For example, `"Cloud SQL Database"`.
-        "labels": [ # A set of labels that can be used to describe instances of this monitored resource type. For example, Cloud SQL databases can be labeled with their `"database_id"` and their `"zone"`.
+      { # An object that describes the schema of a MonitoredResource object using a type name and a set of labels. For example, the monitored resource descriptor for Google Compute Engine VM instances has a type of `"gce_instance"` and specifies the use of the labels `"instance_id"` and `"zone"` to identify particular VM instances. Different APIs can support different monitored resource types. APIs generally provide a `list` method that returns the monitored resource descriptors used by the API.
+        "displayName": "A String", # Optional. A concise name for the monitored resource type that might be displayed in user interfaces. For example, `"Google Cloud SQL Database"`.
+        "labels": [ # Required. A set of labels used to describe instances of this monitored resource type. For example, an individual Google Cloud SQL database is identified by values for the labels `"database_id"` and `"zone"`.
           { # A description of a label.
             "valueType": "A String", # The type of data that can be assigned to the label.
             "description": "A String", # A human-readable description for the label.
             "key": "A String", # The label key.
           },
         ],
-        "type": "A String", # The monitored resource type. For example, the type `"cloudsql_database"` represents databases in Google Cloud SQL.
-        "description": "A String", # A detailed description of the monitored resource type, which is used in documentation.
+        "type": "A String", # Required. The monitored resource type. For example, the type `"cloudsql_database"` represents databases in Google Cloud SQL.
+        "name": "A String", # Optional. The resource name of the monitored resource descriptor: `"projects/{project_id}/monitoredResourceDescriptors/{type}"` where {type} is the value of the `type` field in this object and {project_id} is a project ID that provides API-specific context for accessing the type. APIs that do not use project information can use the resource name format `"monitoredResourceDescriptors/{type}"`.
+        "description": "A String", # Optional. A detailed description of the monitored resource type that might be used in documentation.
       },
     ],
   }
diff --git a/docs/dyn/logging_v2beta1.projects.metrics.html b/docs/dyn/logging_v2beta1.projects.metrics.html index 5884077642a..02c17b66d1b 100644 --- a/docs/dyn/logging_v2beta1.projects.metrics.html +++ b/docs/dyn/logging_v2beta1.projects.metrics.html @@ -159,8 +159,8 @@

Method Details

Args: projectName: string, Required. The resource name of the project containing the metrics. Example: `"projects/my-project-id"`. (required) - pageSize: integer, Optional. The maximum number of results to return from this request. Fewer results might be returned. You must check for the `nextPageToken` result to determine if additional results are available, which you can retrieve by passing the `nextPageToken` value in the `pageToken` parameter to the next request. - pageToken: string, Optional. If the `pageToken` request parameter is supplied, then the next page of results in the set are retrieved. The `pageToken` parameter must be set with the value of the `nextPageToken` result parameter from the previous request. The value of `projectName` must be the same as in the previous request. + pageSize: integer, Optional. The maximum number of results to return from this request. You must check for presence of `nextPageToken` to determine if additional results are available, which you can retrieve by passing the `nextPageToken` value as the `pageToken` parameter in the next request. + pageToken: string, Optional. If the `pageToken` parameter is supplied, then the next page of results is retrieved. The `pageToken` parameter must be set to the value of the `nextPageToken` from the previous response. The value of `projectName` must be the same as in the previous request. x__xgafv: string, V1 error format. Returns: @@ -174,7 +174,7 @@

Method Details

"description": "A String", # A description of this metric, which is used in documentation. }, ], - "nextPageToken": "A String", # If there are more results than were returned, then `nextPageToken` is given a value in the response. To get the next batch of results, call this method again using the value of `nextPageToken` as `pageToken`. + "nextPageToken": "A String", # If there are more results than were returned, then `nextPageToken` is included in the response. To get the next set of results, call this method again using the value of `nextPageToken` as `pageToken`. }
diff --git a/docs/dyn/logging_v2beta1.projects.sinks.html b/docs/dyn/logging_v2beta1.projects.sinks.html index 4de17044f09..7b94b4f58de 100644 --- a/docs/dyn/logging_v2beta1.projects.sinks.html +++ b/docs/dyn/logging_v2beta1.projects.sinks.html @@ -103,10 +103,10 @@

Method Details

The object takes the form of: { # Describes a sink used to export log entries outside Cloud Logging. - "filter": "A String", # An [advanced logs filter](/logging/docs/view/advanced_filters) that defines the log entries to be exported. The filter must be consistent with the log entry format designed by the `outputVersionFormat` parameter, regardless of the format of the log entry that was originally written to Cloud Logging. Example: `"logName:syslog AND severity>=ERROR"`. + "filter": "A String", # An [advanced logs filter](/logging/docs/view/advanced_filters). Only log entries matching that filter are exported. The filter must be consistent with the log entry format specified by the `outputVersionFormat` parameter, regardless of the format of the log entry that was originally written to Cloud Logging. Example (V2 format): `"logName=projects/my-projectid/logs/syslog AND severity>=ERROR"`. "destination": "A String", # The export destination. See [Exporting Logs With Sinks](/logging/docs/api/tasks/exporting-logs). Examples: `"storage.googleapis.com/a-bucket"`, `"bigquery.googleapis.com/projects/a-project-id/datasets/a-dataset"`. "name": "A String", # Required. The client-assigned sink identifier. Example: `"my-severe-errors-to-pubsub"`. Sink identifiers are limited to 1000 characters and can include only the following characters: `A-Z`, `a-z`, `0-9`, and the special characters `_-.`. - "outputVersionFormat": "A String", # The log entry version used when exporting log entries from this sink. This version does not have to correspond to the version of the log entry when it was written to Cloud Logging. + "outputVersionFormat": "A String", # The log entry version to use for this sink's exported log entries. This version does not have to correspond to the version of the log entry when it was written to Cloud Logging. } x__xgafv: string, V1 error format. @@ -115,10 +115,10 @@

Method Details

An object of the form: { # Describes a sink used to export log entries outside Cloud Logging. - "filter": "A String", # An [advanced logs filter](/logging/docs/view/advanced_filters) that defines the log entries to be exported. The filter must be consistent with the log entry format designed by the `outputVersionFormat` parameter, regardless of the format of the log entry that was originally written to Cloud Logging. Example: `"logName:syslog AND severity>=ERROR"`. + "filter": "A String", # An [advanced logs filter](/logging/docs/view/advanced_filters). Only log entries matching that filter are exported. The filter must be consistent with the log entry format specified by the `outputVersionFormat` parameter, regardless of the format of the log entry that was originally written to Cloud Logging. Example (V2 format): `"logName=projects/my-projectid/logs/syslog AND severity>=ERROR"`. "destination": "A String", # The export destination. See [Exporting Logs With Sinks](/logging/docs/api/tasks/exporting-logs). Examples: `"storage.googleapis.com/a-bucket"`, `"bigquery.googleapis.com/projects/a-project-id/datasets/a-dataset"`. "name": "A String", # Required. The client-assigned sink identifier. Example: `"my-severe-errors-to-pubsub"`. Sink identifiers are limited to 1000 characters and can include only the following characters: `A-Z`, `a-z`, `0-9`, and the special characters `_-.`. - "outputVersionFormat": "A String", # The log entry version used when exporting log entries from this sink. This version does not have to correspond to the version of the log entry when it was written to Cloud Logging. + "outputVersionFormat": "A String", # The log entry version to use for this sink's exported log entries. This version does not have to correspond to the version of the log entry when it was written to Cloud Logging. }
@@ -149,10 +149,10 @@

Method Details

An object of the form: { # Describes a sink used to export log entries outside Cloud Logging. - "filter": "A String", # An [advanced logs filter](/logging/docs/view/advanced_filters) that defines the log entries to be exported. The filter must be consistent with the log entry format designed by the `outputVersionFormat` parameter, regardless of the format of the log entry that was originally written to Cloud Logging. Example: `"logName:syslog AND severity>=ERROR"`. + "filter": "A String", # An [advanced logs filter](/logging/docs/view/advanced_filters). Only log entries matching that filter are exported. The filter must be consistent with the log entry format specified by the `outputVersionFormat` parameter, regardless of the format of the log entry that was originally written to Cloud Logging. Example (V2 format): `"logName=projects/my-projectid/logs/syslog AND severity>=ERROR"`. "destination": "A String", # The export destination. See [Exporting Logs With Sinks](/logging/docs/api/tasks/exporting-logs). Examples: `"storage.googleapis.com/a-bucket"`, `"bigquery.googleapis.com/projects/a-project-id/datasets/a-dataset"`. "name": "A String", # Required. The client-assigned sink identifier. Example: `"my-severe-errors-to-pubsub"`. Sink identifiers are limited to 1000 characters and can include only the following characters: `A-Z`, `a-z`, `0-9`, and the special characters `_-.`. - "outputVersionFormat": "A String", # The log entry version used when exporting log entries from this sink. This version does not have to correspond to the version of the log entry when it was written to Cloud Logging. + "outputVersionFormat": "A String", # The log entry version to use for this sink's exported log entries. This version does not have to correspond to the version of the log entry when it was written to Cloud Logging. }
@@ -161,22 +161,22 @@

Method Details

Lists sinks.
 
 Args:
-  projectName: string, Required. The resource name of the project containing the sinks. Example: `"projects/my-logging-project"`, `"projects/01234567890"`. (required)
-  pageSize: integer, Optional. The maximum number of results to return from this request. Fewer results might be returned. You must check for the `nextPageToken` result to determine if additional results are available, which you can retrieve by passing the `nextPageToken` value in the `pageToken` parameter to the next request.
-  pageToken: string, Optional. If the `pageToken` request parameter is supplied, then the next page of results in the set are retrieved. The `pageToken` parameter must be set with the value of the `nextPageToken` result parameter from the previous request. The value of `projectName` must be the same as in the previous request.
+  projectName: string, Required. The resource name of the project containing the sinks. Example: `"projects/my-logging-project"`. (required)
+  pageSize: integer, Optional. The maximum number of results to return from this request. You must check for presence of `nextPageToken` to determine if additional results are available, which you can retrieve by passing the `nextPageToken` value as the `pageToken` parameter in the next request.
+  pageToken: string, Optional. If the `pageToken` parameter is supplied, then the next page of results is retrieved. The `pageToken` parameter must be set to the value of the `nextPageToken` from the previous response. The value of `projectName` must be the same as in the previous request.
   x__xgafv: string, V1 error format.
 
 Returns:
   An object of the form:
 
     { # Result returned from `ListSinks`.
-    "nextPageToken": "A String", # If there are more results than were returned, then `nextPageToken` is given a value in the response. To get the next batch of results, call this method again using the value of `nextPageToken` as `pageToken`.
+    "nextPageToken": "A String", # If there are more results than were returned, then `nextPageToken` is included in the response. To get the next set of results, call this method again using the value of `nextPageToken` as `pageToken`.
     "sinks": [ # A list of sinks.
       { # Describes a sink used to export log entries outside Cloud Logging.
-          "filter": "A String", # An [advanced logs filter](/logging/docs/view/advanced_filters) that defines the log entries to be exported. The filter must be consistent with the log entry format designed by the `outputVersionFormat` parameter, regardless of the format of the log entry that was originally written to Cloud Logging. Example: `"logName:syslog AND severity>=ERROR"`.
+          "filter": "A String", # An [advanced logs filter](/logging/docs/view/advanced_filters). Only log entries matching that filter are exported. The filter must be consistent with the log entry format specified by the `outputVersionFormat` parameter, regardless of the format of the log entry that was originally written to Cloud Logging. Example (V2 format): `"logName=projects/my-projectid/logs/syslog AND severity>=ERROR"`.
           "destination": "A String", # The export destination. See [Exporting Logs With Sinks](/logging/docs/api/tasks/exporting-logs). Examples: `"storage.googleapis.com/a-bucket"`, `"bigquery.googleapis.com/projects/a-project-id/datasets/a-dataset"`.
           "name": "A String", # Required. The client-assigned sink identifier. Example: `"my-severe-errors-to-pubsub"`. Sink identifiers are limited to 1000 characters and can include only the following characters: `A-Z`, `a-z`, `0-9`, and the special characters `_-.`.
-          "outputVersionFormat": "A String", # The log entry version used when exporting log entries from this sink. This version does not have to correspond to the version of the log entry when it was written to Cloud Logging.
+          "outputVersionFormat": "A String", # The log entry version to use for this sink's exported log entries. This version does not have to correspond to the version of the log entry when it was written to Cloud Logging.
         },
     ],
   }
@@ -206,10 +206,10 @@

Method Details

The object takes the form of: { # Describes a sink used to export log entries outside Cloud Logging. - "filter": "A String", # An [advanced logs filter](/logging/docs/view/advanced_filters) that defines the log entries to be exported. The filter must be consistent with the log entry format designed by the `outputVersionFormat` parameter, regardless of the format of the log entry that was originally written to Cloud Logging. Example: `"logName:syslog AND severity>=ERROR"`. + "filter": "A String", # An [advanced logs filter](/logging/docs/view/advanced_filters). Only log entries matching that filter are exported. The filter must be consistent with the log entry format specified by the `outputVersionFormat` parameter, regardless of the format of the log entry that was originally written to Cloud Logging. Example (V2 format): `"logName=projects/my-projectid/logs/syslog AND severity>=ERROR"`. "destination": "A String", # The export destination. See [Exporting Logs With Sinks](/logging/docs/api/tasks/exporting-logs). Examples: `"storage.googleapis.com/a-bucket"`, `"bigquery.googleapis.com/projects/a-project-id/datasets/a-dataset"`. "name": "A String", # Required. The client-assigned sink identifier. Example: `"my-severe-errors-to-pubsub"`. Sink identifiers are limited to 1000 characters and can include only the following characters: `A-Z`, `a-z`, `0-9`, and the special characters `_-.`. - "outputVersionFormat": "A String", # The log entry version used when exporting log entries from this sink. This version does not have to correspond to the version of the log entry when it was written to Cloud Logging. + "outputVersionFormat": "A String", # The log entry version to use for this sink's exported log entries. This version does not have to correspond to the version of the log entry when it was written to Cloud Logging. } x__xgafv: string, V1 error format. @@ -218,10 +218,10 @@

Method Details

An object of the form: { # Describes a sink used to export log entries outside Cloud Logging. - "filter": "A String", # An [advanced logs filter](/logging/docs/view/advanced_filters) that defines the log entries to be exported. The filter must be consistent with the log entry format designed by the `outputVersionFormat` parameter, regardless of the format of the log entry that was originally written to Cloud Logging. Example: `"logName:syslog AND severity>=ERROR"`. + "filter": "A String", # An [advanced logs filter](/logging/docs/view/advanced_filters). Only log entries matching that filter are exported. The filter must be consistent with the log entry format specified by the `outputVersionFormat` parameter, regardless of the format of the log entry that was originally written to Cloud Logging. Example (V2 format): `"logName=projects/my-projectid/logs/syslog AND severity>=ERROR"`. "destination": "A String", # The export destination. See [Exporting Logs With Sinks](/logging/docs/api/tasks/exporting-logs). Examples: `"storage.googleapis.com/a-bucket"`, `"bigquery.googleapis.com/projects/a-project-id/datasets/a-dataset"`. "name": "A String", # Required. The client-assigned sink identifier. Example: `"my-severe-errors-to-pubsub"`. Sink identifiers are limited to 1000 characters and can include only the following characters: `A-Z`, `a-z`, `0-9`, and the special characters `_-.`. - "outputVersionFormat": "A String", # The log entry version used when exporting log entries from this sink. This version does not have to correspond to the version of the log entry when it was written to Cloud Logging. + "outputVersionFormat": "A String", # The log entry version to use for this sink's exported log entries. This version does not have to correspond to the version of the log entry when it was written to Cloud Logging. }
diff --git a/docs/dyn/monitoring_v3.html b/docs/dyn/monitoring_v3.html new file mode 100644 index 00000000000..783d84583ba --- /dev/null +++ b/docs/dyn/monitoring_v3.html @@ -0,0 +1,103 @@ + + + +

Google Monitoring API

+

Instance Methods

+

+ projects() +

+

Returns the projects Resource.

+ +

+ new_batch_http_request()

+

Create a BatchHttpRequest object based on the discovery document.

+

Method Details

+
+ new_batch_http_request() +
Create a BatchHttpRequest object based on the discovery document.
+
+        Args:
+          callback: callable, A callback to be called for each response, of the
+            form callback(id, response, exception). The first parameter is the
+            request id, and the second is the deserialized response object. The
+            third is an apiclient.errors.HttpError exception object if an HTTP
+            error occurred while processing the request, or None if no error
+            occurred.
+
+        Returns:
+          A BatchHttpRequest object based on the discovery document.
+        
+
+ + \ No newline at end of file diff --git a/docs/dyn/monitoring_v3.projects.collectdTimeSeries.html b/docs/dyn/monitoring_v3.projects.collectdTimeSeries.html new file mode 100644 index 00000000000..dda189d876a --- /dev/null +++ b/docs/dyn/monitoring_v3.projects.collectdTimeSeries.html @@ -0,0 +1,197 @@ + + + +

Google Monitoring API . projects . collectdTimeSeries

+

Instance Methods

+

+ create(name, body, x__xgafv=None)

+

Creates a new time series with the given data points. This method is only for use in `collectd`-related code, including the Google Monitoring Agent. See [google.monitoring.v3.MetricService.CreateTimeSeries] instead.

+

Method Details

+
+ create(name, body, x__xgafv=None) +
Creates a new time series with the given data points. This method is only for use in `collectd`-related code, including the Google Monitoring Agent. See [google.monitoring.v3.MetricService.CreateTimeSeries] instead.
+
+Args:
+  name: string, The project in which to create the time series. The format is `"projects/PROJECT_ID_OR_NUMBER"`. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # The `CreateCollectdTimeSeries` request.
+    "collectdPayloads": [ # The `collectd` payloads representing the time series data. You must not include more than a single point for each time series, so no two payloads can have the same values for all of the fields `plugin`, `plugin_instance`, `type`, and `type_instance`.
+      { # A collection of data points sent from a `collectd`-based plugin. See the `collectd` documentation for more information.
+        "plugin": "A String", # The name of the plugin. Example: `"disk"`.
+        "typeInstance": "A String", # The measurement type instance. Example: `"used"`.
+        "values": [ # The measured values during this time interval. Each value must have a different `dataSourceName`.
+          { # A single data point from a `collectd`-based plugin.
+            "dataSourceType": "A String", # The type of measurement.
+            "dataSourceName": "A String", # The data source for the `collectd` value. For example there are two data sources for network measurements: `"rx"` and `"tx"`.
+            "value": { # A single strongly-typed value. # The measurement value.
+              "distributionValue": { # Distribution contains summary statistics for a population of values and, optionally, a histogram representing the distribution of those values across a specified set of histogram buckets. The summary statistics are the count, mean, sum of the squared deviation from the mean, the minimum, and the maximum of the set of population of values. The histogram is based on a sequence of buckets and gives a count of values that fall into each bucket. The boundaries of the buckets are given either explicitly or by specifying parameters for a method of computing them (buckets of fixed width or buckets of exponentially increasing width). Although it is not forbidden, it is generally a bad idea to include non-finite values (infinities or NaNs) in the population of values, as this will render the `mean` and `sum_of_squared_deviation` fields meaningless. # A distribution value.
+                "count": "A String", # The number of values in the population. Must be non-negative.
+                "bucketCounts": [ # If `bucket_options` is given, then the sum of the values in `bucket_counts` must equal the value in `count`. If `bucket_options` is not given, no `bucket_counts` fields may be given. Bucket counts are given in order under the numbering scheme described above (the underflow bucket has number 0; the finite buckets, if any, have numbers 1 through N-2; the overflow bucket has number N-1). The size of `bucket_counts` must be no greater than N as defined in `bucket_options`. Any suffix of trailing zero bucket_count fields may be omitted.
+                  "A String",
+                ],
+                "bucketOptions": { # A Distribution may optionally contain a histogram of the values in the population. The histogram is given in `bucket_counts` as counts of values that fall into one of a sequence of non-overlapping buckets. The sequence of buckets is described by `bucket_options`. A bucket specifies an inclusive lower bound and exclusive upper bound for the values that are counted for that bucket. The upper bound of a bucket is strictly greater than the lower bound. The sequence of N buckets for a Distribution consists of an underflow bucket (number 0), zero or more finite buckets (number 1 through N - 2) and an overflow bucket (number N - 1). The buckets are contiguous: the lower bound of bucket i (i > 0) is the same as the upper bound of bucket i - 1. The buckets span the whole range of finite values: lower bound of the underflow bucket is -infinity and the upper bound of the overflow bucket is +infinity. The finite buckets are so-called because both bounds are finite. `BucketOptions` describes bucket boundaries in one of three ways. Two describe the boundaries by giving parameters for a formula to generate boundaries and one gives the bucket boundaries explicitly. If `bucket_boundaries` is not given, then no `bucket_counts` may be given. # Defines the histogram bucket boundaries.
+                  "exponentialBuckets": { # Specify a sequence of buckets that have a width that is proportional to the value of the lower bound. Each bucket represents a constant relative uncertainty on a specific value in the bucket. Defines `num_finite_buckets + 2` (= N) buckets with these boundaries for bucket i: Upper bound (0 <= i < N-1): scale * (growth_factor ^ i). Lower bound (1 <= i < N): scale * (growth_factor ^ (i - 1)). # The exponential buckets.
+                    "scale": 3.14, # Must be greater than 0
+                    "growthFactor": 3.14, # Must be greater than 1
+                    "numFiniteBuckets": 42, # must be greater than 0
+                  },
+                  "linearBuckets": { # Specify a sequence of buckets that all have the same width (except overflow and underflow). Each bucket represents a constant absolute uncertainty on the specific value in the bucket. Defines `num_finite_buckets + 2` (= N) buckets with these boundaries for bucket `i`: Upper bound (0 <= i < N-1): offset + (width * i). Lower bound (1 <= i < N): offset + (width * (i - 1)). # The linear bucket.
+                    "width": 3.14, # Must be greater than 0.
+                    "numFiniteBuckets": 42, # Must be greater than 0.
+                    "offset": 3.14, # Lower bound of the first bucket.
+                  },
+                  "explicitBuckets": { # A set of buckets with arbitrary widths. Defines `size(bounds) + 1` (= N) buckets with these boundaries for bucket i: Upper bound (0 <= i < N-1): bounds[i] Lower bound (1 <= i < N); bounds[i - 1] There must be at least one element in `bounds`. If `bounds` has only one element, there are no finite buckets, and that single element is the common boundary of the overflow and underflow buckets. # The explicit buckets.
+                    "bounds": [ # The values must be monotonically increasing.
+                      3.14,
+                    ],
+                  },
+                },
+                "range": { # The range of the population values. # If specified, contains the range of the population values. The field must not be present if the `count` is zero.
+                  "max": 3.14, # The maximum of the population values.
+                  "min": 3.14, # The minimum of the population values.
+                },
+                "sumOfSquaredDeviation": 3.14, # The sum of squared deviations from the mean of the values in the population. For values x_i this is: Sum[i=1..n]((x_i - mean)^2) Knuth, "The Art of Computer Programming", Vol. 2, page 323, 3rd edition describes Welford's method for accumulating this sum in one pass. If `count` is zero then this field must be zero.
+                "mean": 3.14, # The arithmetic mean of the values in the population. If `count` is zero then this field must be zero.
+              },
+              "stringValue": "A String", # A variable-length string value.
+              "boolValue": True or False, # A Boolean value: `true` or `false`.
+              "int64Value": "A String", # A 64-bit integer. Its range is approximately ±9.2x1018.
+              "doubleValue": 3.14, # A 64-bit double-precision floating-point number. Its magnitude is approximately ±10±300 and it has 16 significant digits of precision.
+            },
+          },
+        ],
+        "startTime": "A String", # The start time of the interval.
+        "endTime": "A String", # The end time of the interval.
+        "type": "A String", # The measurement type. Example: `"memory"`.
+        "pluginInstance": "A String", # The instance name of the plugin Example: `"hdcl"`.
+        "metadata": { # The measurement metadata. Example: `"process_id" -> 12345`
+          "a_key": { # A single strongly-typed value.
+            "distributionValue": { # Distribution contains summary statistics for a population of values and, optionally, a histogram representing the distribution of those values across a specified set of histogram buckets. The summary statistics are the count, mean, sum of the squared deviation from the mean, the minimum, and the maximum of the set of population of values. The histogram is based on a sequence of buckets and gives a count of values that fall into each bucket. The boundaries of the buckets are given either explicitly or by specifying parameters for a method of computing them (buckets of fixed width or buckets of exponentially increasing width). Although it is not forbidden, it is generally a bad idea to include non-finite values (infinities or NaNs) in the population of values, as this will render the `mean` and `sum_of_squared_deviation` fields meaningless. # A distribution value.
+              "count": "A String", # The number of values in the population. Must be non-negative.
+              "bucketCounts": [ # If `bucket_options` is given, then the sum of the values in `bucket_counts` must equal the value in `count`. If `bucket_options` is not given, no `bucket_counts` fields may be given. Bucket counts are given in order under the numbering scheme described above (the underflow bucket has number 0; the finite buckets, if any, have numbers 1 through N-2; the overflow bucket has number N-1). The size of `bucket_counts` must be no greater than N as defined in `bucket_options`. Any suffix of trailing zero bucket_count fields may be omitted.
+                "A String",
+              ],
+              "bucketOptions": { # A Distribution may optionally contain a histogram of the values in the population. The histogram is given in `bucket_counts` as counts of values that fall into one of a sequence of non-overlapping buckets. The sequence of buckets is described by `bucket_options`. A bucket specifies an inclusive lower bound and exclusive upper bound for the values that are counted for that bucket. The upper bound of a bucket is strictly greater than the lower bound. The sequence of N buckets for a Distribution consists of an underflow bucket (number 0), zero or more finite buckets (number 1 through N - 2) and an overflow bucket (number N - 1). The buckets are contiguous: the lower bound of bucket i (i > 0) is the same as the upper bound of bucket i - 1. The buckets span the whole range of finite values: lower bound of the underflow bucket is -infinity and the upper bound of the overflow bucket is +infinity. The finite buckets are so-called because both bounds are finite. `BucketOptions` describes bucket boundaries in one of three ways. Two describe the boundaries by giving parameters for a formula to generate boundaries and one gives the bucket boundaries explicitly. If `bucket_boundaries` is not given, then no `bucket_counts` may be given. # Defines the histogram bucket boundaries.
+                "exponentialBuckets": { # Specify a sequence of buckets that have a width that is proportional to the value of the lower bound. Each bucket represents a constant relative uncertainty on a specific value in the bucket. Defines `num_finite_buckets + 2` (= N) buckets with these boundaries for bucket i: Upper bound (0 <= i < N-1): scale * (growth_factor ^ i). Lower bound (1 <= i < N): scale * (growth_factor ^ (i - 1)). # The exponential buckets.
+                  "scale": 3.14, # Must be greater than 0
+                  "growthFactor": 3.14, # Must be greater than 1
+                  "numFiniteBuckets": 42, # must be greater than 0
+                },
+                "linearBuckets": { # Specify a sequence of buckets that all have the same width (except overflow and underflow). Each bucket represents a constant absolute uncertainty on the specific value in the bucket. Defines `num_finite_buckets + 2` (= N) buckets with these boundaries for bucket `i`: Upper bound (0 <= i < N-1): offset + (width * i). Lower bound (1 <= i < N): offset + (width * (i - 1)). # The linear bucket.
+                  "width": 3.14, # Must be greater than 0.
+                  "numFiniteBuckets": 42, # Must be greater than 0.
+                  "offset": 3.14, # Lower bound of the first bucket.
+                },
+                "explicitBuckets": { # A set of buckets with arbitrary widths. Defines `size(bounds) + 1` (= N) buckets with these boundaries for bucket i: Upper bound (0 <= i < N-1): bounds[i] Lower bound (1 <= i < N); bounds[i - 1] There must be at least one element in `bounds`. If `bounds` has only one element, there are no finite buckets, and that single element is the common boundary of the overflow and underflow buckets. # The explicit buckets.
+                  "bounds": [ # The values must be monotonically increasing.
+                    3.14,
+                  ],
+                },
+              },
+              "range": { # The range of the population values. # If specified, contains the range of the population values. The field must not be present if the `count` is zero.
+                "max": 3.14, # The maximum of the population values.
+                "min": 3.14, # The minimum of the population values.
+              },
+              "sumOfSquaredDeviation": 3.14, # The sum of squared deviations from the mean of the values in the population. For values x_i this is: Sum[i=1..n]((x_i - mean)^2) Knuth, "The Art of Computer Programming", Vol. 2, page 323, 3rd edition describes Welford's method for accumulating this sum in one pass. If `count` is zero then this field must be zero.
+              "mean": 3.14, # The arithmetic mean of the values in the population. If `count` is zero then this field must be zero.
+            },
+            "stringValue": "A String", # A variable-length string value.
+            "boolValue": True or False, # A Boolean value: `true` or `false`.
+            "int64Value": "A String", # A 64-bit integer. Its range is approximately ±9.2x1018.
+            "doubleValue": 3.14, # A 64-bit double-precision floating-point number. Its magnitude is approximately ±10±300 and it has 16 significant digits of precision.
+          },
+        },
+      },
+    ],
+    "resource": { # An object representing a resource that can be used for monitoring, logging, billing, or other purposes. Examples include virtual machine instances, databases, and storage devices such as disks. The `type` field identifies a MonitoredResourceDescriptor object that describes the resource's schema. Information in the `labels` field identifies the actual resource and its attributes according to the schema. For example, a particular Compute Engine VM instance could be represented by the following object, because the MonitoredResourceDescriptor for `"gce_instance"` has labels `"instance_id"` and `"zone"`: { "type": "gce_instance", "labels": { "instance_id": "my-instance", "zone": "us-central1-a" }} # The monitored resource associated with the time series.
+      "labels": { # Required. Values for all of the labels listed in the associated monitored resource descriptor. For example, Cloud SQL databases use the labels `"database_id"` and `"zone"`.
+        "a_key": "A String",
+      },
+      "type": "A String", # Required. The monitored resource type. This field must match the `type` field of a MonitoredResourceDescriptor object. For example, the type of a Cloud SQL database is `"cloudsql_database"`.
+    },
+    "collectdVersion": "A String", # The version of `collectd` that collected the data. Example: `"5.3.0-192.el6"`.
+  }
+
+  x__xgafv: string, V1 error format.
+
+Returns:
+  An object of the form:
+
+    { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.
+  }
+
+ + \ No newline at end of file diff --git a/docs/dyn/monitoring_v3.projects.groups.html b/docs/dyn/monitoring_v3.projects.groups.html new file mode 100644 index 00000000000..68f850f4f04 --- /dev/null +++ b/docs/dyn/monitoring_v3.projects.groups.html @@ -0,0 +1,244 @@ + + + +

Google Monitoring API . projects . groups

+

Instance Methods

+

+ members() +

+

Returns the members Resource.

+ +

+ create(name, body, validateOnly=None, x__xgafv=None)

+

Creates a new group.

+

+ delete(name, x__xgafv=None)

+

Deletes an existing group.

+

+ get(name, x__xgafv=None)

+

Gets a single group.

+

+ list(name, ancestorsOfGroup=None, descendantsOfGroup=None, pageSize=None, x__xgafv=None, pageToken=None, childrenOfGroup=None)

+

Lists the existing groups.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

+ update(name, body, validateOnly=None, x__xgafv=None)

+

Updates an existing group. You can change any group attributes except `name`.

+

Method Details

+
+ create(name, body, validateOnly=None, x__xgafv=None) +
Creates a new group.
+
+Args:
+  name: string, The project in which to create the group. The format is `"projects/{project_id_or_number}"`. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # The description of a dynamic collection of monitored resources. Each group has a filter that is matched against monitored resources and their associated metadata. If a group's filter matches an available monitored resource, then that resource is a member of that group. Groups can contain any number of monitored resources, and each monitored resource can be a member of any number of groups. Groups can be nested in parent-child hierarchies. The `parentName` field identifies an optional parent for each group. If a group has a parent, then the only monitored resources available to be matched by the group's filter are the resources contained in the parent group. In other words, a group contains the monitored resources that match its filter and the filters of all the group's ancestors. A group without a parent can contain any monitored resource. For example, consider an infrastructure running a set of instances with two user-defined tags: `"environment"` and `"role"`. A parent group has a filter, `environment="production"`. A child of that parent group has a filter, `role="transcoder"`. The parent group contains all instances in the production environment, regardless of their roles. The child group contains instances that have the transcoder role *and* are in the production environment. The monitored resources contained in a group can change at any moment, depending on what resources exist and what filters are associated with the group and its ancestors.
+    "filter": "A String", # The filter used to determine which monitored resources belong to this group.
+    "parentName": "A String", # The name of the group's parent, if it has one. The format is `"projects/{project_id_or_number}/groups/{group_id}"`. For groups with no parent, `parentName` is the empty string, `""`.
+    "displayName": "A String", # A user-assigned name for this group, used only for display purposes.
+    "name": "A String", # The name of this group. The format is `"projects/{project_id_or_number}/groups/{group_id}"`. When creating a group, this field is ignored and a new name is created consisting of the project specified in the call to `CreateGroup` and a unique `{group_id}` that is generated automatically. @OutputOnly
+    "isCluster": True or False, # If true, the members of this group are considered to be a cluster. The system can perform additional analysis on groups that are clusters.
+  }
+
+  validateOnly: boolean, If true, validate this request but do not create the group.
+  x__xgafv: string, V1 error format.
+
+Returns:
+  An object of the form:
+
+    { # The description of a dynamic collection of monitored resources. Each group has a filter that is matched against monitored resources and their associated metadata. If a group's filter matches an available monitored resource, then that resource is a member of that group. Groups can contain any number of monitored resources, and each monitored resource can be a member of any number of groups. Groups can be nested in parent-child hierarchies. The `parentName` field identifies an optional parent for each group. If a group has a parent, then the only monitored resources available to be matched by the group's filter are the resources contained in the parent group. In other words, a group contains the monitored resources that match its filter and the filters of all the group's ancestors. A group without a parent can contain any monitored resource. For example, consider an infrastructure running a set of instances with two user-defined tags: `"environment"` and `"role"`. A parent group has a filter, `environment="production"`. A child of that parent group has a filter, `role="transcoder"`. The parent group contains all instances in the production environment, regardless of their roles. The child group contains instances that have the transcoder role *and* are in the production environment. The monitored resources contained in a group can change at any moment, depending on what resources exist and what filters are associated with the group and its ancestors.
+      "filter": "A String", # The filter used to determine which monitored resources belong to this group.
+      "parentName": "A String", # The name of the group's parent, if it has one. The format is `"projects/{project_id_or_number}/groups/{group_id}"`. For groups with no parent, `parentName` is the empty string, `""`.
+      "displayName": "A String", # A user-assigned name for this group, used only for display purposes.
+      "name": "A String", # The name of this group. The format is `"projects/{project_id_or_number}/groups/{group_id}"`. When creating a group, this field is ignored and a new name is created consisting of the project specified in the call to `CreateGroup` and a unique `{group_id}` that is generated automatically. @OutputOnly
+      "isCluster": True or False, # If true, the members of this group are considered to be a cluster. The system can perform additional analysis on groups that are clusters.
+    }
+
+ +
+ delete(name, x__xgafv=None) +
Deletes an existing group.
+
+Args:
+  name: string, The group to delete. The format is `"projects/{project_id_or_number}/groups/{group_id}"`. (required)
+  x__xgafv: string, V1 error format.
+
+Returns:
+  An object of the form:
+
+    { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.
+  }
+
+ +
+ get(name, x__xgafv=None) +
Gets a single group.
+
+Args:
+  name: string, The group to retrieve. The format is `"projects/{project_id_or_number}/groups/{group_id}"`. (required)
+  x__xgafv: string, V1 error format.
+
+Returns:
+  An object of the form:
+
+    { # The description of a dynamic collection of monitored resources. Each group has a filter that is matched against monitored resources and their associated metadata. If a group's filter matches an available monitored resource, then that resource is a member of that group. Groups can contain any number of monitored resources, and each monitored resource can be a member of any number of groups. Groups can be nested in parent-child hierarchies. The `parentName` field identifies an optional parent for each group. If a group has a parent, then the only monitored resources available to be matched by the group's filter are the resources contained in the parent group. In other words, a group contains the monitored resources that match its filter and the filters of all the group's ancestors. A group without a parent can contain any monitored resource. For example, consider an infrastructure running a set of instances with two user-defined tags: `"environment"` and `"role"`. A parent group has a filter, `environment="production"`. A child of that parent group has a filter, `role="transcoder"`. The parent group contains all instances in the production environment, regardless of their roles. The child group contains instances that have the transcoder role *and* are in the production environment. The monitored resources contained in a group can change at any moment, depending on what resources exist and what filters are associated with the group and its ancestors.
+      "filter": "A String", # The filter used to determine which monitored resources belong to this group.
+      "parentName": "A String", # The name of the group's parent, if it has one. The format is `"projects/{project_id_or_number}/groups/{group_id}"`. For groups with no parent, `parentName` is the empty string, `""`.
+      "displayName": "A String", # A user-assigned name for this group, used only for display purposes.
+      "name": "A String", # The name of this group. The format is `"projects/{project_id_or_number}/groups/{group_id}"`. When creating a group, this field is ignored and a new name is created consisting of the project specified in the call to `CreateGroup` and a unique `{group_id}` that is generated automatically. @OutputOnly
+      "isCluster": True or False, # If true, the members of this group are considered to be a cluster. The system can perform additional analysis on groups that are clusters.
+    }
+
+ +
+ list(name, ancestorsOfGroup=None, descendantsOfGroup=None, pageSize=None, x__xgafv=None, pageToken=None, childrenOfGroup=None) +
Lists the existing groups.
+
+Args:
+  name: string, The project whose groups are to be listed. The format is `"projects/{project_id_or_number}"`. (required)
+  ancestorsOfGroup: string, A group name: `"projects/{project_id_or_number}/groups/{group_id}"`. Returns groups that are ancestors of the specified group. The groups are returned in order, starting with the immediate parent and ending with the most distant ancestor. If the specified group has no immediate parent, the results are empty.
+  descendantsOfGroup: string, A group name: `"projects/{project_id_or_number}/groups/{group_id}"`. Returns the descendants of the specified group. This is a superset of the results returned by the `childrenOfGroup` filter, and includes children-of-children, and so forth.
+  pageSize: integer, A positive number that is the maximum number of results to return.
+  x__xgafv: string, V1 error format.
+  pageToken: string, If this field is not empty then it must contain the `nextPageToken` value returned by a previous call to this method. Using this field causes the method to return additional results from the previous method call.
+  childrenOfGroup: string, A group name: `"projects/{project_id_or_number}/groups/{group_id}"`. Returns groups whose `parentName` field contains the group name. If no groups have this parent, the results are empty.
+
+Returns:
+  An object of the form:
+
+    { # The `ListGroups` response.
+    "nextPageToken": "A String", # If there are more results than have been returned, then this field is set to a non-empty value. To see the additional results, use that value as `pageToken` in the next call to this method.
+    "group": [ # The groups that match the specified filters.
+      { # The description of a dynamic collection of monitored resources. Each group has a filter that is matched against monitored resources and their associated metadata. If a group's filter matches an available monitored resource, then that resource is a member of that group. Groups can contain any number of monitored resources, and each monitored resource can be a member of any number of groups. Groups can be nested in parent-child hierarchies. The `parentName` field identifies an optional parent for each group. If a group has a parent, then the only monitored resources available to be matched by the group's filter are the resources contained in the parent group. In other words, a group contains the monitored resources that match its filter and the filters of all the group's ancestors. A group without a parent can contain any monitored resource. For example, consider an infrastructure running a set of instances with two user-defined tags: `"environment"` and `"role"`. A parent group has a filter, `environment="production"`. A child of that parent group has a filter, `role="transcoder"`. The parent group contains all instances in the production environment, regardless of their roles. The child group contains instances that have the transcoder role *and* are in the production environment. The monitored resources contained in a group can change at any moment, depending on what resources exist and what filters are associated with the group and its ancestors.
+          "filter": "A String", # The filter used to determine which monitored resources belong to this group.
+          "parentName": "A String", # The name of the group's parent, if it has one. The format is `"projects/{project_id_or_number}/groups/{group_id}"`. For groups with no parent, `parentName` is the empty string, `""`.
+          "displayName": "A String", # A user-assigned name for this group, used only for display purposes.
+          "name": "A String", # The name of this group. The format is `"projects/{project_id_or_number}/groups/{group_id}"`. When creating a group, this field is ignored and a new name is created consisting of the project specified in the call to `CreateGroup` and a unique `{group_id}` that is generated automatically. @OutputOnly
+          "isCluster": True or False, # If true, the members of this group are considered to be a cluster. The system can perform additional analysis on groups that are clusters.
+        },
+    ],
+  }
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    
+
+ +
+ update(name, body, validateOnly=None, x__xgafv=None) +
Updates an existing group. You can change any group attributes except `name`.
+
+Args:
+  name: string, The name of this group. The format is `"projects/{project_id_or_number}/groups/{group_id}"`. When creating a group, this field is ignored and a new name is created consisting of the project specified in the call to `CreateGroup` and a unique `{group_id}` that is generated automatically. @OutputOnly (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # The description of a dynamic collection of monitored resources. Each group has a filter that is matched against monitored resources and their associated metadata. If a group's filter matches an available monitored resource, then that resource is a member of that group. Groups can contain any number of monitored resources, and each monitored resource can be a member of any number of groups. Groups can be nested in parent-child hierarchies. The `parentName` field identifies an optional parent for each group. If a group has a parent, then the only monitored resources available to be matched by the group's filter are the resources contained in the parent group. In other words, a group contains the monitored resources that match its filter and the filters of all the group's ancestors. A group without a parent can contain any monitored resource. For example, consider an infrastructure running a set of instances with two user-defined tags: `"environment"` and `"role"`. A parent group has a filter, `environment="production"`. A child of that parent group has a filter, `role="transcoder"`. The parent group contains all instances in the production environment, regardless of their roles. The child group contains instances that have the transcoder role *and* are in the production environment. The monitored resources contained in a group can change at any moment, depending on what resources exist and what filters are associated with the group and its ancestors.
+    "filter": "A String", # The filter used to determine which monitored resources belong to this group.
+    "parentName": "A String", # The name of the group's parent, if it has one. The format is `"projects/{project_id_or_number}/groups/{group_id}"`. For groups with no parent, `parentName` is the empty string, `""`.
+    "displayName": "A String", # A user-assigned name for this group, used only for display purposes.
+    "name": "A String", # The name of this group. The format is `"projects/{project_id_or_number}/groups/{group_id}"`. When creating a group, this field is ignored and a new name is created consisting of the project specified in the call to `CreateGroup` and a unique `{group_id}` that is generated automatically. @OutputOnly
+    "isCluster": True or False, # If true, the members of this group are considered to be a cluster. The system can perform additional analysis on groups that are clusters.
+  }
+
+  validateOnly: boolean, If true, validate this request but do not update the existing group.
+  x__xgafv: string, V1 error format.
+
+Returns:
+  An object of the form:
+
+    { # The description of a dynamic collection of monitored resources. Each group has a filter that is matched against monitored resources and their associated metadata. If a group's filter matches an available monitored resource, then that resource is a member of that group. Groups can contain any number of monitored resources, and each monitored resource can be a member of any number of groups. Groups can be nested in parent-child hierarchies. The `parentName` field identifies an optional parent for each group. If a group has a parent, then the only monitored resources available to be matched by the group's filter are the resources contained in the parent group. In other words, a group contains the monitored resources that match its filter and the filters of all the group's ancestors. A group without a parent can contain any monitored resource. For example, consider an infrastructure running a set of instances with two user-defined tags: `"environment"` and `"role"`. A parent group has a filter, `environment="production"`. A child of that parent group has a filter, `role="transcoder"`. The parent group contains all instances in the production environment, regardless of their roles. The child group contains instances that have the transcoder role *and* are in the production environment. The monitored resources contained in a group can change at any moment, depending on what resources exist and what filters are associated with the group and its ancestors.
+      "filter": "A String", # The filter used to determine which monitored resources belong to this group.
+      "parentName": "A String", # The name of the group's parent, if it has one. The format is `"projects/{project_id_or_number}/groups/{group_id}"`. For groups with no parent, `parentName` is the empty string, `""`.
+      "displayName": "A String", # A user-assigned name for this group, used only for display purposes.
+      "name": "A String", # The name of this group. The format is `"projects/{project_id_or_number}/groups/{group_id}"`. When creating a group, this field is ignored and a new name is created consisting of the project specified in the call to `CreateGroup` and a unique `{group_id}` that is generated automatically. @OutputOnly
+      "isCluster": True or False, # If true, the members of this group are considered to be a cluster. The system can perform additional analysis on groups that are clusters.
+    }
+
+ + \ No newline at end of file diff --git a/docs/dyn/monitoring_v3.projects.groups.members.html b/docs/dyn/monitoring_v3.projects.groups.members.html new file mode 100644 index 00000000000..518ca76842f --- /dev/null +++ b/docs/dyn/monitoring_v3.projects.groups.members.html @@ -0,0 +1,128 @@ + + + +

Google Monitoring API . projects . groups . members

+

Instance Methods

+

+ list(name, pageSize=None, x__xgafv=None, pageToken=None, interval_endTime=None, filter=None, interval_startTime=None)

+

Lists the monitored resources that are members of a group.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

Method Details

+
+ list(name, pageSize=None, x__xgafv=None, pageToken=None, interval_endTime=None, filter=None, interval_startTime=None) +
Lists the monitored resources that are members of a group.
+
+Args:
+  name: string, The group whose members are listed. The format is `"projects/{project_id_or_number}/groups/{group_id}"`. (required)
+  pageSize: integer, A positive number that is the maximum number of results to return.
+  x__xgafv: string, V1 error format.
+  pageToken: string, If this field is not empty then it must contain the `nextPageToken` value returned by a previous call to this method. Using this field causes the method to return additional results from the previous method call.
+  interval_endTime: string, Required. The end of the interval. The interval includes this time.
+  filter: string, An optional [list filter](/monitoring/api/learn_more#filtering) describing the members to be returned. The filter may reference the type, labels, and metadata of monitored resources that comprise the group. For example, to return only resources representing Compute Engine VM instances, use this filter: resource.type = "gce_instance"
+  interval_startTime: string, If this value is omitted, the interval is a point in time, `endTime`. If `startTime` is present, it must be earlier than (less than) `endTime`. The interval begins after `startTime`—it does not include `startTime`.
+
+Returns:
+  An object of the form:
+
+    { # The `ListGroupMembers` response.
+    "nextPageToken": "A String", # If there are more results than have been returned, then this field is set to a non-empty value. To see the additional results, use that value as `pageToken` in the next call to this method.
+    "totalSize": 42, # The total number of elements matching this request.
+    "members": [ # A set of monitored resources in the group.
+      { # An object representing a resource that can be used for monitoring, logging, billing, or other purposes. Examples include virtual machine instances, databases, and storage devices such as disks. The `type` field identifies a MonitoredResourceDescriptor object that describes the resource's schema. Information in the `labels` field identifies the actual resource and its attributes according to the schema. For example, a particular Compute Engine VM instance could be represented by the following object, because the MonitoredResourceDescriptor for `"gce_instance"` has labels `"instance_id"` and `"zone"`: { "type": "gce_instance", "labels": { "instance_id": "my-instance", "zone": "us-central1-a" }}
+        "labels": { # Required. Values for all of the labels listed in the associated monitored resource descriptor. For example, Cloud SQL databases use the labels `"database_id"` and `"zone"`.
+          "a_key": "A String",
+        },
+        "type": "A String", # Required. The monitored resource type. This field must match the `type` field of a MonitoredResourceDescriptor object. For example, the type of a Cloud SQL database is `"cloudsql_database"`.
+      },
+    ],
+  }
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    
+
+ + \ No newline at end of file diff --git a/docs/dyn/monitoring_v3.projects.html b/docs/dyn/monitoring_v3.projects.html new file mode 100644 index 00000000000..91daa101f26 --- /dev/null +++ b/docs/dyn/monitoring_v3.projects.html @@ -0,0 +1,102 @@ + + + +

Google Monitoring API . projects

+

Instance Methods

+

+ collectdTimeSeries() +

+

Returns the collectdTimeSeries Resource.

+ +

+ groups() +

+

Returns the groups Resource.

+ +

+ metricDescriptors() +

+

Returns the metricDescriptors Resource.

+ +

+ monitoredResourceDescriptors() +

+

Returns the monitoredResourceDescriptors Resource.

+ +

+ timeSeries() +

+

Returns the timeSeries Resource.

+ + \ No newline at end of file diff --git a/docs/dyn/monitoring_v3.projects.metricDescriptors.html b/docs/dyn/monitoring_v3.projects.metricDescriptors.html new file mode 100644 index 00000000000..8fb373b81e3 --- /dev/null +++ b/docs/dyn/monitoring_v3.projects.metricDescriptors.html @@ -0,0 +1,237 @@ + + + +

Google Monitoring API . projects . metricDescriptors

+

Instance Methods

+

+ create(name, body, x__xgafv=None)

+

Creates a new metric descriptor. User-created metric descriptors define [custom metrics](/monitoring/custom-metrics).

+

+ delete(name, x__xgafv=None)

+

Deletes a metric descriptor. Only user-created [custom metrics](/monitoring/custom-metrics) can be deleted.

+

+ get(name, x__xgafv=None)

+

Gets a single metric descriptor. This method does not require a Stackdriver account.

+

+ list(name, pageSize=None, filter=None, pageToken=None, x__xgafv=None)

+

Lists metric descriptors that match a filter. This method does not require a Stackdriver account.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

Method Details

+
+ create(name, body, x__xgafv=None) +
Creates a new metric descriptor. User-created metric descriptors define [custom metrics](/monitoring/custom-metrics).
+
+Args:
+  name: string, The project on which to execute the request. The format is `"projects/{project_id_or_number}"`. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Defines a metric type and its schema.
+    "displayName": "A String", # A concise name for the metric, which can be displayed in user interfaces. Use sentence case without an ending period, for example "Request count".
+    "name": "A String", # Resource name. The format of the name may vary between different implementations. For examples: projects/{project_id}/metricDescriptors/{type=**} metricDescriptors/{type=**}
+    "metricKind": "A String", # Whether the metric records instantaneous values, changes to a value, etc.
+    "valueType": "A String", # Whether the measurement is an integer, a floating-point number, etc.
+    "labels": [ # The set of labels that can be used to describe a specific instance of this metric type. For example, the `compute.googleapis.com/instance/network/received_bytes_count` metric type has a label, `loadbalanced`, that specifies whether the traffic was received through a load balanced IP address.
+      { # A description of a label.
+        "valueType": "A String", # The type of data that can be assigned to the label.
+        "description": "A String", # A human-readable description for the label.
+        "key": "A String", # The label key.
+      },
+    ],
+    "type": "A String", # The metric type including a DNS name prefix, for example `"compute.googleapis.com/instance/cpu/utilization"`. Metric types should use a natural hierarchical grouping such as the following: compute.googleapis.com/instance/cpu/utilization compute.googleapis.com/instance/disk/read_ops_count compute.googleapis.com/instance/network/received_bytes_count Note that if the metric type changes, the monitoring data will be discontinued, and anything depends on it will break, such as monitoring dashboards, alerting rules and quota limits. Therefore, once a metric has been published, its type should be immutable.
+    "unit": "A String", # The unit in which the metric value is reported. It is only applicable if the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The supported units are a subset of [The Unified Code for Units of Measure](http://unitsofmeasure.org/ucum.html) standard: **Basic units (UNIT)** * `bit` bit * `By` byte * `s` second * `min` minute * `h` hour * `d` day **Prefixes (PREFIX)** * `k` kilo (10**3) * `M` mega (10**6) * `G` giga (10**9) * `T` tera (10**12) * `P` peta (10**15) * `E` exa (10**18) * `Z` zetta (10**21) * `Y` yotta (10**24) * `m` milli (10**-3) * `u` micro (10**-6) * `n` nano (10**-9) * `p` pico (10**-12) * `f` femto (10**-15) * `a` atto (10**-18) * `z` zepto (10**-21) * `y` yocto (10**-24) * `Ki` kibi (2**10) * `Mi` mebi (2**20) * `Gi` gibi (2**30) * `Ti` tebi (2**40) **Grammar** The grammar includes the dimensionless unit `1`, such as `1/s`. The grammar also includes these connectors: * `/` division (as an infix operator, e.g. `1/s`). * `.` multiplication (as an infix operator, e.g. `GBy.d`) The grammar for a unit is as follows: Expression = Component { "." Component } { "/" Component } ; Component = [ PREFIX ] UNIT [ Annotation ] | Annotation | "1" ; Annotation = "{" NAME "}" ; Notes: * `Annotation` is just a comment if it follows a `UNIT` and is equivalent to `1` if it is used alone. For examples, `{requests}/s == 1/s`, `By{transmitted}/s == By/s`. * `NAME` is a sequence of non-blank printable ASCII characters not containing '{' or '}'.
+    "description": "A String", # A detailed description of the metric, which can be used in documentation.
+  }
+
+  x__xgafv: string, V1 error format.
+
+Returns:
+  An object of the form:
+
+    { # Defines a metric type and its schema.
+      "displayName": "A String", # A concise name for the metric, which can be displayed in user interfaces. Use sentence case without an ending period, for example "Request count".
+      "name": "A String", # Resource name. The format of the name may vary between different implementations. For examples: projects/{project_id}/metricDescriptors/{type=**} metricDescriptors/{type=**}
+      "metricKind": "A String", # Whether the metric records instantaneous values, changes to a value, etc.
+      "valueType": "A String", # Whether the measurement is an integer, a floating-point number, etc.
+      "labels": [ # The set of labels that can be used to describe a specific instance of this metric type. For example, the `compute.googleapis.com/instance/network/received_bytes_count` metric type has a label, `loadbalanced`, that specifies whether the traffic was received through a load balanced IP address.
+        { # A description of a label.
+          "valueType": "A String", # The type of data that can be assigned to the label.
+          "description": "A String", # A human-readable description for the label.
+          "key": "A String", # The label key.
+        },
+      ],
+      "type": "A String", # The metric type including a DNS name prefix, for example `"compute.googleapis.com/instance/cpu/utilization"`. Metric types should use a natural hierarchical grouping such as the following: compute.googleapis.com/instance/cpu/utilization compute.googleapis.com/instance/disk/read_ops_count compute.googleapis.com/instance/network/received_bytes_count Note that if the metric type changes, the monitoring data will be discontinued, and anything depends on it will break, such as monitoring dashboards, alerting rules and quota limits. Therefore, once a metric has been published, its type should be immutable.
+      "unit": "A String", # The unit in which the metric value is reported. It is only applicable if the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The supported units are a subset of [The Unified Code for Units of Measure](http://unitsofmeasure.org/ucum.html) standard: **Basic units (UNIT)** * `bit` bit * `By` byte * `s` second * `min` minute * `h` hour * `d` day **Prefixes (PREFIX)** * `k` kilo (10**3) * `M` mega (10**6) * `G` giga (10**9) * `T` tera (10**12) * `P` peta (10**15) * `E` exa (10**18) * `Z` zetta (10**21) * `Y` yotta (10**24) * `m` milli (10**-3) * `u` micro (10**-6) * `n` nano (10**-9) * `p` pico (10**-12) * `f` femto (10**-15) * `a` atto (10**-18) * `z` zepto (10**-21) * `y` yocto (10**-24) * `Ki` kibi (2**10) * `Mi` mebi (2**20) * `Gi` gibi (2**30) * `Ti` tebi (2**40) **Grammar** The grammar includes the dimensionless unit `1`, such as `1/s`. The grammar also includes these connectors: * `/` division (as an infix operator, e.g. `1/s`). * `.` multiplication (as an infix operator, e.g. `GBy.d`) The grammar for a unit is as follows: Expression = Component { "." Component } { "/" Component } ; Component = [ PREFIX ] UNIT [ Annotation ] | Annotation | "1" ; Annotation = "{" NAME "}" ; Notes: * `Annotation` is just a comment if it follows a `UNIT` and is equivalent to `1` if it is used alone. For examples, `{requests}/s == 1/s`, `By{transmitted}/s == By/s`. * `NAME` is a sequence of non-blank printable ASCII characters not containing '{' or '}'.
+      "description": "A String", # A detailed description of the metric, which can be used in documentation.
+    }
+
+ +
+ delete(name, x__xgafv=None) +
Deletes a metric descriptor. Only user-created [custom metrics](/monitoring/custom-metrics) can be deleted.
+
+Args:
+  name: string, The metric descriptor on which to execute the request. The format is `"projects/{project_id_or_number}/metricDescriptors/{metric_id}"`. An example of `{metric_id}` is: `"custom.googleapis.com/my_test_metric"`. (required)
+  x__xgafv: string, V1 error format.
+
+Returns:
+  An object of the form:
+
+    { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.
+  }
+
+ +
+ get(name, x__xgafv=None) +
Gets a single metric descriptor. This method does not require a Stackdriver account.
+
+Args:
+  name: string, The metric descriptor on which to execute the request. The format is `"projects/{project_id_or_number}/metricDescriptors/{metric_id}"`. An example value of `{metric_id}` is `"compute.googleapis.com/instance/disk/read_bytes_count"`. (required)
+  x__xgafv: string, V1 error format.
+
+Returns:
+  An object of the form:
+
+    { # Defines a metric type and its schema.
+      "displayName": "A String", # A concise name for the metric, which can be displayed in user interfaces. Use sentence case without an ending period, for example "Request count".
+      "name": "A String", # Resource name. The format of the name may vary between different implementations. For examples: projects/{project_id}/metricDescriptors/{type=**} metricDescriptors/{type=**}
+      "metricKind": "A String", # Whether the metric records instantaneous values, changes to a value, etc.
+      "valueType": "A String", # Whether the measurement is an integer, a floating-point number, etc.
+      "labels": [ # The set of labels that can be used to describe a specific instance of this metric type. For example, the `compute.googleapis.com/instance/network/received_bytes_count` metric type has a label, `loadbalanced`, that specifies whether the traffic was received through a load balanced IP address.
+        { # A description of a label.
+          "valueType": "A String", # The type of data that can be assigned to the label.
+          "description": "A String", # A human-readable description for the label.
+          "key": "A String", # The label key.
+        },
+      ],
+      "type": "A String", # The metric type including a DNS name prefix, for example `"compute.googleapis.com/instance/cpu/utilization"`. Metric types should use a natural hierarchical grouping such as the following: compute.googleapis.com/instance/cpu/utilization compute.googleapis.com/instance/disk/read_ops_count compute.googleapis.com/instance/network/received_bytes_count Note that if the metric type changes, the monitoring data will be discontinued, and anything depends on it will break, such as monitoring dashboards, alerting rules and quota limits. Therefore, once a metric has been published, its type should be immutable.
+      "unit": "A String", # The unit in which the metric value is reported. It is only applicable if the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The supported units are a subset of [The Unified Code for Units of Measure](http://unitsofmeasure.org/ucum.html) standard: **Basic units (UNIT)** * `bit` bit * `By` byte * `s` second * `min` minute * `h` hour * `d` day **Prefixes (PREFIX)** * `k` kilo (10**3) * `M` mega (10**6) * `G` giga (10**9) * `T` tera (10**12) * `P` peta (10**15) * `E` exa (10**18) * `Z` zetta (10**21) * `Y` yotta (10**24) * `m` milli (10**-3) * `u` micro (10**-6) * `n` nano (10**-9) * `p` pico (10**-12) * `f` femto (10**-15) * `a` atto (10**-18) * `z` zepto (10**-21) * `y` yocto (10**-24) * `Ki` kibi (2**10) * `Mi` mebi (2**20) * `Gi` gibi (2**30) * `Ti` tebi (2**40) **Grammar** The grammar includes the dimensionless unit `1`, such as `1/s`. The grammar also includes these connectors: * `/` division (as an infix operator, e.g. `1/s`). * `.` multiplication (as an infix operator, e.g. `GBy.d`) The grammar for a unit is as follows: Expression = Component { "." Component } { "/" Component } ; Component = [ PREFIX ] UNIT [ Annotation ] | Annotation | "1" ; Annotation = "{" NAME "}" ; Notes: * `Annotation` is just a comment if it follows a `UNIT` and is equivalent to `1` if it is used alone. For examples, `{requests}/s == 1/s`, `By{transmitted}/s == By/s`. * `NAME` is a sequence of non-blank printable ASCII characters not containing '{' or '}'.
+      "description": "A String", # A detailed description of the metric, which can be used in documentation.
+    }
+
+ +
+ list(name, pageSize=None, filter=None, pageToken=None, x__xgafv=None) +
Lists metric descriptors that match a filter. This method does not require a Stackdriver account.
+
+Args:
+  name: string, The project on which to execute the request. The format is `"projects/{project_id_or_number}"`. (required)
+  pageSize: integer, A positive number that is the maximum number of results to return.
+  filter: string, If this field is empty, all custom and system-defined metric descriptors are returned. Otherwise, the [filter](/monitoring/api/v3/filters) specifies which metric descriptors are to be returned. For example, the following filter matches all [custom metrics](/monitoring/custom-metrics): metric.type = starts_with("custom.googleapis.com/")
+  pageToken: string, If this field is not empty then it must contain the `nextPageToken` value returned by a previous call to this method. Using this field causes the method to return additional results from the previous method call.
+  x__xgafv: string, V1 error format.
+
+Returns:
+  An object of the form:
+
+    { # The `ListMetricDescriptors` response.
+    "nextPageToken": "A String", # If there are more results than have been returned, then this field is set to a non-empty value. To see the additional results, use that value as `pageToken` in the next call to this method.
+    "metricDescriptors": [ # The metric descriptors that are available to the project and that match the value of `filter`, if present.
+      { # Defines a metric type and its schema.
+          "displayName": "A String", # A concise name for the metric, which can be displayed in user interfaces. Use sentence case without an ending period, for example "Request count".
+          "name": "A String", # Resource name. The format of the name may vary between different implementations. For examples: projects/{project_id}/metricDescriptors/{type=**} metricDescriptors/{type=**}
+          "metricKind": "A String", # Whether the metric records instantaneous values, changes to a value, etc.
+          "valueType": "A String", # Whether the measurement is an integer, a floating-point number, etc.
+          "labels": [ # The set of labels that can be used to describe a specific instance of this metric type. For example, the `compute.googleapis.com/instance/network/received_bytes_count` metric type has a label, `loadbalanced`, that specifies whether the traffic was received through a load balanced IP address.
+            { # A description of a label.
+              "valueType": "A String", # The type of data that can be assigned to the label.
+              "description": "A String", # A human-readable description for the label.
+              "key": "A String", # The label key.
+            },
+          ],
+          "type": "A String", # The metric type including a DNS name prefix, for example `"compute.googleapis.com/instance/cpu/utilization"`. Metric types should use a natural hierarchical grouping such as the following: compute.googleapis.com/instance/cpu/utilization compute.googleapis.com/instance/disk/read_ops_count compute.googleapis.com/instance/network/received_bytes_count Note that if the metric type changes, the monitoring data will be discontinued, and anything depends on it will break, such as monitoring dashboards, alerting rules and quota limits. Therefore, once a metric has been published, its type should be immutable.
+          "unit": "A String", # The unit in which the metric value is reported. It is only applicable if the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The supported units are a subset of [The Unified Code for Units of Measure](http://unitsofmeasure.org/ucum.html) standard: **Basic units (UNIT)** * `bit` bit * `By` byte * `s` second * `min` minute * `h` hour * `d` day **Prefixes (PREFIX)** * `k` kilo (10**3) * `M` mega (10**6) * `G` giga (10**9) * `T` tera (10**12) * `P` peta (10**15) * `E` exa (10**18) * `Z` zetta (10**21) * `Y` yotta (10**24) * `m` milli (10**-3) * `u` micro (10**-6) * `n` nano (10**-9) * `p` pico (10**-12) * `f` femto (10**-15) * `a` atto (10**-18) * `z` zepto (10**-21) * `y` yocto (10**-24) * `Ki` kibi (2**10) * `Mi` mebi (2**20) * `Gi` gibi (2**30) * `Ti` tebi (2**40) **Grammar** The grammar includes the dimensionless unit `1`, such as `1/s`. The grammar also includes these connectors: * `/` division (as an infix operator, e.g. `1/s`). * `.` multiplication (as an infix operator, e.g. `GBy.d`) The grammar for a unit is as follows: Expression = Component { "." Component } { "/" Component } ; Component = [ PREFIX ] UNIT [ Annotation ] | Annotation | "1" ; Annotation = "{" NAME "}" ; Notes: * `Annotation` is just a comment if it follows a `UNIT` and is equivalent to `1` if it is used alone. For examples, `{requests}/s == 1/s`, `By{transmitted}/s == By/s`. * `NAME` is a sequence of non-blank printable ASCII characters not containing '{' or '}'.
+          "description": "A String", # A detailed description of the metric, which can be used in documentation.
+        },
+    ],
+  }
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    
+
+ + \ No newline at end of file diff --git a/docs/dyn/monitoring_v3.projects.monitoredResourceDescriptors.html b/docs/dyn/monitoring_v3.projects.monitoredResourceDescriptors.html new file mode 100644 index 00000000000..37384624205 --- /dev/null +++ b/docs/dyn/monitoring_v3.projects.monitoredResourceDescriptors.html @@ -0,0 +1,161 @@ + + + +

Google Monitoring API . projects . monitoredResourceDescriptors

+

Instance Methods

+

+ get(name, x__xgafv=None)

+

Gets a single monitored resource descriptor. This method does not require a Stackdriver account.

+

+ list(name, pageSize=None, filter=None, pageToken=None, x__xgafv=None)

+

Lists monitored resource descriptors that match a filter. This method does not require a Stackdriver account.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

Method Details

+
+ get(name, x__xgafv=None) +
Gets a single monitored resource descriptor. This method does not require a Stackdriver account.
+
+Args:
+  name: string, The monitored resource descriptor to get. The format is `"projects/{project_id_or_number}/monitoredResourceDescriptors/{resource_type}"`. The `{resource_type}` is a predefined type, such as `cloudsql_database`. (required)
+  x__xgafv: string, V1 error format.
+
+Returns:
+  An object of the form:
+
+    { # An object that describes the schema of a MonitoredResource object using a type name and a set of labels. For example, the monitored resource descriptor for Google Compute Engine VM instances has a type of `"gce_instance"` and specifies the use of the labels `"instance_id"` and `"zone"` to identify particular VM instances. Different APIs can support different monitored resource types. APIs generally provide a `list` method that returns the monitored resource descriptors used by the API.
+    "displayName": "A String", # Optional. A concise name for the monitored resource type that might be displayed in user interfaces. For example, `"Google Cloud SQL Database"`.
+    "labels": [ # Required. A set of labels used to describe instances of this monitored resource type. For example, an individual Google Cloud SQL database is identified by values for the labels `"database_id"` and `"zone"`.
+      { # A description of a label.
+        "valueType": "A String", # The type of data that can be assigned to the label.
+        "description": "A String", # A human-readable description for the label.
+        "key": "A String", # The label key.
+      },
+    ],
+    "type": "A String", # Required. The monitored resource type. For example, the type `"cloudsql_database"` represents databases in Google Cloud SQL.
+    "name": "A String", # Optional. The resource name of the monitored resource descriptor: `"projects/{project_id}/monitoredResourceDescriptors/{type}"` where {type} is the value of the `type` field in this object and {project_id} is a project ID that provides API-specific context for accessing the type. APIs that do not use project information can use the resource name format `"monitoredResourceDescriptors/{type}"`.
+    "description": "A String", # Optional. A detailed description of the monitored resource type that might be used in documentation.
+  }
+
+ +
+ list(name, pageSize=None, filter=None, pageToken=None, x__xgafv=None) +
Lists monitored resource descriptors that match a filter. This method does not require a Stackdriver account.
+
+Args:
+  name: string, The project on which to execute the request. The format is `"projects/{project_id_or_number}"`. (required)
+  pageSize: integer, A positive number that is the maximum number of results to return.
+  filter: string, An optional [filter](/monitoring/api/v3/filters) describing the descriptors to be returned. The filter can reference the descriptor's type and labels. For example, the following filter returns only Google Compute Engine descriptors that have an `id` label: resource.type = starts_with("gce_") AND resource.label:id
+  pageToken: string, If this field is not empty then it must contain the `nextPageToken` value returned by a previous call to this method. Using this field causes the method to return additional results from the previous method call.
+  x__xgafv: string, V1 error format.
+
+Returns:
+  An object of the form:
+
+    { # The `ListMonitoredResourcDescriptors` response.
+    "nextPageToken": "A String", # If there are more results than have been returned, then this field is set to a non-empty value. To see the additional results, use that value as `pageToken` in the next call to this method.
+    "resourceDescriptors": [ # The monitored resource descriptors that are available to this project and that match `filter`, if present.
+      { # An object that describes the schema of a MonitoredResource object using a type name and a set of labels. For example, the monitored resource descriptor for Google Compute Engine VM instances has a type of `"gce_instance"` and specifies the use of the labels `"instance_id"` and `"zone"` to identify particular VM instances. Different APIs can support different monitored resource types. APIs generally provide a `list` method that returns the monitored resource descriptors used by the API.
+        "displayName": "A String", # Optional. A concise name for the monitored resource type that might be displayed in user interfaces. For example, `"Google Cloud SQL Database"`.
+        "labels": [ # Required. A set of labels used to describe instances of this monitored resource type. For example, an individual Google Cloud SQL database is identified by values for the labels `"database_id"` and `"zone"`.
+          { # A description of a label.
+            "valueType": "A String", # The type of data that can be assigned to the label.
+            "description": "A String", # A human-readable description for the label.
+            "key": "A String", # The label key.
+          },
+        ],
+        "type": "A String", # Required. The monitored resource type. For example, the type `"cloudsql_database"` represents databases in Google Cloud SQL.
+        "name": "A String", # Optional. The resource name of the monitored resource descriptor: `"projects/{project_id}/monitoredResourceDescriptors/{type}"` where {type} is the value of the `type` field in this object and {project_id} is a project ID that provides API-specific context for accessing the type. APIs that do not use project information can use the resource name format `"monitoredResourceDescriptors/{type}"`.
+        "description": "A String", # Optional. A detailed description of the monitored resource type that might be used in documentation.
+      },
+    ],
+  }
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    
+
+ + \ No newline at end of file diff --git a/docs/dyn/monitoring_v3.projects.timeSeries.html b/docs/dyn/monitoring_v3.projects.timeSeries.html new file mode 100644 index 00000000000..8c5a7294a1a --- /dev/null +++ b/docs/dyn/monitoring_v3.projects.timeSeries.html @@ -0,0 +1,271 @@ + + + +

Google Monitoring API . projects . timeSeries

+

Instance Methods

+

+ create(name, body, x__xgafv=None)

+

Creates or adds data to one or more time series. The response is empty if all time series in the request were written. If any time series could not be written, a corresponding failure message is included in the error response.

+

+ list(name, orderBy=None, pageSize=None, x__xgafv=None, aggregation_alignmentPeriod=None, pageToken=None, aggregation_groupByFields=None, aggregation_perSeriesAligner=None, interval_endTime=None, aggregation_crossSeriesReducer=None, filter=None, interval_startTime=None, view=None)

+

Lists time series that match a filter. This method does not require a Stackdriver account.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

Method Details

+
+ create(name, body, x__xgafv=None) +
Creates or adds data to one or more time series. The response is empty if all time series in the request were written. If any time series could not be written, a corresponding failure message is included in the error response.
+
+Args:
+  name: string, The project on which to execute the request. The format is `"projects/{project_id_or_number}"`. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # The `CreateTimeSeries` request.
+    "timeSeries": [ # The new data to be added to a list of time series. Adds at most one data point to each of several time series. The new data point must be more recent than any other point in its time series. Each `TimeSeries` value must fully specify a unique time series by supplying all label values for the metric and the monitored resource.
+      { # A collection of data points that describes the time-varying nature of a metric. A time series is identified by a combination of a fully-specified monitored resource and a fully-specified metric.
+        "metricKind": "A String", # The metric kind of the time series. This can be different than the metric kind specified in [google.api.MetricDescriptor] because of alignment and reduction operations on the data. This field is ignored when writing data; the value specified in the descriptor is used instead. @OutputOnly
+        "metric": { # A specific metric identified by specifying values for all of the labels of a `MetricDescriptor`. # The fully-specified metric used to identify the time series.
+          "labels": { # The set of labels that uniquely identify a metric. To specify a metric, all labels enumerated in the `MetricDescriptor` must be assigned values.
+            "a_key": "A String",
+          },
+          "type": "A String", # An existing metric type, see google.api.MetricDescriptor. For example, `compute.googleapis.com/instance/cpu/usage_time`.
+        },
+        "points": [ # The data points of this time series. When used as output, points will be sorted by decreasing time order. When used as input, points could be written in any orders.
+          { # A single data point in a time series.
+            "interval": { # A time interval extending from after `startTime` through `endTime`. If `startTime` is omitted, the interval is the single point in time, `endTime`. # The time interval to which the value applies.
+              "endTime": "A String", # Required. The end of the interval. The interval includes this time.
+              "startTime": "A String", # If this value is omitted, the interval is a point in time, `endTime`. If `startTime` is present, it must be earlier than (less than) `endTime`. The interval begins after `startTime`—it does not include `startTime`.
+            },
+            "value": { # A single strongly-typed value. # The value of the data point.
+              "distributionValue": { # Distribution contains summary statistics for a population of values and, optionally, a histogram representing the distribution of those values across a specified set of histogram buckets. The summary statistics are the count, mean, sum of the squared deviation from the mean, the minimum, and the maximum of the set of population of values. The histogram is based on a sequence of buckets and gives a count of values that fall into each bucket. The boundaries of the buckets are given either explicitly or by specifying parameters for a method of computing them (buckets of fixed width or buckets of exponentially increasing width). Although it is not forbidden, it is generally a bad idea to include non-finite values (infinities or NaNs) in the population of values, as this will render the `mean` and `sum_of_squared_deviation` fields meaningless. # A distribution value.
+                "count": "A String", # The number of values in the population. Must be non-negative.
+                "bucketCounts": [ # If `bucket_options` is given, then the sum of the values in `bucket_counts` must equal the value in `count`. If `bucket_options` is not given, no `bucket_counts` fields may be given. Bucket counts are given in order under the numbering scheme described above (the underflow bucket has number 0; the finite buckets, if any, have numbers 1 through N-2; the overflow bucket has number N-1). The size of `bucket_counts` must be no greater than N as defined in `bucket_options`. Any suffix of trailing zero bucket_count fields may be omitted.
+                  "A String",
+                ],
+                "bucketOptions": { # A Distribution may optionally contain a histogram of the values in the population. The histogram is given in `bucket_counts` as counts of values that fall into one of a sequence of non-overlapping buckets. The sequence of buckets is described by `bucket_options`. A bucket specifies an inclusive lower bound and exclusive upper bound for the values that are counted for that bucket. The upper bound of a bucket is strictly greater than the lower bound. The sequence of N buckets for a Distribution consists of an underflow bucket (number 0), zero or more finite buckets (number 1 through N - 2) and an overflow bucket (number N - 1). The buckets are contiguous: the lower bound of bucket i (i > 0) is the same as the upper bound of bucket i - 1. The buckets span the whole range of finite values: lower bound of the underflow bucket is -infinity and the upper bound of the overflow bucket is +infinity. The finite buckets are so-called because both bounds are finite. `BucketOptions` describes bucket boundaries in one of three ways. Two describe the boundaries by giving parameters for a formula to generate boundaries and one gives the bucket boundaries explicitly. If `bucket_boundaries` is not given, then no `bucket_counts` may be given. # Defines the histogram bucket boundaries.
+                  "exponentialBuckets": { # Specify a sequence of buckets that have a width that is proportional to the value of the lower bound. Each bucket represents a constant relative uncertainty on a specific value in the bucket. Defines `num_finite_buckets + 2` (= N) buckets with these boundaries for bucket i: Upper bound (0 <= i < N-1): scale * (growth_factor ^ i). Lower bound (1 <= i < N): scale * (growth_factor ^ (i - 1)). # The exponential buckets.
+                    "scale": 3.14, # Must be greater than 0
+                    "growthFactor": 3.14, # Must be greater than 1
+                    "numFiniteBuckets": 42, # must be greater than 0
+                  },
+                  "linearBuckets": { # Specify a sequence of buckets that all have the same width (except overflow and underflow). Each bucket represents a constant absolute uncertainty on the specific value in the bucket. Defines `num_finite_buckets + 2` (= N) buckets with these boundaries for bucket `i`: Upper bound (0 <= i < N-1): offset + (width * i). Lower bound (1 <= i < N): offset + (width * (i - 1)). # The linear bucket.
+                    "width": 3.14, # Must be greater than 0.
+                    "numFiniteBuckets": 42, # Must be greater than 0.
+                    "offset": 3.14, # Lower bound of the first bucket.
+                  },
+                  "explicitBuckets": { # A set of buckets with arbitrary widths. Defines `size(bounds) + 1` (= N) buckets with these boundaries for bucket i: Upper bound (0 <= i < N-1): bounds[i] Lower bound (1 <= i < N); bounds[i - 1] There must be at least one element in `bounds`. If `bounds` has only one element, there are no finite buckets, and that single element is the common boundary of the overflow and underflow buckets. # The explicit buckets.
+                    "bounds": [ # The values must be monotonically increasing.
+                      3.14,
+                    ],
+                  },
+                },
+                "range": { # The range of the population values. # If specified, contains the range of the population values. The field must not be present if the `count` is zero.
+                  "max": 3.14, # The maximum of the population values.
+                  "min": 3.14, # The minimum of the population values.
+                },
+                "sumOfSquaredDeviation": 3.14, # The sum of squared deviations from the mean of the values in the population. For values x_i this is: Sum[i=1..n]((x_i - mean)^2) Knuth, "The Art of Computer Programming", Vol. 2, page 323, 3rd edition describes Welford's method for accumulating this sum in one pass. If `count` is zero then this field must be zero.
+                "mean": 3.14, # The arithmetic mean of the values in the population. If `count` is zero then this field must be zero.
+              },
+              "stringValue": "A String", # A variable-length string value.
+              "boolValue": True or False, # A Boolean value: `true` or `false`.
+              "int64Value": "A String", # A 64-bit integer. Its range is approximately ±9.2x1018.
+              "doubleValue": 3.14, # A 64-bit double-precision floating-point number. Its magnitude is approximately ±10±300 and it has 16 significant digits of precision.
+            },
+          },
+        ],
+        "resource": { # An object representing a resource that can be used for monitoring, logging, billing, or other purposes. Examples include virtual machine instances, databases, and storage devices such as disks. The `type` field identifies a MonitoredResourceDescriptor object that describes the resource's schema. Information in the `labels` field identifies the actual resource and its attributes according to the schema. For example, a particular Compute Engine VM instance could be represented by the following object, because the MonitoredResourceDescriptor for `"gce_instance"` has labels `"instance_id"` and `"zone"`: { "type": "gce_instance", "labels": { "instance_id": "my-instance", "zone": "us-central1-a" }} # The fully-specified monitored resource used to identify the time series.
+          "labels": { # Required. Values for all of the labels listed in the associated monitored resource descriptor. For example, Cloud SQL databases use the labels `"database_id"` and `"zone"`.
+            "a_key": "A String",
+          },
+          "type": "A String", # Required. The monitored resource type. This field must match the `type` field of a MonitoredResourceDescriptor object. For example, the type of a Cloud SQL database is `"cloudsql_database"`.
+        },
+        "valueType": "A String", # The value type of the time series. This can be different than the value type specified in [google.api.MetricDescriptor] because of alignment and reduction operations on the data. This field is ignored when writing data; the value specified in the descriptor is used instead. @OutputOnly
+      },
+    ],
+  }
+
+  x__xgafv: string, V1 error format.
+
+Returns:
+  An object of the form:
+
+    { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.
+  }
+
+ +
+ list(name, orderBy=None, pageSize=None, x__xgafv=None, aggregation_alignmentPeriod=None, pageToken=None, aggregation_groupByFields=None, aggregation_perSeriesAligner=None, interval_endTime=None, aggregation_crossSeriesReducer=None, filter=None, interval_startTime=None, view=None) +
Lists time series that match a filter. This method does not require a Stackdriver account.
+
+Args:
+  name: string, The project on which to execute the request. The format is "projects/{project_id_or_number}". (required)
+  orderBy: string, Specifies the order in which the points of the time series should be returned. By default, results are not ordered. Currently, this field must be left blank.
+  pageSize: integer, A positive number that is the maximum number of results to return. When `view` field sets to `FULL`, it limits the number of `Points` server will return; if `view` field is `HEADERS`, it limits the number of `TimeSeries` server will return.
+  x__xgafv: string, V1 error format.
+  aggregation_alignmentPeriod: string, The alignment period for per-[time series](TimeSeries) alignment. If present, `alignmentPeriod` must be at least 60 seconds. After per-time series alignment, each time series will contain data points only on the period boundaries. If `perSeriesAligner` is not specified or equals `ALIGN_NONE`, then this field is ignored. If `perSeriesAligner` is specified and does not equal `ALIGN_NONE`, then this field must be defined; otherwise an error is returned.
+  pageToken: string, If this field is not empty then it must contain the `nextPageToken` value returned by a previous call to this method. Using this field causes the method to return additional results from the previous method call.
+  aggregation_groupByFields: string, The set of fields to preserve when `crossSeriesReducer` is specified. The `groupByFields` determine how the time series are partitioned into subsets prior to applying the aggregation function. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `crossSeriesReducer` is applied to each subset of time series. Fields not specified in `groupByFields` are aggregated away. If `groupByFields` is not specified, the time series are aggregated into a single output time series. If `crossSeriesReducer` is not defined, this field is ignored. (repeated)
+  aggregation_perSeriesAligner: string, The approach to be used to align individual time series. Not all alignment functions may be applied to all time series, depending on the metric type and value type of the original time series. Alignment may change the metric type or the value type of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `crossSeriesReducer` is specified, then `perSeriesAligner` must be specified and not equal `ALIGN_NONE` and `alignmentPeriod` must be specified; otherwise, an error is returned.
+  interval_endTime: string, Required. The end of the interval. The interval includes this time.
+  aggregation_crossSeriesReducer: string, The approach to be used to combine time series. Not all reducer functions may be applied to all time series, depending on the metric type and the value type of the original time series. Reduction may change the metric type of value type of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `crossSeriesReducer` is specified, then `perSeriesAligner` must be specified and not equal `ALIGN_NONE` and `alignmentPeriod` must be specified; otherwise, an error is returned.
+  filter: string, A [monitoring filter](/monitoring/api/v3/filters) that specifies which time series should be returned. The filter must specify a single metric type, and can additionally specify metric labels and other information. For example: metric.type = "compute.googleapis.com/instance/cpu/usage_time" AND metric.label.instance_name = "my-instance-name"
+  interval_startTime: string, If this value is omitted, the interval is a point in time, `endTime`. If `startTime` is present, it must be earlier than (less than) `endTime`. The interval begins after `startTime`—it does not include `startTime`.
+  view: string, Specifies which information is returned about the time series.
+
+Returns:
+  An object of the form:
+
+    { # The `ListTimeSeries` response.
+    "nextPageToken": "A String", # If there are more results than have been returned, then this field is set to a non-empty value. To see the additional results, use that value as `pageToken` in the next call to this method.
+    "timeSeries": [ # One or more time series that match the filter included in the request.
+      { # A collection of data points that describes the time-varying nature of a metric. A time series is identified by a combination of a fully-specified monitored resource and a fully-specified metric.
+        "metricKind": "A String", # The metric kind of the time series. This can be different than the metric kind specified in [google.api.MetricDescriptor] because of alignment and reduction operations on the data. This field is ignored when writing data; the value specified in the descriptor is used instead. @OutputOnly
+        "metric": { # A specific metric identified by specifying values for all of the labels of a `MetricDescriptor`. # The fully-specified metric used to identify the time series.
+          "labels": { # The set of labels that uniquely identify a metric. To specify a metric, all labels enumerated in the `MetricDescriptor` must be assigned values.
+            "a_key": "A String",
+          },
+          "type": "A String", # An existing metric type, see google.api.MetricDescriptor. For example, `compute.googleapis.com/instance/cpu/usage_time`.
+        },
+        "points": [ # The data points of this time series. When used as output, points will be sorted by decreasing time order. When used as input, points could be written in any orders.
+          { # A single data point in a time series.
+            "interval": { # A time interval extending from after `startTime` through `endTime`. If `startTime` is omitted, the interval is the single point in time, `endTime`. # The time interval to which the value applies.
+              "endTime": "A String", # Required. The end of the interval. The interval includes this time.
+              "startTime": "A String", # If this value is omitted, the interval is a point in time, `endTime`. If `startTime` is present, it must be earlier than (less than) `endTime`. The interval begins after `startTime`—it does not include `startTime`.
+            },
+            "value": { # A single strongly-typed value. # The value of the data point.
+              "distributionValue": { # Distribution contains summary statistics for a population of values and, optionally, a histogram representing the distribution of those values across a specified set of histogram buckets. The summary statistics are the count, mean, sum of the squared deviation from the mean, the minimum, and the maximum of the set of population of values. The histogram is based on a sequence of buckets and gives a count of values that fall into each bucket. The boundaries of the buckets are given either explicitly or by specifying parameters for a method of computing them (buckets of fixed width or buckets of exponentially increasing width). Although it is not forbidden, it is generally a bad idea to include non-finite values (infinities or NaNs) in the population of values, as this will render the `mean` and `sum_of_squared_deviation` fields meaningless. # A distribution value.
+                "count": "A String", # The number of values in the population. Must be non-negative.
+                "bucketCounts": [ # If `bucket_options` is given, then the sum of the values in `bucket_counts` must equal the value in `count`. If `bucket_options` is not given, no `bucket_counts` fields may be given. Bucket counts are given in order under the numbering scheme described above (the underflow bucket has number 0; the finite buckets, if any, have numbers 1 through N-2; the overflow bucket has number N-1). The size of `bucket_counts` must be no greater than N as defined in `bucket_options`. Any suffix of trailing zero bucket_count fields may be omitted.
+                  "A String",
+                ],
+                "bucketOptions": { # A Distribution may optionally contain a histogram of the values in the population. The histogram is given in `bucket_counts` as counts of values that fall into one of a sequence of non-overlapping buckets. The sequence of buckets is described by `bucket_options`. A bucket specifies an inclusive lower bound and exclusive upper bound for the values that are counted for that bucket. The upper bound of a bucket is strictly greater than the lower bound. The sequence of N buckets for a Distribution consists of an underflow bucket (number 0), zero or more finite buckets (number 1 through N - 2) and an overflow bucket (number N - 1). The buckets are contiguous: the lower bound of bucket i (i > 0) is the same as the upper bound of bucket i - 1. The buckets span the whole range of finite values: lower bound of the underflow bucket is -infinity and the upper bound of the overflow bucket is +infinity. The finite buckets are so-called because both bounds are finite. `BucketOptions` describes bucket boundaries in one of three ways. Two describe the boundaries by giving parameters for a formula to generate boundaries and one gives the bucket boundaries explicitly. If `bucket_boundaries` is not given, then no `bucket_counts` may be given. # Defines the histogram bucket boundaries.
+                  "exponentialBuckets": { # Specify a sequence of buckets that have a width that is proportional to the value of the lower bound. Each bucket represents a constant relative uncertainty on a specific value in the bucket. Defines `num_finite_buckets + 2` (= N) buckets with these boundaries for bucket i: Upper bound (0 <= i < N-1): scale * (growth_factor ^ i). Lower bound (1 <= i < N): scale * (growth_factor ^ (i - 1)). # The exponential buckets.
+                    "scale": 3.14, # Must be greater than 0
+                    "growthFactor": 3.14, # Must be greater than 1
+                    "numFiniteBuckets": 42, # must be greater than 0
+                  },
+                  "linearBuckets": { # Specify a sequence of buckets that all have the same width (except overflow and underflow). Each bucket represents a constant absolute uncertainty on the specific value in the bucket. Defines `num_finite_buckets + 2` (= N) buckets with these boundaries for bucket `i`: Upper bound (0 <= i < N-1): offset + (width * i). Lower bound (1 <= i < N): offset + (width * (i - 1)). # The linear bucket.
+                    "width": 3.14, # Must be greater than 0.
+                    "numFiniteBuckets": 42, # Must be greater than 0.
+                    "offset": 3.14, # Lower bound of the first bucket.
+                  },
+                  "explicitBuckets": { # A set of buckets with arbitrary widths. Defines `size(bounds) + 1` (= N) buckets with these boundaries for bucket i: Upper bound (0 <= i < N-1): bounds[i] Lower bound (1 <= i < N); bounds[i - 1] There must be at least one element in `bounds`. If `bounds` has only one element, there are no finite buckets, and that single element is the common boundary of the overflow and underflow buckets. # The explicit buckets.
+                    "bounds": [ # The values must be monotonically increasing.
+                      3.14,
+                    ],
+                  },
+                },
+                "range": { # The range of the population values. # If specified, contains the range of the population values. The field must not be present if the `count` is zero.
+                  "max": 3.14, # The maximum of the population values.
+                  "min": 3.14, # The minimum of the population values.
+                },
+                "sumOfSquaredDeviation": 3.14, # The sum of squared deviations from the mean of the values in the population. For values x_i this is: Sum[i=1..n]((x_i - mean)^2) Knuth, "The Art of Computer Programming", Vol. 2, page 323, 3rd edition describes Welford's method for accumulating this sum in one pass. If `count` is zero then this field must be zero.
+                "mean": 3.14, # The arithmetic mean of the values in the population. If `count` is zero then this field must be zero.
+              },
+              "stringValue": "A String", # A variable-length string value.
+              "boolValue": True or False, # A Boolean value: `true` or `false`.
+              "int64Value": "A String", # A 64-bit integer. Its range is approximately ±9.2x1018.
+              "doubleValue": 3.14, # A 64-bit double-precision floating-point number. Its magnitude is approximately ±10±300 and it has 16 significant digits of precision.
+            },
+          },
+        ],
+        "resource": { # An object representing a resource that can be used for monitoring, logging, billing, or other purposes. Examples include virtual machine instances, databases, and storage devices such as disks. The `type` field identifies a MonitoredResourceDescriptor object that describes the resource's schema. Information in the `labels` field identifies the actual resource and its attributes according to the schema. For example, a particular Compute Engine VM instance could be represented by the following object, because the MonitoredResourceDescriptor for `"gce_instance"` has labels `"instance_id"` and `"zone"`: { "type": "gce_instance", "labels": { "instance_id": "my-instance", "zone": "us-central1-a" }} # The fully-specified monitored resource used to identify the time series.
+          "labels": { # Required. Values for all of the labels listed in the associated monitored resource descriptor. For example, Cloud SQL databases use the labels `"database_id"` and `"zone"`.
+            "a_key": "A String",
+          },
+          "type": "A String", # Required. The monitored resource type. This field must match the `type` field of a MonitoredResourceDescriptor object. For example, the type of a Cloud SQL database is `"cloudsql_database"`.
+        },
+        "valueType": "A String", # The value type of the time series. This can be different than the value type specified in [google.api.MetricDescriptor] because of alignment and reduction operations on the data. This field is ignored when writing data; the value specified in the descriptor is used instead. @OutputOnly
+      },
+    ],
+  }
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    
+
+ + \ No newline at end of file diff --git a/docs/dyn/playmoviespartner_v1.accounts.avails.html b/docs/dyn/playmoviespartner_v1.accounts.avails.html index 678ba195f07..92a8f8c38ec 100644 --- a/docs/dyn/playmoviespartner_v1.accounts.avails.html +++ b/docs/dyn/playmoviespartner_v1.accounts.avails.html @@ -75,14 +75,68 @@

Google Play Movies Partner API . accounts . avails

Instance Methods

- list(accountId, pphNames=None, pageSize=None, territories=None, x__xgafv=None, title=None, studioNames=None, pageToken=None, videoIds=None, altId=None)

+ get(accountId, availId, x__xgafv=None)

+

Get an Avail given its avail group id and avail id.

+

+ list(accountId, pphNames=None, pageSize=None, territories=None, altIds=None, x__xgafv=None, title=None, studioNames=None, pageToken=None, videoIds=None, altId=None)

List Avails owned or managed by the partner. See _Authentication and Authorization rules_ and _List methods rules_ for more information about this method.

list_next(previous_request, previous_response)

Retrieves the next page of results.

Method Details

- list(accountId, pphNames=None, pageSize=None, territories=None, x__xgafv=None, title=None, studioNames=None, pageToken=None, videoIds=None, altId=None) + get(accountId, availId, x__xgafv=None) +
Get an Avail given its avail group id and avail id.
+
+Args:
+  accountId: string, REQUIRED. See _General rules_ for more information about this field. (required)
+  availId: string, REQUIRED. Avail ID. (required)
+  x__xgafv: string, V1 error format.
+
+Returns:
+  An object of the form:
+
+    { # An Avail describes the Availability Window of a specific Edit in a given country, which means the period Google is allowed to sell or rent the Edit. Avails are exposed in EMA format Version 1.6b (available at http://www.movielabs.com/md/avails/) Studios can see the Avails for the Titles they own. Post-production houses cannot see any Avails.
+    "pphNames": [ # Name of the post-production houses that manage the Avail. Not part of EMA Specs.
+      "A String",
+    ],
+    "licenseType": "A String", # Type of transaction.
+    "captionIncluded": True or False, # Communicating if caption file will be delivered.
+    "releaseDate": "A String", # Release date of the Title in earliest released territory. Typically it is just the year, but it is free-form as per EMA spec. Examples: "1979", "Oct 2014"
+    "episodeAltId": "A String", # Other identifier referring to the episode, as defined by partner. Only available on TV avails. Example: "rs_googlers_s1_3".
+    "episodeTitleInternalAlias": "A String", # OPTIONAL.TV Only. Title used by involved parties to refer to this episode. Only available on TV Avails. Example: "Coding at Google".
+    "availId": "A String", # ID internally generated by Google to uniquely identify an Avail. Not part of EMA Specs.
+    "end": "A String", # End of term in YYYY-MM-DD format in the timezone of the country of the Avail. "Open" if no end date is available. Example: "2019-02-17"
+    "altId": "A String", # Other identifier referring to the Edit, as defined by partner. Example: "GOOGLER_2006"
+    "seriesAltId": "A String", # Other identifier referring to the series, as defined by partner. Only available on TV avails. Example: "rs_googlers".
+    "start": "A String", # Start of term in YYYY-MM-DD format in the timezone of the country of the Avail. Example: "2013-05-14".
+    "titleInternalAlias": "A String", # Title used by involved parties to refer to this content. Example: "Googlers, The". Only available on Movie Avails.
+    "seasonTitleInternalAlias": "A String", # Title used by involved parties to refer to this season. Only available on TV Avails. Example: "Googlers, The".
+    "territory": "A String", # ISO 3166-1 alpha-2 country code for the country or territory of this Avail. For Avails, we use Territory in lieu of Country to comply with EMA specifications. But please note that Territory and Country identify the same thing. Example: "US".
+    "productId": "A String", # Edit Identifier. This should be the Edit Level EIDR. Example: "10.2340/1489-49A2-3956-4B2D-FE16-6"
+    "storeLanguage": "A String", # Spoken language of the intended audience. Language shall be encoded in accordance with RFC 5646. Example: "fr".
+    "seasonNumber": "A String", # The number assigned to the season within a series. Only available on TV Avails. Example: "1".
+    "episodeNumber": "A String", # The number assigned to the episode within a season. Only available on TV Avails. Example: "3".
+    "formatProfile": "A String", # Indicates the format profile covered by the transaction.
+    "priceValue": "A String", # Value to be applied to the pricing type. Example: "4" or "2.99"
+    "videoId": "A String", # Google-generated ID identifying the video linked to this Avail, once delivered. Not part of EMA Specs. Example: 'gtry456_xc'
+    "ratingReason": "A String", # Value representing the rating reason. Rating reasons should be formatted as per [EMA ratings spec](http://www.movielabs.com/md/ratings/) and comma-separated for inclusion of multiple reasons. Example: "L, S, V"
+    "captionExemption": "A String", # Communicating an exempt category as defined by FCC regulations. It is not required for non-US Avails. Example: "1"
+    "workType": "A String", # Work type as enumerated in EMA.
+    "ratingValue": "A String", # Value representing the rating. Ratings should be formatted as per http://www.movielabs.com/md/ratings/ Example: "PG"
+    "displayName": "A String", # The name of the studio that owns the Edit referred in the Avail. This is the equivalent of `studio_name` in other resources, but it follows the EMA nomenclature. Example: "Google Films".
+    "seasonAltId": "A String", # Other identifier referring to the season, as defined by partner. Only available on TV avails. Example: "rs_googlers_s1".
+    "contentId": "A String", # Title Identifier. This should be the Title Level EIDR. Example: "10.5240/1489-49A2-3956-4B2D-FE16-5".
+    "ratingSystem": "A String", # Rating system applied to the version of title within territory of Avail. Rating systems should be formatted as per [EMA ratings spec](http://www.movielabs.com/md/ratings/) Example: "MPAA"
+    "encodeId": "A String", # Manifestation Identifier. This should be the Manifestation Level EIDR. Example: "10.2340/1489-49A2-3956-4B2D-FE16-7"
+    "seriesTitleInternalAlias": "A String", # Title used by involved parties to refer to this series. Only available on TV Avails. Example: "Googlers, The".
+    "suppressionLiftDate": "A String", # First date an Edit could be publically announced as becoming available at a specific future date in territory of Avail. *Not* the Avail start date or pre-order start date. Format is YYYY-MM-DD. Only available for pre-orders. Example: "2012-12-10"
+    "priceType": "A String", # Type of pricing that should be applied to this Avail based on how the partner classify them. Example: "Tier", "WSP", "SRP", or "Category".
+  }
+
+ +
+ list(accountId, pphNames=None, pageSize=None, territories=None, altIds=None, x__xgafv=None, title=None, studioNames=None, pageToken=None, videoIds=None, altId=None)
List Avails owned or managed by the partner. See _Authentication and Authorization rules_ and _List methods rules_ for more information about this method.
 
 Args:
@@ -90,18 +144,20 @@ 

Method Details

pphNames: string, See _List methods rules_ for info about this field. (repeated) pageSize: integer, See _List methods rules_ for info about this field. territories: string, Filter Avails that match (case-insensitive) any of the given country codes, using the "ISO 3166-1 alpha-2" format (examples: "US", "us", "Us"). (repeated) + altIds: string, Filter Avails that match (case-insensitive) any of the given partner-specific custom ids. (repeated) x__xgafv: string, V1 error format. - title: string, Filter Avails that match a case-insensitive substring of the default Title name. + title: string, Filter that matches Avails with a `title_internal_alias`, `series_title_internal_alias`, `season_title_internal_alias`, or `episode_title_internal_alias` that contains the given case-insensitive title. studioNames: string, See _List methods rules_ for info about this field. (repeated) pageToken: string, See _List methods rules_ for info about this field. videoIds: string, Filter Avails that match any of the given `video_id`s. (repeated) - altId: string, Filter Avails that match a case-insensitive, partner-specific custom id. + altId: string, Filter Avails that match a case-insensitive, partner-specific custom id. NOTE: this field is deprecated and will be removed on V2; `alt_ids` should be used instead. Returns: An object of the form: { # Response to the 'ListAvails' method. "nextPageToken": "A String", # See _List methods rules_ for info about this field. + "totalSize": 42, # See _List methods rules_ for more information about this field. "avails": [ # List of Avails that match the request criteria. { # An Avail describes the Availability Window of a specific Edit in a given country, which means the period Google is allowed to sell or rent the Edit. Avails are exposed in EMA format Version 1.6b (available at http://www.movielabs.com/md/avails/) Studios can see the Avails for the Titles they own. Post-production houses cannot see any Avails. "pphNames": [ # Name of the post-production houses that manage the Avail. Not part of EMA Specs. @@ -112,7 +168,7 @@

Method Details

"releaseDate": "A String", # Release date of the Title in earliest released territory. Typically it is just the year, but it is free-form as per EMA spec. Examples: "1979", "Oct 2014" "episodeAltId": "A String", # Other identifier referring to the episode, as defined by partner. Only available on TV avails. Example: "rs_googlers_s1_3". "episodeTitleInternalAlias": "A String", # OPTIONAL.TV Only. Title used by involved parties to refer to this episode. Only available on TV Avails. Example: "Coding at Google". - "episodeNumber": "A String", # The number assigned to the episode within a season. Only available on TV Avails. Example: "3". + "availId": "A String", # ID internally generated by Google to uniquely identify an Avail. Not part of EMA Specs. "end": "A String", # End of term in YYYY-MM-DD format in the timezone of the country of the Avail. "Open" if no end date is available. Example: "2019-02-17" "altId": "A String", # Other identifier referring to the Edit, as defined by partner. Example: "GOOGLER_2006" "seriesAltId": "A String", # Other identifier referring to the series, as defined by partner. Only available on TV avails. Example: "rs_googlers". @@ -123,13 +179,14 @@

Method Details

"productId": "A String", # Edit Identifier. This should be the Edit Level EIDR. Example: "10.2340/1489-49A2-3956-4B2D-FE16-6" "storeLanguage": "A String", # Spoken language of the intended audience. Language shall be encoded in accordance with RFC 5646. Example: "fr". "seasonNumber": "A String", # The number assigned to the season within a series. Only available on TV Avails. Example: "1". - "ratingValue": "A String", # Value representing the rating. Ratings should be formatted as per http://www.movielabs.com/md/ratings/ Example: "PG" + "episodeNumber": "A String", # The number assigned to the episode within a season. Only available on TV Avails. Example: "3". "formatProfile": "A String", # Indicates the format profile covered by the transaction. "priceValue": "A String", # Value to be applied to the pricing type. Example: "4" or "2.99" "videoId": "A String", # Google-generated ID identifying the video linked to this Avail, once delivered. Not part of EMA Specs. Example: 'gtry456_xc' "ratingReason": "A String", # Value representing the rating reason. Rating reasons should be formatted as per [EMA ratings spec](http://www.movielabs.com/md/ratings/) and comma-separated for inclusion of multiple reasons. Example: "L, S, V" "captionExemption": "A String", # Communicating an exempt category as defined by FCC regulations. It is not required for non-US Avails. Example: "1" "workType": "A String", # Work type as enumerated in EMA. + "ratingValue": "A String", # Value representing the rating. Ratings should be formatted as per http://www.movielabs.com/md/ratings/ Example: "PG" "displayName": "A String", # The name of the studio that owns the Edit referred in the Avail. This is the equivalent of `studio_name` in other resources, but it follows the EMA nomenclature. Example: "Google Films". "seasonAltId": "A String", # Other identifier referring to the season, as defined by partner. Only available on TV avails. Example: "rs_googlers_s1". "contentId": "A String", # Title Identifier. This should be the Title Level EIDR. Example: "10.5240/1489-49A2-3956-4B2D-FE16-5". diff --git a/docs/dyn/playmoviespartner_v1.accounts.components.html b/docs/dyn/playmoviespartner_v1.accounts.components.html new file mode 100644 index 00000000000..05ac459ba4c --- /dev/null +++ b/docs/dyn/playmoviespartner_v1.accounts.components.html @@ -0,0 +1,172 @@ + + + +

Google Play Movies Partner API . accounts . components

+

Instance Methods

+

+ type() +

+

Returns the type Resource.

+ +

+ list(accountId, pphNames=None, pageSize=None, editLevelEidr=None, x__xgafv=None, playableSequenceId=None, studioNames=None, filename=None, pageToken=None, customId=None, status=None, titleLevelEidr=None, presentationId=None, inventoryId=None, altCutId=None, elId=None)

+

List Components owned or managed by the partner. See _Authentication and Authorization rules_ and _List methods rules_ for more information about this method.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

Method Details

+
+ list(accountId, pphNames=None, pageSize=None, editLevelEidr=None, x__xgafv=None, playableSequenceId=None, studioNames=None, filename=None, pageToken=None, customId=None, status=None, titleLevelEidr=None, presentationId=None, inventoryId=None, altCutId=None, elId=None) +
List Components owned or managed by the partner. See _Authentication and Authorization rules_ and _List methods rules_ for more information about this method.
+
+Args:
+  accountId: string, REQUIRED. See _General rules_ for more information about this field. (required)
+  pphNames: string, See _List methods rules_ for info about this field. (repeated)
+  pageSize: integer, See _List methods rules_ for info about this field.
+  editLevelEidr: string, Filter Components that match a given edit-level EIDR.
+  x__xgafv: string, V1 error format.
+  playableSequenceId: string, PlayableSequenceID available in Common Manifest.
+  studioNames: string, See _List methods rules_ for info about this field. (repeated)
+  filename: string, Filter Components that match a case-insensitive substring of the physical name of the delivered file.
+  pageToken: string, See _List methods rules_ for info about this field.
+  customId: string, Filter Components that match a case-insensitive partner-specific custom id.
+  status: string, Filter Components that match one of the given status. (repeated)
+  titleLevelEidr: string, Filter Components that match a given title-level EIDR.
+  presentationId: string, PresentationID available in Common Manifest.
+  inventoryId: string, InventoryID available in Common Manifest.
+  altCutId: string, Filter Components that match a case-insensitive, partner-specific Alternative Cut ID.
+  elId: string, Experience ID, as defined by Google.
+
+Returns:
+  An object of the form:
+
+    { # Response to the 'ListComponents' method.
+    "nextPageToken": "A String", # See _List methods rules_ for info about this field.
+    "totalSize": 42, # See _List methods rules_ for more information about this field.
+    "components": [ # List of Components that match the request criteria.
+      { # A Component is an element (audio, video, subtitle, artwork, trailer, etc...) that is used in a set of ExperienceLocales. A Component is owned by a Studio and managed either by the Studio itself or by one Post-Production House. Each Component is identified by a `component_id` and its `type`.
+        "altCutIds": [ # List of Alternative Cut IDs, sometimes available in lieu of the main Edit-level EIDR IDs. This is not an EIDR ID, but a Partner-provided ID. Example: "206346_79838".
+          "A String",
+        ],
+        "processingErrors": [ # Processing errors during XML file parsing. Example: 'Invalid input file'
+          "A String",
+        ],
+        "studioName": "A String", # Name of the studio that owns the Component.
+        "rejectionNote": "A String", # Notes explaining why a Component has been rejected.
+        "titleLevelEidrs": [ # List of Title-level EIDR IDs. Example: "10.5240/1489-49A2-3956-4B2D-FE16-5".
+          "A String",
+        ],
+        "playableUnitType": "A String", # Type of the playable unit for which the Component is intended.
+        "receivedTime": "A String", # Timestamp when the Component was received.
+        "filename": "A String", # File name of the Component when delivered.
+        "priority": 3.14, # Component priority, as defined by Google. The higher the value, the higher the priority.
+        "editLevelEidrs": [ # List of Edit-level EIDR IDs. Example: "10.5240/1489-49A2-3956-4B2D-FE16-6".
+          "A String",
+        ],
+        "type": "A String", # Type of the Component. Example: AUDIO_51
+        "componentId": "A String", # ID internally generated by Google to uniquely identify the Component. Example: 'wteyrc_647xc'
+        "status": "A String", # High-level status of the Component.
+        "statusDetail": "A String", # Detailed status of the Component
+        "approvedTime": "A String", # Timestamp when the Component was approved.
+        "elIds": [ # IDs internally generated by Google to uniquely identify the ExperienceLocales for which the Component is used. Example: 'KRZiVjY9h7t'
+          "A String",
+        ],
+        "name": "A String", # Default Edit name, usually in the language of the country of origin. Example: "Googlers, The".
+        "language": "A String", # Language of the component, using the "BCP 47" format. Examples: "en", "en-US", "es", "es-419".
+        "componentDetailType": "A String", # Detail about the type of the Component.
+        "customIds": [ # List of custom IDs (defined by the partner) linked to the ExperienceLocale using this Component. Example: "R86241"
+          "A String",
+        ],
+        "pphName": "A String", # Name of the post-production house that manages the Component.
+        "normalizedPriority": "A String", # A simpler representation of the priority.
+      },
+    ],
+  }
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    
+
+ + \ No newline at end of file diff --git a/docs/dyn/playmoviespartner_v1.accounts.components.type.html b/docs/dyn/playmoviespartner_v1.accounts.components.type.html new file mode 100644 index 00000000000..8ec01d22f37 --- /dev/null +++ b/docs/dyn/playmoviespartner_v1.accounts.components.type.html @@ -0,0 +1,132 @@ + + + +

Google Play Movies Partner API . accounts . components . type

+

Instance Methods

+

+ get(accountId, componentId, type, x__xgafv=None)

+

Get a Component given its id.

+

Method Details

+
+ get(accountId, componentId, type, x__xgafv=None) +
Get a Component given its id.
+
+Args:
+  accountId: string, REQUIRED. See _General rules_ for more information about this field. (required)
+  componentId: string, REQUIRED. Component ID. (required)
+  type: string, REQUIRED. Component Type. (required)
+  x__xgafv: string, V1 error format.
+
+Returns:
+  An object of the form:
+
+    { # A Component is an element (audio, video, subtitle, artwork, trailer, etc...) that is used in a set of ExperienceLocales. A Component is owned by a Studio and managed either by the Studio itself or by one Post-Production House. Each Component is identified by a `component_id` and its `type`.
+    "altCutIds": [ # List of Alternative Cut IDs, sometimes available in lieu of the main Edit-level EIDR IDs. This is not an EIDR ID, but a Partner-provided ID. Example: "206346_79838".
+      "A String",
+    ],
+    "processingErrors": [ # Processing errors during XML file parsing. Example: 'Invalid input file'
+      "A String",
+    ],
+    "studioName": "A String", # Name of the studio that owns the Component.
+    "rejectionNote": "A String", # Notes explaining why a Component has been rejected.
+    "titleLevelEidrs": [ # List of Title-level EIDR IDs. Example: "10.5240/1489-49A2-3956-4B2D-FE16-5".
+      "A String",
+    ],
+    "playableUnitType": "A String", # Type of the playable unit for which the Component is intended.
+    "receivedTime": "A String", # Timestamp when the Component was received.
+    "filename": "A String", # File name of the Component when delivered.
+    "priority": 3.14, # Component priority, as defined by Google. The higher the value, the higher the priority.
+    "editLevelEidrs": [ # List of Edit-level EIDR IDs. Example: "10.5240/1489-49A2-3956-4B2D-FE16-6".
+      "A String",
+    ],
+    "type": "A String", # Type of the Component. Example: AUDIO_51
+    "componentId": "A String", # ID internally generated by Google to uniquely identify the Component. Example: 'wteyrc_647xc'
+    "status": "A String", # High-level status of the Component.
+    "statusDetail": "A String", # Detailed status of the Component
+    "approvedTime": "A String", # Timestamp when the Component was approved.
+    "elIds": [ # IDs internally generated by Google to uniquely identify the ExperienceLocales for which the Component is used. Example: 'KRZiVjY9h7t'
+      "A String",
+    ],
+    "name": "A String", # Default Edit name, usually in the language of the country of origin. Example: "Googlers, The".
+    "language": "A String", # Language of the component, using the "BCP 47" format. Examples: "en", "en-US", "es", "es-419".
+    "componentDetailType": "A String", # Detail about the type of the Component.
+    "customIds": [ # List of custom IDs (defined by the partner) linked to the ExperienceLocale using this Component. Example: "R86241"
+      "A String",
+    ],
+    "pphName": "A String", # Name of the post-production house that manages the Component.
+    "normalizedPriority": "A String", # A simpler representation of the priority.
+  }
+
+ + \ No newline at end of file diff --git a/docs/dyn/playmoviespartner_v1.accounts.experienceLocales.html b/docs/dyn/playmoviespartner_v1.accounts.experienceLocales.html index f0856e6919a..2a13be1d38b 100644 --- a/docs/dyn/playmoviespartner_v1.accounts.experienceLocales.html +++ b/docs/dyn/playmoviespartner_v1.accounts.experienceLocales.html @@ -149,6 +149,7 @@

Method Details

{ # Response to the 'ListExperienceLocales' method. "nextPageToken": "A String", # See _List methods rules_ for info about this field. + "totalSize": 42, # See _List methods rules_ for more information about this field. "experienceLocales": [ # List of ExperienceLocales that match the request criteria. { # An ExperienceLocale tracks the fulfillment of a Title in a country using a specific language, when delivered using component-based delivery. For example, a Title in Switzerland might have 3 ExperienceLocales: they both share the same country ("CH"), but each has different languages ("de", "fr", and "it"). Each ExperienceLocale is uniquely identified by an `el_id`, which is generated by Google. Externally, an ExperienceLocale can also be identified by partners using its EIDR IDs, AltCutID or `custom_id` (when provided). "pphNames": [ # Name of the post-production houses that manage the ExperienceLocale. diff --git a/docs/dyn/playmoviespartner_v1.accounts.html b/docs/dyn/playmoviespartner_v1.accounts.html index d3eaa885906..039e2facedc 100644 --- a/docs/dyn/playmoviespartner_v1.accounts.html +++ b/docs/dyn/playmoviespartner_v1.accounts.html @@ -79,6 +79,11 @@

Instance Methods

Returns the avails Resource.

+

+ components() +

+

Returns the components Resource.

+

experienceLocales()

diff --git a/docs/dyn/playmoviespartner_v1.accounts.orders.html b/docs/dyn/playmoviespartner_v1.accounts.orders.html index ef842d6abd6..ea1a20ded01 100644 --- a/docs/dyn/playmoviespartner_v1.accounts.orders.html +++ b/docs/dyn/playmoviespartner_v1.accounts.orders.html @@ -78,7 +78,7 @@

Instance Methods

get(accountId, orderId, x__xgafv=None)

Get an Order given its id. See _Authentication and Authorization rules_ and _Get methods rules_ for more information about this method.

- list(accountId, pphNames=None, pageSize=None, x__xgafv=None, studioNames=None, pageToken=None, customId=None, status=None, name=None)

+ list(accountId, pphNames=None, pageSize=None, x__xgafv=None, studioNames=None, pageToken=None, customId=None, status=None, videoIds=None, name=None)

List Orders owned or managed by the partner. See _Authentication and Authorization rules_ and _List methods rules_ for more information about this method.

list_next(previous_request, previous_response)

@@ -126,7 +126,7 @@

Method Details

- list(accountId, pphNames=None, pageSize=None, x__xgafv=None, studioNames=None, pageToken=None, customId=None, status=None, name=None) + list(accountId, pphNames=None, pageSize=None, x__xgafv=None, studioNames=None, pageToken=None, customId=None, status=None, videoIds=None, name=None)
List Orders owned or managed by the partner. See _Authentication and Authorization rules_ and _List methods rules_ for more information about this method.
 
 Args:
@@ -138,13 +138,15 @@ 

Method Details

pageToken: string, See _List methods rules_ for info about this field. customId: string, Filter Orders that match a case-insensitive, partner-specific custom id. status: string, Filter Orders that match one of the given status. (repeated) - name: string, Filter Orders that match a title name (case-insensitive, sub-string match). + videoIds: string, Filter Orders that match any of the given `video_id`s. (repeated) + name: string, Filter that matches Orders with a `name`, `show`, `season` or `episode` that contains the given case-insensitive name. Returns: An object of the form: { # Response to the 'ListOrders' method. "nextPageToken": "A String", # See _List methods rules_ for info about this field. + "totalSize": 42, # See _List methods rules_ for more information about this field. "orders": [ # List of Orders that match the request criteria. { # An Order tracks the fulfillment of an Edit when delivered using the legacy, non-component-based delivery. Each Order is uniquely identified by an `order_id`, which is generated by Google. Externally, Orders can also be identified by partners using its `custom_id` (when provided). "status": "A String", # High-level status of the order. diff --git a/docs/dyn/playmoviespartner_v1.accounts.storeInfos.html b/docs/dyn/playmoviespartner_v1.accounts.storeInfos.html index c9d1a969372..932843f5d22 100644 --- a/docs/dyn/playmoviespartner_v1.accounts.storeInfos.html +++ b/docs/dyn/playmoviespartner_v1.accounts.storeInfos.html @@ -80,14 +80,14 @@

Instance Methods

Returns the country Resource.

- list(accountId, pphNames=None, pageSize=None, x__xgafv=None, studioNames=None, pageToken=None, videoId=None, videoIds=None, name=None, countries=None)

+ list(accountId, pphNames=None, pageSize=None, x__xgafv=None, seasonIds=None, studioNames=None, pageToken=None, videoId=None, videoIds=None, name=None, countries=None, mids=None)

List StoreInfos owned or managed by the partner. See _Authentication and Authorization rules_ and _List methods rules_ for more information about this method.

list_next(previous_request, previous_response)

Retrieves the next page of results.

Method Details

- list(accountId, pphNames=None, pageSize=None, x__xgafv=None, studioNames=None, pageToken=None, videoId=None, videoIds=None, name=None, countries=None) + list(accountId, pphNames=None, pageSize=None, x__xgafv=None, seasonIds=None, studioNames=None, pageToken=None, videoId=None, videoIds=None, name=None, countries=None, mids=None)
List StoreInfos owned or managed by the partner. See _Authentication and Authorization rules_ and _List methods rules_ for more information about this method.
 
 Args:
@@ -95,12 +95,14 @@ 

Method Details

pphNames: string, See _List methods rules_ for info about this field. (repeated) pageSize: integer, See _List methods rules_ for info about this field. x__xgafv: string, V1 error format. + seasonIds: string, Filter StoreInfos that match any of the given `season_id`s. (repeated) studioNames: string, See _List methods rules_ for info about this field. (repeated) pageToken: string, See _List methods rules_ for info about this field. videoId: string, Filter StoreInfos that match a given `video_id`. NOTE: this field is deprecated and will be removed on V2; `video_ids` should be used instead. videoIds: string, Filter StoreInfos that match any of the given `video_id`s. (repeated) - name: string, Filter StoreInfos that match a case-insensitive substring of the default name. + name: string, Filter that matches StoreInfos with a `name` or `show_name` that contains the given case-insensitive name. countries: string, Filter StoreInfos that match (case-insensitive) any of the given country codes, using the "ISO 3166-1 alpha-2" format (examples: "US", "us", "Us"). (repeated) + mids: string, Filter StoreInfos that match any of the given `mid`s. (repeated) Returns: An object of the form: @@ -142,6 +144,7 @@

Method Details

}, ], "nextPageToken": "A String", # See 'List methods rules' for info about this field. + "totalSize": 42, # See _List methods rules_ for more information about this field. }
diff --git a/docs/dyn/prediction_v1_6.hostedmodels.html b/docs/dyn/prediction_v1_6.hostedmodels.html index 69e85d19d16..b4d79fbbb36 100644 --- a/docs/dyn/prediction_v1_6.hostedmodels.html +++ b/docs/dyn/prediction_v1_6.hostedmodels.html @@ -110,7 +110,7 @@

Method Details

"label": "A String", # The class label. }, ], - "outputValue": 3.14, # The estimated regression value (Regression models only). + "outputValue": "A String", # The estimated regression value (Regression models only). "selfLink": "A String", # A URL to re-request this resource. }
diff --git a/docs/dyn/prediction_v1_6.trainedmodels.html b/docs/dyn/prediction_v1_6.trainedmodels.html index c591ff30870..a0de1372043 100644 --- a/docs/dyn/prediction_v1_6.trainedmodels.html +++ b/docs/dyn/prediction_v1_6.trainedmodels.html @@ -376,7 +376,7 @@

Method Details

"label": "A String", # The class label. }, ], - "outputValue": 3.14, # The estimated regression value (Regression models only). + "outputValue": "A String", # The estimated regression value (Regression models only). "selfLink": "A String", # A URL to re-request this resource. }
diff --git a/docs/dyn/proximitybeacon_v1beta1.beaconinfo.html b/docs/dyn/proximitybeacon_v1beta1.beaconinfo.html index a5180583ae7..a84de446caf 100644 --- a/docs/dyn/proximitybeacon_v1beta1.beaconinfo.html +++ b/docs/dyn/proximitybeacon_v1beta1.beaconinfo.html @@ -76,11 +76,11 @@

Google Proximity Beacon API . Instance Methods

getforobserved(body, x__xgafv=None)

-

Given one or more beacon observations, returns any beacon information and attachments accessible to your application.

+

Given one or more beacon observations, returns any beacon information and attachments accessible to your application. Authorize by using the [API key](https://developers.google.com/beacons/proximity/how-tos/authorizing#APIKey) for the application.

Method Details

getforobserved(body, x__xgafv=None) -
Given one or more beacon observations, returns any beacon information and attachments accessible to your application.
+  
Given one or more beacon observations, returns any beacon information and attachments accessible to your application. Authorize by using the [API key](https://developers.google.com/beacons/proximity/how-tos/authorizing#APIKey) for the application.
 
 Args:
   body: object, The request body. (required)
@@ -89,12 +89,12 @@ 

Method Details

{ # Request for beacon and attachment information about beacons that a mobile client has encountered "in the wild". "observations": [ # The beacons that the client has encountered. At least one must be given. { # Represents one beacon observed once. - "advertisedId": { # Defines a unique identifier of a beacon as broadcast by the device. # The ID advertised by the beacon the client has encountered. Required. + "advertisedId": { # Defines a unique identifier of a beacon as broadcast by the device. # The ID advertised by the beacon the client has encountered. Clients may submit an Eddystone-EID `advertised_id`. If the client is not authorized to resolve the given Eddystone-EID, no data will be returned for that beacon. Required. "type": "A String", # Specifies the identifier type. Required. "id": "A String", # The actual beacon identifier, as broadcast by the beacon hardware. Must be [base64](http://tools.ietf.org/html/rfc4648#section-4) encoded in HTTP requests, and will be so encoded (with padding) in responses. The base64 encoding should be of the binary byte-stream and not any textual (such as hex) representation thereof. Required. }, "telemetry": "A String", # The array of telemetry bytes received from the beacon. The server is responsible for parsing it. This field may frequently be empty, as with a beacon that transmits telemetry only occasionally. - "timestampMs": "A String", # Time when the beacon was observed. Being sourced from a mobile device, this time may be suspect. + "timestampMs": "A String", # Time when the beacon was observed. }, ], "namespacedTypes": [ # Specifies what kind of attachments to include in the response. When given, the response will include only attachments of the given types. When empty, no attachments will be returned. Must be in the format namespace/type. Accepts `*` to specify all types in all namespaces. Optional. @@ -110,17 +110,16 @@

Method Details

{ # Information about the requested beacons, optionally including attachment data. "beacons": [ # Public information about beacons. May be empty if the request matched no beacons. { # A subset of beacon information served via the `beaconinfo.getforobserved` method, which you call when users of your app encounter your beacons. + "advertisedId": { # Defines a unique identifier of a beacon as broadcast by the device. # The ID advertised by the beacon. + "type": "A String", # Specifies the identifier type. Required. + "id": "A String", # The actual beacon identifier, as broadcast by the beacon hardware. Must be [base64](http://tools.ietf.org/html/rfc4648#section-4) encoded in HTTP requests, and will be so encoded (with padding) in responses. The base64 encoding should be of the binary byte-stream and not any textual (such as hex) representation thereof. Required. + }, "attachments": [ # Attachments matching the type(s) requested. May be empty if no attachment types were requested, or if none matched. { # A subset of attachment information served via the `beaconinfo.getforobserved` method, used when your users encounter your beacons. "data": "A String", # An opaque data container for client-provided data. "namespacedType": "A String", # Specifies what kind of attachment this is. Tells a client how to interpret the `data` field. Format is namespace/type, for example scrupulous-wombat-12345/welcome-message }, ], - "advertisedId": { # Defines a unique identifier of a beacon as broadcast by the device. # The ID advertised by the beacon. - "type": "A String", # Specifies the identifier type. Required. - "id": "A String", # The actual beacon identifier, as broadcast by the beacon hardware. Must be [base64](http://tools.ietf.org/html/rfc4648#section-4) encoded in HTTP requests, and will be so encoded (with padding) in responses. The base64 encoding should be of the binary byte-stream and not any textual (such as hex) representation thereof. Required. - }, - "description": "A String", # Free text used to identify or describe the beacon in a registered establishment. For example: "entrance", "room 101", etc. May be empty. "beaconName": "A String", # The name under which the beacon is registered. }, ], diff --git a/docs/dyn/proximitybeacon_v1beta1.beacons.attachments.html b/docs/dyn/proximitybeacon_v1beta1.beacons.attachments.html index 84687a75741..167c1f68ebb 100644 --- a/docs/dyn/proximitybeacon_v1beta1.beacons.attachments.html +++ b/docs/dyn/proximitybeacon_v1beta1.beacons.attachments.html @@ -75,25 +75,26 @@

Google Proximity Beacon API . beacons . attachments

Instance Methods

- batchDelete(beaconName, namespacedType=None, x__xgafv=None)

-

Deletes multiple attachments on a given beacon. This operation is permanent and cannot be undone. You can optionally specify `namespacedType` to choose which attachments should be deleted. If you do not specify `namespacedType`, all your attachments on the given beacon will be deleted. You also may explicitly specify `*/*` to delete all.

+ batchDelete(beaconName, namespacedType=None, projectId=None, x__xgafv=None)

+

Deletes multiple attachments on a given beacon. This operation is permanent and cannot be undone. You can optionally specify `namespacedType` to choose which attachments should be deleted. If you do not specify `namespacedType`, all your attachments on the given beacon will be deleted. You also may explicitly specify `*/*` to delete all. Authenticate using an [OAuth access token](https://developers.google.com/identity/protocols/OAuth2) from a signed-in user with **Is owner** or **Can edit** permissions in the Google Developers Console project.

- create(beaconName, body, x__xgafv=None)

+ create(beaconName, body, projectId=None, x__xgafv=None)

Associates the given data with the specified beacon. Attachment data must contain two parts:

- delete(attachmentName, x__xgafv=None)

-

Deletes the specified attachment for the given beacon. Each attachment has a unique attachment name (`attachmentName`) which is returned when you fetch the attachment data via this API. You specify this with the delete request to control which attachment is removed. This operation cannot be undone.

+ delete(attachmentName, projectId=None, x__xgafv=None)

+

Deletes the specified attachment for the given beacon. Each attachment has a unique attachment name (`attachmentName`) which is returned when you fetch the attachment data via this API. You specify this with the delete request to control which attachment is removed. This operation cannot be undone. Authenticate using an [OAuth access token](https://developers.google.com/identity/protocols/OAuth2) from a signed-in user with **Is owner** or **Can edit** permissions in the Google Developers Console project.

- list(beaconName, namespacedType=None, x__xgafv=None)

-

Returns the attachments for the specified beacon that match the specified namespaced-type pattern. To control which namespaced types are returned, you add the `namespacedType` query parameter to the request. You must either use `*/*`, to return all attachments, or the namespace must be one of the ones returned from the `namespaces` endpoint.

+ list(beaconName, namespacedType=None, projectId=None, x__xgafv=None)

+

Returns the attachments for the specified beacon that match the specified namespaced-type pattern. To control which namespaced types are returned, you add the `namespacedType` query parameter to the request. You must either use `*/*`, to return all attachments, or the namespace must be one of the ones returned from the `namespaces` endpoint. Authenticate using an [OAuth access token](https://developers.google.com/identity/protocols/OAuth2) from a signed-in user with **viewer**, **Is owner** or **Can edit** permissions in the Google Developers Console project.

Method Details

- batchDelete(beaconName, namespacedType=None, x__xgafv=None) -
Deletes multiple attachments on a given beacon. This operation is permanent and cannot be undone. You can optionally specify `namespacedType` to choose which attachments should be deleted. If you do not specify `namespacedType`, all your attachments on the given beacon will be deleted. You also may explicitly specify `*/*` to delete all.
+    batchDelete(beaconName, namespacedType=None, projectId=None, x__xgafv=None)
+  
Deletes multiple attachments on a given beacon. This operation is permanent and cannot be undone. You can optionally specify `namespacedType` to choose which attachments should be deleted. If you do not specify `namespacedType`, all your attachments on the given beacon will be deleted. You also may explicitly specify `*/*` to delete all. Authenticate using an [OAuth access token](https://developers.google.com/identity/protocols/OAuth2) from a signed-in user with **Is owner** or **Can edit** permissions in the Google Developers Console project.
 
 Args:
-  beaconName: string, The beacon whose attachments are to be deleted. Required. (required)
+  beaconName: string, The beacon whose attachments should be deleted. A beacon name has the format "beacons/N!beaconId" where the beaconId is the base16 ID broadcast by the beacon and N is a code for the beacon's type. Possible values are `3` for Eddystone-UID, `4` for Eddystone-EID, `1` for iBeacon, or `5` for AltBeacon. For Eddystone-EID beacons, you may use either the current EID or the beacon's "stable" UID. Required. (required)
   namespacedType: string, Specifies the namespace and type of attachments to delete in `namespace/type` format. Accepts `*/*` to specify "all types in all namespaces". Optional.
+  projectId: string, The project id to delete beacon attachments under. This field can be used when "*" is specified to mean all attachment namespaces. Projects may have multiple attachments with multiple namespaces. If "*" is specified and the projectId string is empty, then the project making the request is used. Optional.
   x__xgafv: string, V1 error format.
 
 Returns:
@@ -105,13 +106,13 @@ 

Method Details

- create(beaconName, body, x__xgafv=None) + create(beaconName, body, projectId=None, x__xgafv=None)
Associates the given data with the specified beacon. Attachment data must contain two parts:  
 - A namespaced type. 
-- The actual attachment data itself.  The namespaced type consists of two parts, the namespace and the type. The namespace must be one of the values returned by the `namespaces` endpoint, while the type can be a string of any characters except for the forward slash (`/`) up to 100 characters in length. Attachment data can be up to 1024 bytes long.
+- The actual attachment data itself.  The namespaced type consists of two parts, the namespace and the type. The namespace must be one of the values returned by the `namespaces` endpoint, while the type can be a string of any characters except for the forward slash (`/`) up to 100 characters in length. Attachment data can be up to 1024 bytes long. Authenticate using an [OAuth access token](https://developers.google.com/identity/protocols/OAuth2) from a signed-in user with **Is owner** or **Can edit** permissions in the Google Developers Console project.
 
 Args:
-  beaconName: string, The beacon on which the attachment should be created. Required. (required)
+  beaconName: string, Beacon on which the attachment should be created. A beacon name has the format "beacons/N!beaconId" where the beaconId is the base16 ID broadcast by the beacon and N is a code for the beacon's type. Possible values are `3` for Eddystone-UID, `4` for Eddystone-EID, `1` for iBeacon, or `5` for AltBeacon. For Eddystone-EID beacons, you may use either the current EID or the beacon's "stable" UID. Required. (required)
   body: object, The request body. (required)
     The object takes the form of:
 
@@ -121,6 +122,7 @@ 

Method Details

"namespacedType": "A String", # Specifies what kind of attachment this is. Tells a client how to interpret the `data` field. Format is namespace/type. Namespace provides type separation between clients. Type describes the type of `data`, for use by the client when parsing the `data` field. Required. } + projectId: string, The project id of the project the attachment will belong to. If the project id is not specified then the project making the request is used. Optional. x__xgafv: string, V1 error format. Returns: @@ -134,11 +136,12 @@

Method Details

- delete(attachmentName, x__xgafv=None) -
Deletes the specified attachment for the given beacon. Each attachment has a unique attachment name (`attachmentName`) which is returned when you fetch the attachment data via this API. You specify this with the delete request to control which attachment is removed. This operation cannot be undone.
+    delete(attachmentName, projectId=None, x__xgafv=None)
+  
Deletes the specified attachment for the given beacon. Each attachment has a unique attachment name (`attachmentName`) which is returned when you fetch the attachment data via this API. You specify this with the delete request to control which attachment is removed. This operation cannot be undone. Authenticate using an [OAuth access token](https://developers.google.com/identity/protocols/OAuth2) from a signed-in user with **Is owner** or **Can edit** permissions in the Google Developers Console project.
 
 Args:
-  attachmentName: string, The attachment name (`attachmentName`) of the attachment to remove. For example: `beacons/3!893737abc9/attachments/c5e937-af0-494-959-ec49d12738` Required. (required)
+  attachmentName: string, The attachment name (`attachmentName`) of the attachment to remove. For example: `beacons/3!893737abc9/attachments/c5e937-af0-494-959-ec49d12738`. For Eddystone-EID beacons, the beacon ID portion (`3!893737abc9`) may be the beacon's current EID, or its "stable" Eddystone-UID. Required. (required)
+  projectId: string, The project id of the attachment to delete. If not provided, the project that is making the request is used. Optional.
   x__xgafv: string, V1 error format.
 
 Returns:
@@ -149,12 +152,13 @@ 

Method Details

- list(beaconName, namespacedType=None, x__xgafv=None) -
Returns the attachments for the specified beacon that match the specified namespaced-type pattern. To control which namespaced types are returned, you add the `namespacedType` query parameter to the request. You must either use `*/*`, to return all attachments, or the namespace must be one of the ones returned from the `namespaces` endpoint.
+    list(beaconName, namespacedType=None, projectId=None, x__xgafv=None)
+  
Returns the attachments for the specified beacon that match the specified namespaced-type pattern. To control which namespaced types are returned, you add the `namespacedType` query parameter to the request. You must either use `*/*`, to return all attachments, or the namespace must be one of the ones returned from the `namespaces` endpoint. Authenticate using an [OAuth access token](https://developers.google.com/identity/protocols/OAuth2) from a signed-in user with **viewer**, **Is owner** or **Can edit** permissions in the Google Developers Console project.
 
 Args:
-  beaconName: string, The beacon whose attachments are to be fetched. Required. (required)
+  beaconName: string, Beacon whose attachments should be fetched. A beacon name has the format "beacons/N!beaconId" where the beaconId is the base16 ID broadcast by the beacon and N is a code for the beacon's type. Possible values are `3` for Eddystone-UID, `4` for Eddystone-EID, `1` for iBeacon, or `5` for AltBeacon. For Eddystone-EID beacons, you may use either the current EID or the beacon's "stable" UID. Required. (required)
   namespacedType: string, Specifies the namespace and type of attachment to include in response in namespace/type format. Accepts `*/*` to specify "all types in all namespaces".
+  projectId: string, The project id to list beacon attachments under. This field can be used when "*" is specified to mean all attachment namespaces. Projects may have multiple attachments with multiple namespaces. If "*" is specified and the projectId string is empty, then the project making the request is used. Optional.
   x__xgafv: string, V1 error format.
 
 Returns:
diff --git a/docs/dyn/proximitybeacon_v1beta1.beacons.diagnostics.html b/docs/dyn/proximitybeacon_v1beta1.beacons.diagnostics.html
index d14e521c2d7..f8863395d4c 100644
--- a/docs/dyn/proximitybeacon_v1beta1.beacons.diagnostics.html
+++ b/docs/dyn/proximitybeacon_v1beta1.beacons.diagnostics.html
@@ -75,19 +75,20 @@
 

Google Proximity Beacon API . beacons . diagnostics

Instance Methods

- list(beaconName, pageSize=None, alertFilter=None, pageToken=None, x__xgafv=None)

-

List the diagnostics for a single beacon. You can also list diagnostics for all the beacons owned by your Google Developers Console project by using the beacon name `beacons/-`.

+ list(beaconName, pageSize=None, projectId=None, alertFilter=None, pageToken=None, x__xgafv=None)

+

List the diagnostics for a single beacon. You can also list diagnostics for all the beacons owned by your Google Developers Console project by using the beacon name `beacons/-`. Authenticate using an [OAuth access token](https://developers.google.com/identity/protocols/OAuth2) from a signed-in user with **viewer**, **Is owner** or **Can edit** permissions in the Google Developers Console project.

list_next(previous_request, previous_response)

Retrieves the next page of results.

Method Details

- list(beaconName, pageSize=None, alertFilter=None, pageToken=None, x__xgafv=None) -
List the diagnostics for a single beacon. You can also list diagnostics for all the beacons owned by your Google Developers Console project by using the beacon name `beacons/-`.
+    list(beaconName, pageSize=None, projectId=None, alertFilter=None, pageToken=None, x__xgafv=None)
+  
List the diagnostics for a single beacon. You can also list diagnostics for all the beacons owned by your Google Developers Console project by using the beacon name `beacons/-`. Authenticate using an [OAuth access token](https://developers.google.com/identity/protocols/OAuth2) from a signed-in user with **viewer**, **Is owner** or **Can edit** permissions in the Google Developers Console project.
 
 Args:
   beaconName: string, Beacon that the diagnostics are for. (required)
   pageSize: integer, Specifies the maximum number of results to return. Defaults to 10. Maximum 1000. Optional.
+  projectId: string, Requests only diagnostic records for the given project id. If not set, then the project making the request will be used for looking up diagnostic records. Optional.
   alertFilter: string, Requests only beacons that have the given alert. For example, to find beacons that have low batteries use `alert_filter=LOW_BATTERY`.
   pageToken: string, Requests results that occur after the `page_token`, obtained from the response to a previous request. Optional.
   x__xgafv: string, V1 error format.
@@ -99,15 +100,15 @@ 

Method Details

"nextPageToken": "A String", # Token that can be used for pagination. Returned only if the request matches more beacons than can be returned in this response. "diagnostics": [ # The diagnostics matching the given request. { # Diagnostics for a single beacon. - "estimatedLowBatteryDate": { # Represents a whole calendar date, e.g. date of birth. The time of day and time zone are either specified elsewhere or are not significant. The date is relative to the Proleptic Gregorian Calendar. The day may be 0 to represent a year and month where the day is not significant, e.g. credit card expiration date. The year may be 0 to represent a month and day independent of year, e.g. anniversary date. Related types are [google.type.TimeOfDay][] and `google.protobuf.Timestamp`. # The date when the battery is expected to be low. If the value is missing then there is no estimate for when the battery will be low. This value is only an estimate, not an exact date. - "month": 42, # Month of year of date. Must be from 1 to 12. - "day": 42, # Day of month. Must be from 1 to 31 and valid for the year and month, or 0 if specifying a year/month where the day is not sigificant. - "year": 42, # Year of date. Must be from 1 to 9,999, or 0 if specifying a date without a year. + "estimatedLowBatteryDate": { # Represents a whole calendar date, e.g. date of birth. The time of day and time zone are either specified elsewhere or are not significant. The date is relative to the Proleptic Gregorian Calendar. The day may be 0 to represent a year and month where the day is not significant, e.g. credit card expiration date. The year may be 0 to represent a month and day independent of year, e.g. anniversary date. Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`. # The date when the battery is expected to be low. If the value is missing then there is no estimate for when the battery will be low. This value is only an estimate, not an exact date. + "month": 42, # Month of year. Must be from 1 to 12. + "day": 42, # Day of month. Must be from 1 to 31 and valid for the year and month, or 0 if specifying a year/month where the day is not significant. + "year": 42, # Year of date. Must be from 1 to 9999, or 0 if specifying a date without a year. }, "alerts": [ # An unordered list of Alerts that the beacon has. "A String", ], - "beaconName": "A String", # Resource name of the beacon. + "beaconName": "A String", # Resource name of the beacon. For Eddystone-EID beacons, this may be the beacon's current EID, or the beacon's "stable" Eddystone-UID. }, ], }
diff --git a/docs/dyn/proximitybeacon_v1beta1.beacons.html b/docs/dyn/proximitybeacon_v1beta1.beacons.html index f3ffd8208e2..afb1518507b 100644 --- a/docs/dyn/proximitybeacon_v1beta1.beacons.html +++ b/docs/dyn/proximitybeacon_v1beta1.beacons.html @@ -85,36 +85,37 @@

Instance Methods

Returns the diagnostics Resource.

- activate(beaconName, x__xgafv=None)

-

(Re)activates a beacon. A beacon that is active will return information and attachment data when queried via `beaconinfo.getforobserved`. Calling this method on an already active beacon will do nothing (but will return a successful response code).

+ activate(beaconName, projectId=None, x__xgafv=None)

+

Activates a beacon. A beacon that is active will return information and attachment data when queried via `beaconinfo.getforobserved`. Calling this method on an already active beacon will do nothing (but will return a successful response code). Authenticate using an [OAuth access token](https://developers.google.com/identity/protocols/OAuth2) from a signed-in user with **Is owner** or **Can edit** permissions in the Google Developers Console project.

- deactivate(beaconName, x__xgafv=None)

-

Deactivates a beacon. Once deactivated, the API will not return information nor attachment data for the beacon when queried via `beaconinfo.getforobserved`. Calling this method on an already inactive beacon will do nothing (but will return a successful response code).

+ deactivate(beaconName, projectId=None, x__xgafv=None)

+

Deactivates a beacon. Once deactivated, the API will not return information nor attachment data for the beacon when queried via `beaconinfo.getforobserved`. Calling this method on an already inactive beacon will do nothing (but will return a successful response code). Authenticate using an [OAuth access token](https://developers.google.com/identity/protocols/OAuth2) from a signed-in user with **Is owner** or **Can edit** permissions in the Google Developers Console project.

- decommission(beaconName, x__xgafv=None)

-

Decommissions the specified beacon in the service. This beacon will no longer be returned from `beaconinfo.getforobserved`. This operation is permanent -- you will not be able to re-register a beacon with this ID again.

+ decommission(beaconName, projectId=None, x__xgafv=None)

+

Decommissions the specified beacon in the service. This beacon will no longer be returned from `beaconinfo.getforobserved`. This operation is permanent -- you will not be able to re-register a beacon with this ID again. Authenticate using an [OAuth access token](https://developers.google.com/identity/protocols/OAuth2) from a signed-in user with **Is owner** or **Can edit** permissions in the Google Developers Console project.

- get(beaconName, x__xgafv=None)

-

Returns detailed information about the specified beacon.

+ get(beaconName, projectId=None, x__xgafv=None)

+

Returns detailed information about the specified beacon. Authenticate using an [OAuth access token](https://developers.google.com/identity/protocols/OAuth2) from a signed-in user with **viewer**, **Is owner** or **Can edit** permissions in the Google Developers Console project. Requests may supply an Eddystone-EID beacon name in the form: `beacons/4!beaconId` where the `beaconId` is the base16 ephemeral ID broadcast by the beacon. The returned `Beacon` object will contain the beacon's stable Eddystone-UID. Clients not authorized to resolve the beacon's ephemeral Eddystone-EID broadcast will receive an error.

- list(pageSize=None, q=None, pageToken=None, x__xgafv=None)

-

Searches the beacon registry for beacons that match the given search criteria. Only those beacons that the client has permission to list will be returned.

+ list(pageSize=None, projectId=None, q=None, pageToken=None, x__xgafv=None)

+

Searches the beacon registry for beacons that match the given search criteria. Only those beacons that the client has permission to list will be returned. Authenticate using an [OAuth access token](https://developers.google.com/identity/protocols/OAuth2) from a signed-in user with **viewer**, **Is owner** or **Can edit** permissions in the Google Developers Console project.

list_next(previous_request, previous_response)

Retrieves the next page of results.

- register(body, x__xgafv=None)

-

Registers a previously unregistered beacon given its `advertisedId`. These IDs are unique within the system. An ID can be registered only once.

+ register(body, projectId=None, x__xgafv=None)

+

Registers a previously unregistered beacon given its `advertisedId`. These IDs are unique within the system. An ID can be registered only once. Authenticate using an [OAuth access token](https://developers.google.com/identity/protocols/OAuth2) from a signed-in user with **Is owner** or **Can edit** permissions in the Google Developers Console project.

- update(beaconName, body, x__xgafv=None)

-

Updates the information about the specified beacon. **Any field that you do not populate in the submitted beacon will be permanently erased**, so you should follow the "read, modify, write" pattern to avoid inadvertently destroying data. Changes to the beacon status via this method will be silently ignored. To update beacon status, use the separate methods on this API for (de)activation and decommissioning.

+ update(beaconName, body, projectId=None, x__xgafv=None)

+

Updates the information about the specified beacon. **Any field that you do not populate in the submitted beacon will be permanently erased**, so you should follow the "read, modify, write" pattern to avoid inadvertently destroying data. Changes to the beacon status via this method will be silently ignored. To update beacon status, use the separate methods on this API for activation, deactivation, and decommissioning. Authenticate using an [OAuth access token](https://developers.google.com/identity/protocols/OAuth2) from a signed-in user with **Is owner** or **Can edit** permissions in the Google Developers Console project.

Method Details

- activate(beaconName, x__xgafv=None) -
(Re)activates a beacon. A beacon that is active will return information and attachment data when queried via `beaconinfo.getforobserved`. Calling this method on an already active beacon will do nothing (but will return a successful response code).
+    activate(beaconName, projectId=None, x__xgafv=None)
+  
Activates a beacon. A beacon that is active will return information and attachment data when queried via `beaconinfo.getforobserved`. Calling this method on an already active beacon will do nothing (but will return a successful response code). Authenticate using an [OAuth access token](https://developers.google.com/identity/protocols/OAuth2) from a signed-in user with **Is owner** or **Can edit** permissions in the Google Developers Console project.
 
 Args:
-  beaconName: string, The beacon to activate. Required. (required)
+  beaconName: string, Beacon that should be activated. A beacon name has the format "beacons/N!beaconId" where the beaconId is the base16 ID broadcast by the beacon and N is a code for the beacon's type. Possible values are `3` for Eddystone-UID, `4` for Eddystone-EID, `1` for iBeacon, or `5` for AltBeacon. For Eddystone-EID beacons, you may use either the current EID or the beacon's "stable" UID. Required. (required)
+  projectId: string, The project id of the beacon to activate. If the project id is not specified then the project making the request is used. The project id must match the project that owns the beacon. Optional.
   x__xgafv: string, V1 error format.
 
 Returns:
@@ -125,11 +126,12 @@ 

Method Details

- deactivate(beaconName, x__xgafv=None) -
Deactivates a beacon. Once deactivated, the API will not return information nor attachment data for the beacon when queried via `beaconinfo.getforobserved`. Calling this method on an already inactive beacon will do nothing (but will return a successful response code).
+    deactivate(beaconName, projectId=None, x__xgafv=None)
+  
Deactivates a beacon. Once deactivated, the API will not return information nor attachment data for the beacon when queried via `beaconinfo.getforobserved`. Calling this method on an already inactive beacon will do nothing (but will return a successful response code). Authenticate using an [OAuth access token](https://developers.google.com/identity/protocols/OAuth2) from a signed-in user with **Is owner** or **Can edit** permissions in the Google Developers Console project.
 
 Args:
-  beaconName: string, The beacon name of this beacon. (required)
+  beaconName: string, Beacon that should be deactivated. A beacon name has the format "beacons/N!beaconId" where the beaconId is the base16 ID broadcast by the beacon and N is a code for the beacon's type. Possible values are `3` for Eddystone-UID, `4` for Eddystone-EID, `1` for iBeacon, or `5` for AltBeacon. For Eddystone-EID beacons, you may use either the current EID or the beacon's "stable" UID. Required. (required)
+  projectId: string, The project id of the beacon to deactivate. If the project id is not specified then the project making the request is used. The project id must match the project that owns the beacon. Optional.
   x__xgafv: string, V1 error format.
 
 Returns:
@@ -140,11 +142,12 @@ 

Method Details

- decommission(beaconName, x__xgafv=None) -
Decommissions the specified beacon in the service. This beacon will no longer be returned from `beaconinfo.getforobserved`. This operation is permanent -- you will not be able to re-register a beacon with this ID again.
+    decommission(beaconName, projectId=None, x__xgafv=None)
+  
Decommissions the specified beacon in the service. This beacon will no longer be returned from `beaconinfo.getforobserved`. This operation is permanent -- you will not be able to re-register a beacon with this ID again. Authenticate using an [OAuth access token](https://developers.google.com/identity/protocols/OAuth2) from a signed-in user with **Is owner** or **Can edit** permissions in the Google Developers Console project.
 
 Args:
-  beaconName: string, Beacon that should be decommissioned. Required. (required)
+  beaconName: string, Beacon that should be decommissioned. A beacon name has the format "beacons/N!beaconId" where the beaconId is the base16 ID broadcast by the beacon and N is a code for the beacon's type. Possible values are `3` for Eddystone-UID, `4` for Eddystone-EID, `1` for iBeacon, or `5` for AltBeacon. For Eddystone-EID beacons, you may use either the current EID of the beacon's "stable" UID. Required. (required)
+  projectId: string, The project id of the beacon to decommission. If the project id is not specified then the project making the request is used. The project id must match the project that owns the beacon. Optional.
   x__xgafv: string, V1 error format.
 
 Returns:
@@ -155,11 +158,12 @@ 

Method Details

- get(beaconName, x__xgafv=None) -
Returns detailed information about the specified beacon.
+    get(beaconName, projectId=None, x__xgafv=None)
+  
Returns detailed information about the specified beacon. Authenticate using an [OAuth access token](https://developers.google.com/identity/protocols/OAuth2) from a signed-in user with **viewer**, **Is owner** or **Can edit** permissions in the Google Developers Console project. Requests may supply an Eddystone-EID beacon name in the form: `beacons/4!beaconId` where the `beaconId` is the base16 ephemeral ID broadcast by the beacon. The returned `Beacon` object will contain the beacon's stable Eddystone-UID. Clients not authorized to resolve the beacon's ephemeral Eddystone-EID broadcast will receive an error.
 
 Args:
-  beaconName: string, Beacon that is requested. (required)
+  beaconName: string, Resource name of this beacon. A beacon name has the format "beacons/N!beaconId" where the beaconId is the base16 ID broadcast by the beacon and N is a code for the beacon's type. Possible values are `3` for Eddystone-UID, `4` for Eddystone-EID, `1` for iBeacon, or `5` for AltBeacon. For Eddystone-EID beacons, you may use either the current EID or the beacon's "stable" UID. Required. (required)
+  projectId: string, The project id of the beacon to request. If the project id is not specified then the project making the request is used. The project id must match the project that owns the beacon. Optional.
   x__xgafv: string, V1 error format.
 
 Returns:
@@ -171,12 +175,20 @@ 

Method Details

"indoorLevel": { # Indoor level, a human-readable string as returned by Google Maps APIs, useful to indicate which floor of a building a beacon is located on. # The indoor level information for this beacon, if known. As returned by the Google Maps API. Optional. "name": "A String", # The name of this level. }, - "latLng": { # An object representing a latitude/longitude pair. This is expressed as a pair of doubles representing degrees latitude and degrees longitude. Unless specified otherwise, this must conform to the WGS84 standard. Values must be within normalized ranges. Example of normalization code in Python: def NormalizeLongitude(longitude): """Wrapsdecimal degrees longitude to [-180.0, 180.0].""" q, r = divmod(longitude, 360.0) if r > 180.0 or (r == 180.0 and q <= -1.0): return r - 360.0 return r def NormalizeLatLng(latitude, longitude): """Wraps decimal degrees latitude and longitude to [-180.0, 180.0] and [-90.0, 90.0], respectively.""" r = latitude % 360.0 if r = 270.0: return r - 360, NormalizeLongitude(longitude) else: return 180 - r, NormalizeLongitude(longitude + 180.0) assert 180.0 == NormalizeLongitude(180.0) assert -180.0 == NormalizeLongitude(-180.0) assert -179.0 == NormalizeLongitude(181.0) assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0) assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0) assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0) assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0) assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0) assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0) assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0) assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0) assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0) assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0) # The location of the beacon, expressed as a latitude and longitude pair. This location is given when the beacon is registered or updated. It does not necessarily indicate the actual current location of the beacon. Optional. + "latLng": { # An object representing a latitude/longitude pair. This is expressed as a pair of doubles representing degrees latitude and degrees longitude. Unless specified otherwise, this must conform to the WGS84 standard. Values must be within normalized ranges. Example of normalization code in Python: def NormalizeLongitude(longitude): """Wraps decimal degrees longitude to [-180.0, 180.0].""" q, r = divmod(longitude, 360.0) if r > 180.0 or (r == 180.0 and q <= -1.0): return r - 360.0 return r def NormalizeLatLng(latitude, longitude): """Wraps decimal degrees latitude and longitude to [-90.0, 90.0] and [-180.0, 180.0], respectively.""" r = latitude % 360.0 if r = 270.0: return r - 360, NormalizeLongitude(longitude) else: return 180 - r, NormalizeLongitude(longitude + 180.0) assert 180.0 == NormalizeLongitude(180.0) assert -180.0 == NormalizeLongitude(-180.0) assert -179.0 == NormalizeLongitude(181.0) assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0) assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0) assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0) assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0) assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0) assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0) assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0) assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0) assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0) assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0) # The location of the beacon, expressed as a latitude and longitude pair. This location is given when the beacon is registered or updated. It does not necessarily indicate the actual current location of the beacon. Optional. "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0]. "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0]. }, "placeId": "A String", # The [Google Places API](/places/place-id) Place ID of the place where the beacon is deployed. This is given when the beacon is registered or updated, not automatically detected in any way. Optional. - "advertisedId": { # Defines a unique identifier of a beacon as broadcast by the device. # The identifier of a beacon as advertised by it. This field must be populated when registering. It may be empty when updating a beacon record because it is ignored in updates. + "ephemeralIdRegistration": { # Write-only registration parameters for beacons using Eddystone-EID format. Two ways of securely registering an Eddystone-EID beacon with the service are supported: 1. Perform an ECDH key exchange via this API, including a previous call to `GET /v1beta1/eidparams`. In this case the fields `beacon_ecdh_public_key` and `service_ecdh_public_key` should be populated and `beacon_identity_key` should not be populated. This method ensures that only the two parties in the ECDH key exchange can compute the identity key, which becomes a secret between them. 2. Derive or obtain the beacon's identity key via other secure means (perhaps an ECDH key exchange between the beacon and a mobile device or any other secure method), and then submit the resulting identity key to the service. In this case `beacon_identity_key` field should be populated, and neither of `beacon_ecdh_public_key` nor `service_ecdh_public_key` fields should be. The security of this method depends on how securely the parties involved (in particular the bluetooth client) handle the identity key, and obviously on how securely the identity key was generated. See [the Eddystone specification](https://github.com/google/eddystone/tree/master/eddystone-eid) at GitHub. # Write-only registration parameters for beacons using Eddystone-EID (remotely resolved ephemeral ID) format. This information will not be populated in API responses. When submitting this data, the `advertised_id` field must contain an ID of type Eddystone-UID. Any other ID type will result in an error. + "rotationPeriodExponent": 42, # Indicates the nominal period between each rotation of the beacon's ephemeral ID. "Nominal" because the beacon should randomize the actual interval. See [the spec at github](https://github.com/google/eddystone/tree/master/eddystone-eid) for details. This value corresponds to a power-of-two scaler on the beacon's clock: when the scaler value is K, the beacon will begin broadcasting a new ephemeral ID on average every 2^K seconds. + "initialClockValue": "A String", # The initial clock value of the beacon. The beacon's clock must have begun counting at this value immediately prior to transmitting this value to the resolving service. Significant delay in transmitting this value to the service risks registration or resolution failures. If a value is not provided, the default is zero. + "beaconEcdhPublicKey": "A String", # The beacon's public key used for the Elliptic curve Diffie-Hellman key exchange. When this field is populated, `service_ecdh_public_key` must also be populated, and `beacon_identity_key` must not be. + "initialEid": "A String", # An initial ephemeral ID calculated using the clock value submitted as `initial_clock_value`, and the secret key generated by the Diffie-Hellman key exchange using `service_ecdh_public_key` and `service_ecdh_public_key`. This initial EID value will be used by the service to confirm that the key exchange process was successful. + "serviceEcdhPublicKey": "A String", # The service's public key used for the Elliptic curve Diffie-Hellman key exchange. When this field is populated, `beacon_ecdh_public_key` must also be populated, and `beacon_identity_key` must not be. + "beaconIdentityKey": "A String", # The private key of the beacon. If this field is populated, `beacon_ecdh_public_key` and `service_ecdh_public_key` must not be populated. + }, + "advertisedId": { # Defines a unique identifier of a beacon as broadcast by the device. # The identifier of a beacon as advertised by it. This field must be populated when registering. It may be empty when updating a beacon record because it is ignored in updates. When registering a beacon that broadcasts Eddystone-EID, this field should contain a "stable" Eddystone-UID that identifies the beacon and links it to its attachments. The stable Eddystone-UID is only used for administering the beacon. "type": "A String", # Specifies the identifier type. Required. "id": "A String", # The actual beacon identifier, as broadcast by the beacon hardware. Must be [base64](http://tools.ietf.org/html/rfc4648#section-4) encoded in HTTP requests, and will be so encoded (with padding) in responses. The base64 encoding should be of the binary byte-stream and not any textual (such as hex) representation thereof. Required. }, @@ -185,16 +197,18 @@

Method Details

"properties": { # Properties of the beacon device, for example battery type or firmware version. Optional. "a_key": "A String", }, + "provisioningKey": "A String", # Some beacons may require a user to provide an authorization key before changing any of its configuration (e.g. broadcast frames, transmit power). This field provides a place to store and control access to that key. This field is populated in responses to `GET /v1beta1/beacons/3!beaconId` from users with write access to the given beacon. That is to say: If the user is authorized to write the beacon's confidential data in the service, the service considers them authorized to configure the beacon. Note that this key grants nothing on the service, only on the beacon itself. }
- list(pageSize=None, q=None, pageToken=None, x__xgafv=None) -
Searches the beacon registry for beacons that match the given search criteria. Only those beacons that the client has permission to list will be returned.
+    list(pageSize=None, projectId=None, q=None, pageToken=None, x__xgafv=None)
+  
Searches the beacon registry for beacons that match the given search criteria. Only those beacons that the client has permission to list will be returned. Authenticate using an [OAuth access token](https://developers.google.com/identity/protocols/OAuth2) from a signed-in user with **viewer**, **Is owner** or **Can edit** permissions in the Google Developers Console project.
 
 Args:
   pageSize: integer, The maximum number of records to return for this request, up to a server-defined upper limit.
-  q: string, Filter query string that supports the following field filters: * `description:""` For example: `description:"Room 3"` Returns beacons whose description matches tokens in the string "Room 3" (not necessarily that exact string). The string must be double-quoted. * `status:` For example: `status:active` Returns beacons whose status matches the given value. Values must be one of the Beacon.Status enum values (case insensitive). Accepts multiple filters which will be combined with OR logic. * `stability:` For example: `stability:mobile` Returns beacons whose expected stability matches the given value. Values must be one of the Beacon.Stability enum values (case insensitive). Accepts multiple filters which will be combined with OR logic. * `place_id:""` For example: `place_id:"ChIJVSZzVR8FdkgRXGmmm6SslKw="` Returns beacons explicitly registered at the given place, expressed as a Place ID obtained from [Google Places API](/places/place-id). Does not match places inside the given place. Does not consider the beacon's actual location (which may be different from its registered place). Accepts multiple filters that will be combined with OR logic. The place ID must be double-quoted. * `registration_time[|=]` For example: `registration_time>=1433116800` Returns beacons whose registration time matches the given filter. Supports the operators: , =. Timestamp must be expressed as an integer number of seconds since midnight January 1, 1970 UTC. Accepts at most two filters that will be combined with AND logic, to support "between" semantics. If more than two are supplied, the latter ones are ignored. * `lat: lng: radius:` For example: `lat:51.1232343 lng:-1.093852 radius:1000` Returns beacons whose registered location is within the given circle. When any of these fields are given, all are required. Latitude and longitude must be decimal degrees between -90.0 and 90.0 and between -180.0 and 180.0 respectively. Radius must be an integer number of meters less than 1,000,000 (1000 km). * `property:"="` For example: `property:"battery-type=CR2032"` Returns beacons which have a property of the given name and value. Supports multiple filters which will be combined with OR logic. The entire name=value string must be double-quoted as one string. * `attachment_type:""` For example: `attachment_type:"my-namespace/my-type"` Returns beacons having at least one attachment of the given namespaced type. Supports "any within this namespace" via the partial wildcard syntax: "my-namespace/*". Supports multiple filters which will be combined with OR logic. The string must be double-quoted. Multiple filters on the same field are combined with OR logic (except registration_time which is combined with AND logic). Multiple filters on different fields are combined with AND logic. Filters should be separated by spaces. As with any HTTP query string parameter, the whole filter expression must be URL-encoded. Example REST request: `GET /v1beta1/beacons?q=status:active%20lat:51.123%20lng:-1.095%20radius:1000`
+  projectId: string, The project id to list beacons under. If not present then the project credential that made the request is used as the project. Optional.
+  q: string, Filter query string that supports the following field filters: * `description:""` For example: `description:"Room 3"` Returns beacons whose description matches tokens in the string "Room 3" (not necessarily that exact string). The string must be double-quoted. * `status:` For example: `status:active` Returns beacons whose status matches the given value. Values must be one of the Beacon.Status enum values (case insensitive). Accepts multiple filters which will be combined with OR logic. * `stability:` For example: `stability:mobile` Returns beacons whose expected stability matches the given value. Values must be one of the Beacon.Stability enum values (case insensitive). Accepts multiple filters which will be combined with OR logic. * `place_id:""` For example: `place_id:"ChIJVSZzVR8FdkgRXGmmm6SslKw="` Returns beacons explicitly registered at the given place, expressed as a Place ID obtained from [Google Places API](/places/place-id). Does not match places inside the given place. Does not consider the beacon's actual location (which may be different from its registered place). Accepts multiple filters that will be combined with OR logic. The place ID must be double-quoted. * `registration_time[|=]` For example: `registration_time>=1433116800` Returns beacons whose registration time matches the given filter. Supports the operators: , =. Timestamp must be expressed as an integer number of seconds since midnight January 1, 1970 UTC. Accepts at most two filters that will be combined with AND logic, to support "between" semantics. If more than two are supplied, the latter ones are ignored. * `lat: lng: radius:` For example: `lat:51.1232343 lng:-1.093852 radius:1000` Returns beacons whose registered location is within the given circle. When any of these fields are given, all are required. Latitude and longitude must be decimal degrees between -90.0 and 90.0 and between -180.0 and 180.0 respectively. Radius must be an integer number of meters between 10 and 1,000,000 (1000 km). * `property:"="` For example: `property:"battery-type=CR2032"` Returns beacons which have a property of the given name and value. Supports multiple filters which will be combined with OR logic. The entire name=value string must be double-quoted as one string. * `attachment_type:""` For example: `attachment_type:"my-namespace/my-type"` Returns beacons having at least one attachment of the given namespaced type. Supports "any within this namespace" via the partial wildcard syntax: "my-namespace/*". Supports multiple filters which will be combined with OR logic. The string must be double-quoted. Multiple filters on the same field are combined with OR logic (except registration_time which is combined with AND logic). Multiple filters on different fields are combined with AND logic. Filters should be separated by spaces. As with any HTTP query string parameter, the whole filter expression must be URL-encoded. Example REST request: `GET /v1beta1/beacons?q=status:active%20lat:51.123%20lng:-1.095%20radius:1000`
   pageToken: string, A pagination token obtained from a previous request to list beacons.
   x__xgafv: string, V1 error format.
 
@@ -209,12 +223,20 @@ 

Method Details

"indoorLevel": { # Indoor level, a human-readable string as returned by Google Maps APIs, useful to indicate which floor of a building a beacon is located on. # The indoor level information for this beacon, if known. As returned by the Google Maps API. Optional. "name": "A String", # The name of this level. }, - "latLng": { # An object representing a latitude/longitude pair. This is expressed as a pair of doubles representing degrees latitude and degrees longitude. Unless specified otherwise, this must conform to the WGS84 standard. Values must be within normalized ranges. Example of normalization code in Python: def NormalizeLongitude(longitude): """Wrapsdecimal degrees longitude to [-180.0, 180.0].""" q, r = divmod(longitude, 360.0) if r > 180.0 or (r == 180.0 and q <= -1.0): return r - 360.0 return r def NormalizeLatLng(latitude, longitude): """Wraps decimal degrees latitude and longitude to [-180.0, 180.0] and [-90.0, 90.0], respectively.""" r = latitude % 360.0 if r = 270.0: return r - 360, NormalizeLongitude(longitude) else: return 180 - r, NormalizeLongitude(longitude + 180.0) assert 180.0 == NormalizeLongitude(180.0) assert -180.0 == NormalizeLongitude(-180.0) assert -179.0 == NormalizeLongitude(181.0) assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0) assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0) assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0) assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0) assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0) assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0) assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0) assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0) assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0) assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0) # The location of the beacon, expressed as a latitude and longitude pair. This location is given when the beacon is registered or updated. It does not necessarily indicate the actual current location of the beacon. Optional. + "latLng": { # An object representing a latitude/longitude pair. This is expressed as a pair of doubles representing degrees latitude and degrees longitude. Unless specified otherwise, this must conform to the WGS84 standard. Values must be within normalized ranges. Example of normalization code in Python: def NormalizeLongitude(longitude): """Wraps decimal degrees longitude to [-180.0, 180.0].""" q, r = divmod(longitude, 360.0) if r > 180.0 or (r == 180.0 and q <= -1.0): return r - 360.0 return r def NormalizeLatLng(latitude, longitude): """Wraps decimal degrees latitude and longitude to [-90.0, 90.0] and [-180.0, 180.0], respectively.""" r = latitude % 360.0 if r = 270.0: return r - 360, NormalizeLongitude(longitude) else: return 180 - r, NormalizeLongitude(longitude + 180.0) assert 180.0 == NormalizeLongitude(180.0) assert -180.0 == NormalizeLongitude(-180.0) assert -179.0 == NormalizeLongitude(181.0) assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0) assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0) assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0) assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0) assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0) assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0) assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0) assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0) assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0) assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0) # The location of the beacon, expressed as a latitude and longitude pair. This location is given when the beacon is registered or updated. It does not necessarily indicate the actual current location of the beacon. Optional. "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0]. "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0]. }, "placeId": "A String", # The [Google Places API](/places/place-id) Place ID of the place where the beacon is deployed. This is given when the beacon is registered or updated, not automatically detected in any way. Optional. - "advertisedId": { # Defines a unique identifier of a beacon as broadcast by the device. # The identifier of a beacon as advertised by it. This field must be populated when registering. It may be empty when updating a beacon record because it is ignored in updates. + "ephemeralIdRegistration": { # Write-only registration parameters for beacons using Eddystone-EID format. Two ways of securely registering an Eddystone-EID beacon with the service are supported: 1. Perform an ECDH key exchange via this API, including a previous call to `GET /v1beta1/eidparams`. In this case the fields `beacon_ecdh_public_key` and `service_ecdh_public_key` should be populated and `beacon_identity_key` should not be populated. This method ensures that only the two parties in the ECDH key exchange can compute the identity key, which becomes a secret between them. 2. Derive or obtain the beacon's identity key via other secure means (perhaps an ECDH key exchange between the beacon and a mobile device or any other secure method), and then submit the resulting identity key to the service. In this case `beacon_identity_key` field should be populated, and neither of `beacon_ecdh_public_key` nor `service_ecdh_public_key` fields should be. The security of this method depends on how securely the parties involved (in particular the bluetooth client) handle the identity key, and obviously on how securely the identity key was generated. See [the Eddystone specification](https://github.com/google/eddystone/tree/master/eddystone-eid) at GitHub. # Write-only registration parameters for beacons using Eddystone-EID (remotely resolved ephemeral ID) format. This information will not be populated in API responses. When submitting this data, the `advertised_id` field must contain an ID of type Eddystone-UID. Any other ID type will result in an error. + "rotationPeriodExponent": 42, # Indicates the nominal period between each rotation of the beacon's ephemeral ID. "Nominal" because the beacon should randomize the actual interval. See [the spec at github](https://github.com/google/eddystone/tree/master/eddystone-eid) for details. This value corresponds to a power-of-two scaler on the beacon's clock: when the scaler value is K, the beacon will begin broadcasting a new ephemeral ID on average every 2^K seconds. + "initialClockValue": "A String", # The initial clock value of the beacon. The beacon's clock must have begun counting at this value immediately prior to transmitting this value to the resolving service. Significant delay in transmitting this value to the service risks registration or resolution failures. If a value is not provided, the default is zero. + "beaconEcdhPublicKey": "A String", # The beacon's public key used for the Elliptic curve Diffie-Hellman key exchange. When this field is populated, `service_ecdh_public_key` must also be populated, and `beacon_identity_key` must not be. + "initialEid": "A String", # An initial ephemeral ID calculated using the clock value submitted as `initial_clock_value`, and the secret key generated by the Diffie-Hellman key exchange using `service_ecdh_public_key` and `service_ecdh_public_key`. This initial EID value will be used by the service to confirm that the key exchange process was successful. + "serviceEcdhPublicKey": "A String", # The service's public key used for the Elliptic curve Diffie-Hellman key exchange. When this field is populated, `beacon_ecdh_public_key` must also be populated, and `beacon_identity_key` must not be. + "beaconIdentityKey": "A String", # The private key of the beacon. If this field is populated, `beacon_ecdh_public_key` and `service_ecdh_public_key` must not be populated. + }, + "advertisedId": { # Defines a unique identifier of a beacon as broadcast by the device. # The identifier of a beacon as advertised by it. This field must be populated when registering. It may be empty when updating a beacon record because it is ignored in updates. When registering a beacon that broadcasts Eddystone-EID, this field should contain a "stable" Eddystone-UID that identifies the beacon and links it to its attachments. The stable Eddystone-UID is only used for administering the beacon. "type": "A String", # Specifies the identifier type. Required. "id": "A String", # The actual beacon identifier, as broadcast by the beacon hardware. Must be [base64](http://tools.ietf.org/html/rfc4648#section-4) encoded in HTTP requests, and will be so encoded (with padding) in responses. The base64 encoding should be of the binary byte-stream and not any textual (such as hex) representation thereof. Required. }, @@ -223,6 +245,7 @@

Method Details

"properties": { # Properties of the beacon device, for example battery type or firmware version. Optional. "a_key": "A String", }, + "provisioningKey": "A String", # Some beacons may require a user to provide an authorization key before changing any of its configuration (e.g. broadcast frames, transmit power). This field provides a place to store and control access to that key. This field is populated in responses to `GET /v1beta1/beacons/3!beaconId` from users with write access to the given beacon. That is to say: If the user is authorized to write the beacon's confidential data in the service, the service considers them authorized to configure the beacon. Note that this key grants nothing on the service, only on the beacon itself. }, ], "nextPageToken": "A String", # An opaque pagination token that the client may provide in their next request to retrieve the next page of results. @@ -245,8 +268,8 @@

Method Details

- register(body, x__xgafv=None) -
Registers a previously unregistered beacon given its `advertisedId`. These IDs are unique within the system. An ID can be registered only once.
+    register(body, projectId=None, x__xgafv=None)
+  
Registers a previously unregistered beacon given its `advertisedId`. These IDs are unique within the system. An ID can be registered only once. Authenticate using an [OAuth access token](https://developers.google.com/identity/protocols/OAuth2) from a signed-in user with **Is owner** or **Can edit** permissions in the Google Developers Console project.
 
 Args:
   body: object, The request body. (required)
@@ -258,12 +281,20 @@ 

Method Details

"indoorLevel": { # Indoor level, a human-readable string as returned by Google Maps APIs, useful to indicate which floor of a building a beacon is located on. # The indoor level information for this beacon, if known. As returned by the Google Maps API. Optional. "name": "A String", # The name of this level. }, - "latLng": { # An object representing a latitude/longitude pair. This is expressed as a pair of doubles representing degrees latitude and degrees longitude. Unless specified otherwise, this must conform to the WGS84 standard. Values must be within normalized ranges. Example of normalization code in Python: def NormalizeLongitude(longitude): """Wrapsdecimal degrees longitude to [-180.0, 180.0].""" q, r = divmod(longitude, 360.0) if r > 180.0 or (r == 180.0 and q <= -1.0): return r - 360.0 return r def NormalizeLatLng(latitude, longitude): """Wraps decimal degrees latitude and longitude to [-180.0, 180.0] and [-90.0, 90.0], respectively.""" r = latitude % 360.0 if r = 270.0: return r - 360, NormalizeLongitude(longitude) else: return 180 - r, NormalizeLongitude(longitude + 180.0) assert 180.0 == NormalizeLongitude(180.0) assert -180.0 == NormalizeLongitude(-180.0) assert -179.0 == NormalizeLongitude(181.0) assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0) assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0) assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0) assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0) assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0) assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0) assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0) assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0) assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0) assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0) # The location of the beacon, expressed as a latitude and longitude pair. This location is given when the beacon is registered or updated. It does not necessarily indicate the actual current location of the beacon. Optional. + "latLng": { # An object representing a latitude/longitude pair. This is expressed as a pair of doubles representing degrees latitude and degrees longitude. Unless specified otherwise, this must conform to the WGS84 standard. Values must be within normalized ranges. Example of normalization code in Python: def NormalizeLongitude(longitude): """Wraps decimal degrees longitude to [-180.0, 180.0].""" q, r = divmod(longitude, 360.0) if r > 180.0 or (r == 180.0 and q <= -1.0): return r - 360.0 return r def NormalizeLatLng(latitude, longitude): """Wraps decimal degrees latitude and longitude to [-90.0, 90.0] and [-180.0, 180.0], respectively.""" r = latitude % 360.0 if r = 270.0: return r - 360, NormalizeLongitude(longitude) else: return 180 - r, NormalizeLongitude(longitude + 180.0) assert 180.0 == NormalizeLongitude(180.0) assert -180.0 == NormalizeLongitude(-180.0) assert -179.0 == NormalizeLongitude(181.0) assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0) assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0) assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0) assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0) assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0) assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0) assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0) assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0) assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0) assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0) # The location of the beacon, expressed as a latitude and longitude pair. This location is given when the beacon is registered or updated. It does not necessarily indicate the actual current location of the beacon. Optional. "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0]. "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0]. }, "placeId": "A String", # The [Google Places API](/places/place-id) Place ID of the place where the beacon is deployed. This is given when the beacon is registered or updated, not automatically detected in any way. Optional. - "advertisedId": { # Defines a unique identifier of a beacon as broadcast by the device. # The identifier of a beacon as advertised by it. This field must be populated when registering. It may be empty when updating a beacon record because it is ignored in updates. + "ephemeralIdRegistration": { # Write-only registration parameters for beacons using Eddystone-EID format. Two ways of securely registering an Eddystone-EID beacon with the service are supported: 1. Perform an ECDH key exchange via this API, including a previous call to `GET /v1beta1/eidparams`. In this case the fields `beacon_ecdh_public_key` and `service_ecdh_public_key` should be populated and `beacon_identity_key` should not be populated. This method ensures that only the two parties in the ECDH key exchange can compute the identity key, which becomes a secret between them. 2. Derive or obtain the beacon's identity key via other secure means (perhaps an ECDH key exchange between the beacon and a mobile device or any other secure method), and then submit the resulting identity key to the service. In this case `beacon_identity_key` field should be populated, and neither of `beacon_ecdh_public_key` nor `service_ecdh_public_key` fields should be. The security of this method depends on how securely the parties involved (in particular the bluetooth client) handle the identity key, and obviously on how securely the identity key was generated. See [the Eddystone specification](https://github.com/google/eddystone/tree/master/eddystone-eid) at GitHub. # Write-only registration parameters for beacons using Eddystone-EID (remotely resolved ephemeral ID) format. This information will not be populated in API responses. When submitting this data, the `advertised_id` field must contain an ID of type Eddystone-UID. Any other ID type will result in an error. + "rotationPeriodExponent": 42, # Indicates the nominal period between each rotation of the beacon's ephemeral ID. "Nominal" because the beacon should randomize the actual interval. See [the spec at github](https://github.com/google/eddystone/tree/master/eddystone-eid) for details. This value corresponds to a power-of-two scaler on the beacon's clock: when the scaler value is K, the beacon will begin broadcasting a new ephemeral ID on average every 2^K seconds. + "initialClockValue": "A String", # The initial clock value of the beacon. The beacon's clock must have begun counting at this value immediately prior to transmitting this value to the resolving service. Significant delay in transmitting this value to the service risks registration or resolution failures. If a value is not provided, the default is zero. + "beaconEcdhPublicKey": "A String", # The beacon's public key used for the Elliptic curve Diffie-Hellman key exchange. When this field is populated, `service_ecdh_public_key` must also be populated, and `beacon_identity_key` must not be. + "initialEid": "A String", # An initial ephemeral ID calculated using the clock value submitted as `initial_clock_value`, and the secret key generated by the Diffie-Hellman key exchange using `service_ecdh_public_key` and `service_ecdh_public_key`. This initial EID value will be used by the service to confirm that the key exchange process was successful. + "serviceEcdhPublicKey": "A String", # The service's public key used for the Elliptic curve Diffie-Hellman key exchange. When this field is populated, `beacon_ecdh_public_key` must also be populated, and `beacon_identity_key` must not be. + "beaconIdentityKey": "A String", # The private key of the beacon. If this field is populated, `beacon_ecdh_public_key` and `service_ecdh_public_key` must not be populated. + }, + "advertisedId": { # Defines a unique identifier of a beacon as broadcast by the device. # The identifier of a beacon as advertised by it. This field must be populated when registering. It may be empty when updating a beacon record because it is ignored in updates. When registering a beacon that broadcasts Eddystone-EID, this field should contain a "stable" Eddystone-UID that identifies the beacon and links it to its attachments. The stable Eddystone-UID is only used for administering the beacon. "type": "A String", # Specifies the identifier type. Required. "id": "A String", # The actual beacon identifier, as broadcast by the beacon hardware. Must be [base64](http://tools.ietf.org/html/rfc4648#section-4) encoded in HTTP requests, and will be so encoded (with padding) in responses. The base64 encoding should be of the binary byte-stream and not any textual (such as hex) representation thereof. Required. }, @@ -272,8 +303,10 @@

Method Details

"properties": { # Properties of the beacon device, for example battery type or firmware version. Optional. "a_key": "A String", }, + "provisioningKey": "A String", # Some beacons may require a user to provide an authorization key before changing any of its configuration (e.g. broadcast frames, transmit power). This field provides a place to store and control access to that key. This field is populated in responses to `GET /v1beta1/beacons/3!beaconId` from users with write access to the given beacon. That is to say: If the user is authorized to write the beacon's confidential data in the service, the service considers them authorized to configure the beacon. Note that this key grants nothing on the service, only on the beacon itself. } + projectId: string, The project id of the project the beacon will be registered to. If the project id is not specified then the project making the request is used. Optional. x__xgafv: string, V1 error format. Returns: @@ -285,12 +318,20 @@

Method Details

"indoorLevel": { # Indoor level, a human-readable string as returned by Google Maps APIs, useful to indicate which floor of a building a beacon is located on. # The indoor level information for this beacon, if known. As returned by the Google Maps API. Optional. "name": "A String", # The name of this level. }, - "latLng": { # An object representing a latitude/longitude pair. This is expressed as a pair of doubles representing degrees latitude and degrees longitude. Unless specified otherwise, this must conform to the WGS84 standard. Values must be within normalized ranges. Example of normalization code in Python: def NormalizeLongitude(longitude): """Wrapsdecimal degrees longitude to [-180.0, 180.0].""" q, r = divmod(longitude, 360.0) if r > 180.0 or (r == 180.0 and q <= -1.0): return r - 360.0 return r def NormalizeLatLng(latitude, longitude): """Wraps decimal degrees latitude and longitude to [-180.0, 180.0] and [-90.0, 90.0], respectively.""" r = latitude % 360.0 if r = 270.0: return r - 360, NormalizeLongitude(longitude) else: return 180 - r, NormalizeLongitude(longitude + 180.0) assert 180.0 == NormalizeLongitude(180.0) assert -180.0 == NormalizeLongitude(-180.0) assert -179.0 == NormalizeLongitude(181.0) assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0) assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0) assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0) assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0) assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0) assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0) assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0) assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0) assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0) assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0) # The location of the beacon, expressed as a latitude and longitude pair. This location is given when the beacon is registered or updated. It does not necessarily indicate the actual current location of the beacon. Optional. + "latLng": { # An object representing a latitude/longitude pair. This is expressed as a pair of doubles representing degrees latitude and degrees longitude. Unless specified otherwise, this must conform to the WGS84 standard. Values must be within normalized ranges. Example of normalization code in Python: def NormalizeLongitude(longitude): """Wraps decimal degrees longitude to [-180.0, 180.0].""" q, r = divmod(longitude, 360.0) if r > 180.0 or (r == 180.0 and q <= -1.0): return r - 360.0 return r def NormalizeLatLng(latitude, longitude): """Wraps decimal degrees latitude and longitude to [-90.0, 90.0] and [-180.0, 180.0], respectively.""" r = latitude % 360.0 if r = 270.0: return r - 360, NormalizeLongitude(longitude) else: return 180 - r, NormalizeLongitude(longitude + 180.0) assert 180.0 == NormalizeLongitude(180.0) assert -180.0 == NormalizeLongitude(-180.0) assert -179.0 == NormalizeLongitude(181.0) assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0) assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0) assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0) assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0) assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0) assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0) assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0) assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0) assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0) assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0) # The location of the beacon, expressed as a latitude and longitude pair. This location is given when the beacon is registered or updated. It does not necessarily indicate the actual current location of the beacon. Optional. "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0]. "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0]. }, "placeId": "A String", # The [Google Places API](/places/place-id) Place ID of the place where the beacon is deployed. This is given when the beacon is registered or updated, not automatically detected in any way. Optional. - "advertisedId": { # Defines a unique identifier of a beacon as broadcast by the device. # The identifier of a beacon as advertised by it. This field must be populated when registering. It may be empty when updating a beacon record because it is ignored in updates. + "ephemeralIdRegistration": { # Write-only registration parameters for beacons using Eddystone-EID format. Two ways of securely registering an Eddystone-EID beacon with the service are supported: 1. Perform an ECDH key exchange via this API, including a previous call to `GET /v1beta1/eidparams`. In this case the fields `beacon_ecdh_public_key` and `service_ecdh_public_key` should be populated and `beacon_identity_key` should not be populated. This method ensures that only the two parties in the ECDH key exchange can compute the identity key, which becomes a secret between them. 2. Derive or obtain the beacon's identity key via other secure means (perhaps an ECDH key exchange between the beacon and a mobile device or any other secure method), and then submit the resulting identity key to the service. In this case `beacon_identity_key` field should be populated, and neither of `beacon_ecdh_public_key` nor `service_ecdh_public_key` fields should be. The security of this method depends on how securely the parties involved (in particular the bluetooth client) handle the identity key, and obviously on how securely the identity key was generated. See [the Eddystone specification](https://github.com/google/eddystone/tree/master/eddystone-eid) at GitHub. # Write-only registration parameters for beacons using Eddystone-EID (remotely resolved ephemeral ID) format. This information will not be populated in API responses. When submitting this data, the `advertised_id` field must contain an ID of type Eddystone-UID. Any other ID type will result in an error. + "rotationPeriodExponent": 42, # Indicates the nominal period between each rotation of the beacon's ephemeral ID. "Nominal" because the beacon should randomize the actual interval. See [the spec at github](https://github.com/google/eddystone/tree/master/eddystone-eid) for details. This value corresponds to a power-of-two scaler on the beacon's clock: when the scaler value is K, the beacon will begin broadcasting a new ephemeral ID on average every 2^K seconds. + "initialClockValue": "A String", # The initial clock value of the beacon. The beacon's clock must have begun counting at this value immediately prior to transmitting this value to the resolving service. Significant delay in transmitting this value to the service risks registration or resolution failures. If a value is not provided, the default is zero. + "beaconEcdhPublicKey": "A String", # The beacon's public key used for the Elliptic curve Diffie-Hellman key exchange. When this field is populated, `service_ecdh_public_key` must also be populated, and `beacon_identity_key` must not be. + "initialEid": "A String", # An initial ephemeral ID calculated using the clock value submitted as `initial_clock_value`, and the secret key generated by the Diffie-Hellman key exchange using `service_ecdh_public_key` and `service_ecdh_public_key`. This initial EID value will be used by the service to confirm that the key exchange process was successful. + "serviceEcdhPublicKey": "A String", # The service's public key used for the Elliptic curve Diffie-Hellman key exchange. When this field is populated, `beacon_ecdh_public_key` must also be populated, and `beacon_identity_key` must not be. + "beaconIdentityKey": "A String", # The private key of the beacon. If this field is populated, `beacon_ecdh_public_key` and `service_ecdh_public_key` must not be populated. + }, + "advertisedId": { # Defines a unique identifier of a beacon as broadcast by the device. # The identifier of a beacon as advertised by it. This field must be populated when registering. It may be empty when updating a beacon record because it is ignored in updates. When registering a beacon that broadcasts Eddystone-EID, this field should contain a "stable" Eddystone-UID that identifies the beacon and links it to its attachments. The stable Eddystone-UID is only used for administering the beacon. "type": "A String", # Specifies the identifier type. Required. "id": "A String", # The actual beacon identifier, as broadcast by the beacon hardware. Must be [base64](http://tools.ietf.org/html/rfc4648#section-4) encoded in HTTP requests, and will be so encoded (with padding) in responses. The base64 encoding should be of the binary byte-stream and not any textual (such as hex) representation thereof. Required. }, @@ -299,12 +340,13 @@

Method Details

"properties": { # Properties of the beacon device, for example battery type or firmware version. Optional. "a_key": "A String", }, + "provisioningKey": "A String", # Some beacons may require a user to provide an authorization key before changing any of its configuration (e.g. broadcast frames, transmit power). This field provides a place to store and control access to that key. This field is populated in responses to `GET /v1beta1/beacons/3!beaconId` from users with write access to the given beacon. That is to say: If the user is authorized to write the beacon's confidential data in the service, the service considers them authorized to configure the beacon. Note that this key grants nothing on the service, only on the beacon itself. }
- update(beaconName, body, x__xgafv=None) -
Updates the information about the specified beacon. **Any field that you do not populate in the submitted beacon will be permanently erased**, so you should follow the "read, modify, write" pattern to avoid inadvertently destroying data. Changes to the beacon status via this method will be silently ignored. To update beacon status, use the separate methods on this API for (de)activation and decommissioning.
+    update(beaconName, body, projectId=None, x__xgafv=None)
+  
Updates the information about the specified beacon. **Any field that you do not populate in the submitted beacon will be permanently erased**, so you should follow the "read, modify, write" pattern to avoid inadvertently destroying data. Changes to the beacon status via this method will be silently ignored. To update beacon status, use the separate methods on this API for activation, deactivation, and decommissioning. Authenticate using an [OAuth access token](https://developers.google.com/identity/protocols/OAuth2) from a signed-in user with **Is owner** or **Can edit** permissions in the Google Developers Console project.
 
 Args:
   beaconName: string, Resource name of this beacon. A beacon name has the format "beacons/N!beaconId" where the beaconId is the base16 ID broadcast by the beacon and N is a code for the beacon's type. Possible values are `3` for Eddystone, `1` for iBeacon, or `5` for AltBeacon. This field must be left empty when registering. After reading a beacon, clients can use the name for future operations. (required)
@@ -317,12 +359,20 @@ 

Method Details

"indoorLevel": { # Indoor level, a human-readable string as returned by Google Maps APIs, useful to indicate which floor of a building a beacon is located on. # The indoor level information for this beacon, if known. As returned by the Google Maps API. Optional. "name": "A String", # The name of this level. }, - "latLng": { # An object representing a latitude/longitude pair. This is expressed as a pair of doubles representing degrees latitude and degrees longitude. Unless specified otherwise, this must conform to the WGS84 standard. Values must be within normalized ranges. Example of normalization code in Python: def NormalizeLongitude(longitude): """Wrapsdecimal degrees longitude to [-180.0, 180.0].""" q, r = divmod(longitude, 360.0) if r > 180.0 or (r == 180.0 and q <= -1.0): return r - 360.0 return r def NormalizeLatLng(latitude, longitude): """Wraps decimal degrees latitude and longitude to [-180.0, 180.0] and [-90.0, 90.0], respectively.""" r = latitude % 360.0 if r = 270.0: return r - 360, NormalizeLongitude(longitude) else: return 180 - r, NormalizeLongitude(longitude + 180.0) assert 180.0 == NormalizeLongitude(180.0) assert -180.0 == NormalizeLongitude(-180.0) assert -179.0 == NormalizeLongitude(181.0) assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0) assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0) assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0) assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0) assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0) assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0) assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0) assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0) assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0) assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0) # The location of the beacon, expressed as a latitude and longitude pair. This location is given when the beacon is registered or updated. It does not necessarily indicate the actual current location of the beacon. Optional. + "latLng": { # An object representing a latitude/longitude pair. This is expressed as a pair of doubles representing degrees latitude and degrees longitude. Unless specified otherwise, this must conform to the WGS84 standard. Values must be within normalized ranges. Example of normalization code in Python: def NormalizeLongitude(longitude): """Wraps decimal degrees longitude to [-180.0, 180.0].""" q, r = divmod(longitude, 360.0) if r > 180.0 or (r == 180.0 and q <= -1.0): return r - 360.0 return r def NormalizeLatLng(latitude, longitude): """Wraps decimal degrees latitude and longitude to [-90.0, 90.0] and [-180.0, 180.0], respectively.""" r = latitude % 360.0 if r = 270.0: return r - 360, NormalizeLongitude(longitude) else: return 180 - r, NormalizeLongitude(longitude + 180.0) assert 180.0 == NormalizeLongitude(180.0) assert -180.0 == NormalizeLongitude(-180.0) assert -179.0 == NormalizeLongitude(181.0) assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0) assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0) assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0) assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0) assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0) assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0) assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0) assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0) assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0) assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0) # The location of the beacon, expressed as a latitude and longitude pair. This location is given when the beacon is registered or updated. It does not necessarily indicate the actual current location of the beacon. Optional. "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0]. "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0]. }, "placeId": "A String", # The [Google Places API](/places/place-id) Place ID of the place where the beacon is deployed. This is given when the beacon is registered or updated, not automatically detected in any way. Optional. - "advertisedId": { # Defines a unique identifier of a beacon as broadcast by the device. # The identifier of a beacon as advertised by it. This field must be populated when registering. It may be empty when updating a beacon record because it is ignored in updates. + "ephemeralIdRegistration": { # Write-only registration parameters for beacons using Eddystone-EID format. Two ways of securely registering an Eddystone-EID beacon with the service are supported: 1. Perform an ECDH key exchange via this API, including a previous call to `GET /v1beta1/eidparams`. In this case the fields `beacon_ecdh_public_key` and `service_ecdh_public_key` should be populated and `beacon_identity_key` should not be populated. This method ensures that only the two parties in the ECDH key exchange can compute the identity key, which becomes a secret between them. 2. Derive or obtain the beacon's identity key via other secure means (perhaps an ECDH key exchange between the beacon and a mobile device or any other secure method), and then submit the resulting identity key to the service. In this case `beacon_identity_key` field should be populated, and neither of `beacon_ecdh_public_key` nor `service_ecdh_public_key` fields should be. The security of this method depends on how securely the parties involved (in particular the bluetooth client) handle the identity key, and obviously on how securely the identity key was generated. See [the Eddystone specification](https://github.com/google/eddystone/tree/master/eddystone-eid) at GitHub. # Write-only registration parameters for beacons using Eddystone-EID (remotely resolved ephemeral ID) format. This information will not be populated in API responses. When submitting this data, the `advertised_id` field must contain an ID of type Eddystone-UID. Any other ID type will result in an error. + "rotationPeriodExponent": 42, # Indicates the nominal period between each rotation of the beacon's ephemeral ID. "Nominal" because the beacon should randomize the actual interval. See [the spec at github](https://github.com/google/eddystone/tree/master/eddystone-eid) for details. This value corresponds to a power-of-two scaler on the beacon's clock: when the scaler value is K, the beacon will begin broadcasting a new ephemeral ID on average every 2^K seconds. + "initialClockValue": "A String", # The initial clock value of the beacon. The beacon's clock must have begun counting at this value immediately prior to transmitting this value to the resolving service. Significant delay in transmitting this value to the service risks registration or resolution failures. If a value is not provided, the default is zero. + "beaconEcdhPublicKey": "A String", # The beacon's public key used for the Elliptic curve Diffie-Hellman key exchange. When this field is populated, `service_ecdh_public_key` must also be populated, and `beacon_identity_key` must not be. + "initialEid": "A String", # An initial ephemeral ID calculated using the clock value submitted as `initial_clock_value`, and the secret key generated by the Diffie-Hellman key exchange using `service_ecdh_public_key` and `service_ecdh_public_key`. This initial EID value will be used by the service to confirm that the key exchange process was successful. + "serviceEcdhPublicKey": "A String", # The service's public key used for the Elliptic curve Diffie-Hellman key exchange. When this field is populated, `beacon_ecdh_public_key` must also be populated, and `beacon_identity_key` must not be. + "beaconIdentityKey": "A String", # The private key of the beacon. If this field is populated, `beacon_ecdh_public_key` and `service_ecdh_public_key` must not be populated. + }, + "advertisedId": { # Defines a unique identifier of a beacon as broadcast by the device. # The identifier of a beacon as advertised by it. This field must be populated when registering. It may be empty when updating a beacon record because it is ignored in updates. When registering a beacon that broadcasts Eddystone-EID, this field should contain a "stable" Eddystone-UID that identifies the beacon and links it to its attachments. The stable Eddystone-UID is only used for administering the beacon. "type": "A String", # Specifies the identifier type. Required. "id": "A String", # The actual beacon identifier, as broadcast by the beacon hardware. Must be [base64](http://tools.ietf.org/html/rfc4648#section-4) encoded in HTTP requests, and will be so encoded (with padding) in responses. The base64 encoding should be of the binary byte-stream and not any textual (such as hex) representation thereof. Required. }, @@ -331,8 +381,10 @@

Method Details

"properties": { # Properties of the beacon device, for example battery type or firmware version. Optional. "a_key": "A String", }, + "provisioningKey": "A String", # Some beacons may require a user to provide an authorization key before changing any of its configuration (e.g. broadcast frames, transmit power). This field provides a place to store and control access to that key. This field is populated in responses to `GET /v1beta1/beacons/3!beaconId` from users with write access to the given beacon. That is to say: If the user is authorized to write the beacon's confidential data in the service, the service considers them authorized to configure the beacon. Note that this key grants nothing on the service, only on the beacon itself. } + projectId: string, The project id of the beacon to update. If the project id is not specified then the project making the request is used. The project id must match the project that owns the beacon. Optional. x__xgafv: string, V1 error format. Returns: @@ -344,12 +396,20 @@

Method Details

"indoorLevel": { # Indoor level, a human-readable string as returned by Google Maps APIs, useful to indicate which floor of a building a beacon is located on. # The indoor level information for this beacon, if known. As returned by the Google Maps API. Optional. "name": "A String", # The name of this level. }, - "latLng": { # An object representing a latitude/longitude pair. This is expressed as a pair of doubles representing degrees latitude and degrees longitude. Unless specified otherwise, this must conform to the WGS84 standard. Values must be within normalized ranges. Example of normalization code in Python: def NormalizeLongitude(longitude): """Wrapsdecimal degrees longitude to [-180.0, 180.0].""" q, r = divmod(longitude, 360.0) if r > 180.0 or (r == 180.0 and q <= -1.0): return r - 360.0 return r def NormalizeLatLng(latitude, longitude): """Wraps decimal degrees latitude and longitude to [-180.0, 180.0] and [-90.0, 90.0], respectively.""" r = latitude % 360.0 if r = 270.0: return r - 360, NormalizeLongitude(longitude) else: return 180 - r, NormalizeLongitude(longitude + 180.0) assert 180.0 == NormalizeLongitude(180.0) assert -180.0 == NormalizeLongitude(-180.0) assert -179.0 == NormalizeLongitude(181.0) assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0) assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0) assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0) assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0) assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0) assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0) assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0) assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0) assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0) assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0) # The location of the beacon, expressed as a latitude and longitude pair. This location is given when the beacon is registered or updated. It does not necessarily indicate the actual current location of the beacon. Optional. + "latLng": { # An object representing a latitude/longitude pair. This is expressed as a pair of doubles representing degrees latitude and degrees longitude. Unless specified otherwise, this must conform to the WGS84 standard. Values must be within normalized ranges. Example of normalization code in Python: def NormalizeLongitude(longitude): """Wraps decimal degrees longitude to [-180.0, 180.0].""" q, r = divmod(longitude, 360.0) if r > 180.0 or (r == 180.0 and q <= -1.0): return r - 360.0 return r def NormalizeLatLng(latitude, longitude): """Wraps decimal degrees latitude and longitude to [-90.0, 90.0] and [-180.0, 180.0], respectively.""" r = latitude % 360.0 if r = 270.0: return r - 360, NormalizeLongitude(longitude) else: return 180 - r, NormalizeLongitude(longitude + 180.0) assert 180.0 == NormalizeLongitude(180.0) assert -180.0 == NormalizeLongitude(-180.0) assert -179.0 == NormalizeLongitude(181.0) assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0) assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0) assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0) assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0) assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0) assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0) assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0) assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0) assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0) assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0) # The location of the beacon, expressed as a latitude and longitude pair. This location is given when the beacon is registered or updated. It does not necessarily indicate the actual current location of the beacon. Optional. "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0]. "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0]. }, "placeId": "A String", # The [Google Places API](/places/place-id) Place ID of the place where the beacon is deployed. This is given when the beacon is registered or updated, not automatically detected in any way. Optional. - "advertisedId": { # Defines a unique identifier of a beacon as broadcast by the device. # The identifier of a beacon as advertised by it. This field must be populated when registering. It may be empty when updating a beacon record because it is ignored in updates. + "ephemeralIdRegistration": { # Write-only registration parameters for beacons using Eddystone-EID format. Two ways of securely registering an Eddystone-EID beacon with the service are supported: 1. Perform an ECDH key exchange via this API, including a previous call to `GET /v1beta1/eidparams`. In this case the fields `beacon_ecdh_public_key` and `service_ecdh_public_key` should be populated and `beacon_identity_key` should not be populated. This method ensures that only the two parties in the ECDH key exchange can compute the identity key, which becomes a secret between them. 2. Derive or obtain the beacon's identity key via other secure means (perhaps an ECDH key exchange between the beacon and a mobile device or any other secure method), and then submit the resulting identity key to the service. In this case `beacon_identity_key` field should be populated, and neither of `beacon_ecdh_public_key` nor `service_ecdh_public_key` fields should be. The security of this method depends on how securely the parties involved (in particular the bluetooth client) handle the identity key, and obviously on how securely the identity key was generated. See [the Eddystone specification](https://github.com/google/eddystone/tree/master/eddystone-eid) at GitHub. # Write-only registration parameters for beacons using Eddystone-EID (remotely resolved ephemeral ID) format. This information will not be populated in API responses. When submitting this data, the `advertised_id` field must contain an ID of type Eddystone-UID. Any other ID type will result in an error. + "rotationPeriodExponent": 42, # Indicates the nominal period between each rotation of the beacon's ephemeral ID. "Nominal" because the beacon should randomize the actual interval. See [the spec at github](https://github.com/google/eddystone/tree/master/eddystone-eid) for details. This value corresponds to a power-of-two scaler on the beacon's clock: when the scaler value is K, the beacon will begin broadcasting a new ephemeral ID on average every 2^K seconds. + "initialClockValue": "A String", # The initial clock value of the beacon. The beacon's clock must have begun counting at this value immediately prior to transmitting this value to the resolving service. Significant delay in transmitting this value to the service risks registration or resolution failures. If a value is not provided, the default is zero. + "beaconEcdhPublicKey": "A String", # The beacon's public key used for the Elliptic curve Diffie-Hellman key exchange. When this field is populated, `service_ecdh_public_key` must also be populated, and `beacon_identity_key` must not be. + "initialEid": "A String", # An initial ephemeral ID calculated using the clock value submitted as `initial_clock_value`, and the secret key generated by the Diffie-Hellman key exchange using `service_ecdh_public_key` and `service_ecdh_public_key`. This initial EID value will be used by the service to confirm that the key exchange process was successful. + "serviceEcdhPublicKey": "A String", # The service's public key used for the Elliptic curve Diffie-Hellman key exchange. When this field is populated, `beacon_ecdh_public_key` must also be populated, and `beacon_identity_key` must not be. + "beaconIdentityKey": "A String", # The private key of the beacon. If this field is populated, `beacon_ecdh_public_key` and `service_ecdh_public_key` must not be populated. + }, + "advertisedId": { # Defines a unique identifier of a beacon as broadcast by the device. # The identifier of a beacon as advertised by it. This field must be populated when registering. It may be empty when updating a beacon record because it is ignored in updates. When registering a beacon that broadcasts Eddystone-EID, this field should contain a "stable" Eddystone-UID that identifies the beacon and links it to its attachments. The stable Eddystone-UID is only used for administering the beacon. "type": "A String", # Specifies the identifier type. Required. "id": "A String", # The actual beacon identifier, as broadcast by the beacon hardware. Must be [base64](http://tools.ietf.org/html/rfc4648#section-4) encoded in HTTP requests, and will be so encoded (with padding) in responses. The base64 encoding should be of the binary byte-stream and not any textual (such as hex) representation thereof. Required. }, @@ -358,6 +418,7 @@

Method Details

"properties": { # Properties of the beacon device, for example battery type or firmware version. Optional. "a_key": "A String", }, + "provisioningKey": "A String", # Some beacons may require a user to provide an authorization key before changing any of its configuration (e.g. broadcast frames, transmit power). This field provides a place to store and control access to that key. This field is populated in responses to `GET /v1beta1/beacons/3!beaconId` from users with write access to the given beacon. That is to say: If the user is authorized to write the beacon's confidential data in the service, the service considers them authorized to configure the beacon. Note that this key grants nothing on the service, only on the beacon itself. }
diff --git a/docs/dyn/proximitybeacon_v1beta1.html b/docs/dyn/proximitybeacon_v1beta1.html index e874838137a..539176c6888 100644 --- a/docs/dyn/proximitybeacon_v1beta1.html +++ b/docs/dyn/proximitybeacon_v1beta1.html @@ -89,6 +89,11 @@

Instance Methods

Returns the namespaces Resource.

+

+ v1beta1() +

+

Returns the v1beta1 Resource.

+

new_batch_http_request()

Create a BatchHttpRequest object based on the discovery document.

diff --git a/docs/dyn/proximitybeacon_v1beta1.namespaces.html b/docs/dyn/proximitybeacon_v1beta1.namespaces.html index cdde87b825f..50ef262b6b1 100644 --- a/docs/dyn/proximitybeacon_v1beta1.namespaces.html +++ b/docs/dyn/proximitybeacon_v1beta1.namespaces.html @@ -75,14 +75,18 @@

Google Proximity Beacon API . namespaces

Instance Methods

- list(x__xgafv=None)

-

Lists all attachment namespaces owned by your Google Developers Console project. Attachment data associated with a beacon must include a namespaced type, and the namespace must be owned by your project.

+ list(projectId=None, x__xgafv=None)

+

Lists all attachment namespaces owned by your Google Developers Console project. Attachment data associated with a beacon must include a namespaced type, and the namespace must be owned by your project. Authenticate using an [OAuth access token](https://developers.google.com/identity/protocols/OAuth2) from a signed-in user with **viewer**, **Is owner** or **Can edit** permissions in the Google Developers Console project.

+

+ update(namespaceName, body, projectId=None, x__xgafv=None)

+

Updates the information about the specified namespace. Only the namespace visibility can be updated.

Method Details

- list(x__xgafv=None) -
Lists all attachment namespaces owned by your Google Developers Console project. Attachment data associated with a beacon must include a namespaced type, and the namespace must be owned by your project.
+    list(projectId=None, x__xgafv=None)
+  
Lists all attachment namespaces owned by your Google Developers Console project. Attachment data associated with a beacon must include a namespaced type, and the namespace must be owned by your project. Authenticate using an [OAuth access token](https://developers.google.com/identity/protocols/OAuth2) from a signed-in user with **viewer**, **Is owner** or **Can edit** permissions in the Google Developers Console project.
 
 Args:
+  projectId: string, The project id to list namespaces under. Optional.
   x__xgafv: string, V1 error format.
 
 Returns:
@@ -98,4 +102,30 @@ 

Method Details

}
+
+ update(namespaceName, body, projectId=None, x__xgafv=None) +
Updates the information about the specified namespace. Only the namespace visibility can be updated.
+
+Args:
+  namespaceName: string, Resource name of this namespace. Namespaces names have the format: namespaces/namespace. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # An attachment namespace defines read and write access for all the attachments created under it. Each namespace is globally unique, and owned by one project which is the only project that can create attachments under it.
+  "namespaceName": "A String", # Resource name of this namespace. Namespaces names have the format: namespaces/namespace.
+  "servingVisibility": "A String", # Specifies what clients may receive attachments under this namespace via `beaconinfo.getforobserved`.
+}
+
+  projectId: string, The project id of the namespace to update. If the project id is not specified then the project making the request is used. The project id must match the project that owns the beacon. Optional.
+  x__xgafv: string, V1 error format.
+
+Returns:
+  An object of the form:
+
+    { # An attachment namespace defines read and write access for all the attachments created under it. Each namespace is globally unique, and owned by one project which is the only project that can create attachments under it.
+    "namespaceName": "A String", # Resource name of this namespace. Namespaces names have the format: namespaces/namespace.
+    "servingVisibility": "A String", # Specifies what clients may receive attachments under this namespace via `beaconinfo.getforobserved`.
+  }
+
+ \ No newline at end of file diff --git a/docs/dyn/proximitybeacon_v1beta1.v1beta1.html b/docs/dyn/proximitybeacon_v1beta1.v1beta1.html new file mode 100644 index 00000000000..68e8c30f425 --- /dev/null +++ b/docs/dyn/proximitybeacon_v1beta1.v1beta1.html @@ -0,0 +1,98 @@ + + + +

Google Proximity Beacon API . v1beta1

+

Instance Methods

+

+ getEidparams(x__xgafv=None)

+

Gets the Proximity Beacon API's current public key and associated parameters used to initiate the Diffie-Hellman key exchange required to register a beacon that broadcasts the Eddystone-EID format. This key changes periodically; clients may cache it and re-use the same public key to provision and register multiple beacons. However, clients should be prepared to refresh this key when they encounter an error registering an Eddystone-EID beacon.

+

Method Details

+
+ getEidparams(x__xgafv=None) +
Gets the Proximity Beacon API's current public key and associated parameters used to initiate the Diffie-Hellman key exchange required to register a beacon that broadcasts the Eddystone-EID format. This key changes periodically; clients may cache it and re-use the same public key to provision and register multiple beacons. However, clients should be prepared to refresh this key when they encounter an error registering an Eddystone-EID beacon.
+
+Args:
+  x__xgafv: string, V1 error format.
+
+Returns:
+  An object of the form:
+
+    { # Information a client needs to provision and register beacons that broadcast Eddystone-EID format beacon IDs, using Elliptic curve Diffie-Hellman key exchange. See [the Eddystone specification](https://github.com/google/eddystone/tree/master/eddystone-eid) at GitHub.
+    "minRotationPeriodExponent": 42, # Indicates the minimum rotation period supported by the service. See EddystoneEidRegistration.rotation_period_exponent
+    "maxRotationPeriodExponent": 42, # Indicates the maximum rotation period supported by the service. See EddystoneEidRegistration.rotation_period_exponent
+    "serviceEcdhPublicKey": "A String", # The beacon service's public key for use by a beacon to derive its Identity Key using Elliptic Curve Diffie-Hellman key exchange.
+  }
+
+ + \ No newline at end of file diff --git a/docs/dyn/pubsub_v1.projects.subscriptions.html b/docs/dyn/pubsub_v1.projects.subscriptions.html index 1aa540b5bac..40efcfff655 100644 --- a/docs/dyn/pubsub_v1.projects.subscriptions.html +++ b/docs/dyn/pubsub_v1.projects.subscriptions.html @@ -79,7 +79,7 @@

Instance Methods

Acknowledges the messages associated with the `ack_ids` in the `AcknowledgeRequest`. The Pub/Sub system can remove the relevant messages from the subscription. Acknowledging a message whose ack deadline has expired may succeed, but such a message may be redelivered later. Acknowledging a message more than once will not result in an error.

create(name, body, x__xgafv=None)

-

Creates a subscription to a given topic for a given subscriber. If the subscription already exists, returns `ALREADY_EXISTS`. If the corresponding topic doesn't exist, returns `NOT_FOUND`. If the name is not provided in the request, the server will assign a random name for this subscription on the same project as the topic.

+

Creates a subscription to a given topic. If the subscription already exists, returns `ALREADY_EXISTS`. If the corresponding topic doesn't exist, returns `NOT_FOUND`. If the name is not provided in the request, the server will assign a random name for this subscription on the same project as the topic.

delete(subscription, x__xgafv=None)

Deletes an existing subscription. All pending messages in the subscription are immediately dropped. Calls to `Pull` after deletion will return `NOT_FOUND`. After a subscription is deleted, a new one may be created with the same name, but the new one has no association with the old subscription, or its topic unless the same topic is specified.

@@ -88,7 +88,7 @@

Instance Methods

Gets the configuration details of a subscription.

getIamPolicy(resource, x__xgafv=None)

-

Gets the access control policy for a `resource`. Is empty if the policy or the resource does not exist.

+

Gets the access control policy for a `resource`. Returns an empty policy if the resource exists and does not have a policy set.

list(project, pageSize=None, pageToken=None, x__xgafv=None)

Lists matching subscriptions.

@@ -137,7 +137,7 @@

Method Details

create(name, body, x__xgafv=None) -
Creates a subscription to a given topic for a given subscriber. If the subscription already exists, returns `ALREADY_EXISTS`. If the corresponding topic doesn't exist, returns `NOT_FOUND`. If the name is not provided in the request, the server will assign a random name for this subscription on the same project as the topic.
+  
Creates a subscription to a given topic. If the subscription already exists, returns `ALREADY_EXISTS`. If the corresponding topic doesn't exist, returns `NOT_FOUND`. If the name is not provided in the request, the server will assign a random name for this subscription on the same project as the topic.
 
 Args:
   name: string, The name of the subscription. It must have the format `"projects/{project}/subscriptions/{subscription}"`. `{subscription}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `"goog"`. (required)
@@ -146,7 +146,7 @@ 

Method Details

{ # A subscription resource. "topic": "A String", # The name of the topic from which this subscription is receiving messages. The value of this field will be `_deleted-topic_` if the topic has been deleted. - "ackDeadlineSeconds": 42, # This value is the maximum time after a subscriber receives a message before the subscriber should acknowledge the message. After message delivery but before the ack deadline expires and before the message is acknowledged, it is an outstanding message and will not be delivered again during that time (on a best-effort basis). For pull delivery this value is used as the initial value for the ack deadline. To override this value for a given message, call `ModifyAckDeadline` with the corresponding `ack_id`. For push delivery, this value is also used to set the request timeout for the call to the push endpoint. If the subscriber never acknowledges the message, the Pub/Sub system will eventually redeliver the message. If this parameter is not set, the default value of 10 seconds is used. + "ackDeadlineSeconds": 42, # This value is the maximum time after a subscriber receives a message before the subscriber should acknowledge the message. After message delivery but before the ack deadline expires and before the message is acknowledged, it is an outstanding message and will not be delivered again during that time (on a best-effort basis). For pull subscriptions, this value is used as the initial value for the ack deadline. To override this value for a given message, call `ModifyAckDeadline` with the corresponding `ack_id` if using pull. For push delivery, this value is also used to set the request timeout for the call to the push endpoint. If the subscriber never acknowledges the message, the Pub/Sub system will eventually redeliver the message. If this parameter is not set, the default value of 10 seconds is used. "pushConfig": { # Configuration for a push delivery endpoint. # If push delivery is used with this subscription, this field is used to configure it. An empty `pushConfig` signifies that the subscriber will pull and ack messages using API methods. "attributes": { # Endpoint configuration attributes. Every endpoint has a set of API supported attributes that can be used to control different aspects of the message delivery. The currently supported attribute is `x-goog-version`, which you can use to change the format of the push message. This attribute indicates the version of the data expected by the endpoint. This controls the shape of the envelope (i.e. its fields and metadata). The endpoint version is based on the version of the Pub/Sub API. If not present during the `CreateSubscription` call, it will default to the version of the API used to make such call. If not present during a `ModifyPushConfig` call, its value will not be changed. `GetSubscription` calls will always return a valid version, even if the subscription was created without this attribute. The possible values for this attribute are: * `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API. * `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API. "a_key": "A String", @@ -163,7 +163,7 @@

Method Details

{ # A subscription resource. "topic": "A String", # The name of the topic from which this subscription is receiving messages. The value of this field will be `_deleted-topic_` if the topic has been deleted. - "ackDeadlineSeconds": 42, # This value is the maximum time after a subscriber receives a message before the subscriber should acknowledge the message. After message delivery but before the ack deadline expires and before the message is acknowledged, it is an outstanding message and will not be delivered again during that time (on a best-effort basis). For pull delivery this value is used as the initial value for the ack deadline. To override this value for a given message, call `ModifyAckDeadline` with the corresponding `ack_id`. For push delivery, this value is also used to set the request timeout for the call to the push endpoint. If the subscriber never acknowledges the message, the Pub/Sub system will eventually redeliver the message. If this parameter is not set, the default value of 10 seconds is used. + "ackDeadlineSeconds": 42, # This value is the maximum time after a subscriber receives a message before the subscriber should acknowledge the message. After message delivery but before the ack deadline expires and before the message is acknowledged, it is an outstanding message and will not be delivered again during that time (on a best-effort basis). For pull subscriptions, this value is used as the initial value for the ack deadline. To override this value for a given message, call `ModifyAckDeadline` with the corresponding `ack_id` if using pull. For push delivery, this value is also used to set the request timeout for the call to the push endpoint. If the subscriber never acknowledges the message, the Pub/Sub system will eventually redeliver the message. If this parameter is not set, the default value of 10 seconds is used. "pushConfig": { # Configuration for a push delivery endpoint. # If push delivery is used with this subscription, this field is used to configure it. An empty `pushConfig` signifies that the subscriber will pull and ack messages using API methods. "attributes": { # Endpoint configuration attributes. Every endpoint has a set of API supported attributes that can be used to control different aspects of the message delivery. The currently supported attribute is `x-goog-version`, which you can use to change the format of the push message. This attribute indicates the version of the data expected by the endpoint. This controls the shape of the envelope (i.e. its fields and metadata). The endpoint version is based on the version of the Pub/Sub API. If not present during the `CreateSubscription` call, it will default to the version of the API used to make such call. If not present during a `ModifyPushConfig` call, its value will not be changed. `GetSubscription` calls will always return a valid version, even if the subscription was created without this attribute. The possible values for this attribute are: * `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API. * `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API. "a_key": "A String", @@ -202,7 +202,7 @@

Method Details

{ # A subscription resource. "topic": "A String", # The name of the topic from which this subscription is receiving messages. The value of this field will be `_deleted-topic_` if the topic has been deleted. - "ackDeadlineSeconds": 42, # This value is the maximum time after a subscriber receives a message before the subscriber should acknowledge the message. After message delivery but before the ack deadline expires and before the message is acknowledged, it is an outstanding message and will not be delivered again during that time (on a best-effort basis). For pull delivery this value is used as the initial value for the ack deadline. To override this value for a given message, call `ModifyAckDeadline` with the corresponding `ack_id`. For push delivery, this value is also used to set the request timeout for the call to the push endpoint. If the subscriber never acknowledges the message, the Pub/Sub system will eventually redeliver the message. If this parameter is not set, the default value of 10 seconds is used. + "ackDeadlineSeconds": 42, # This value is the maximum time after a subscriber receives a message before the subscriber should acknowledge the message. After message delivery but before the ack deadline expires and before the message is acknowledged, it is an outstanding message and will not be delivered again during that time (on a best-effort basis). For pull subscriptions, this value is used as the initial value for the ack deadline. To override this value for a given message, call `ModifyAckDeadline` with the corresponding `ack_id` if using pull. For push delivery, this value is also used to set the request timeout for the call to the push endpoint. If the subscriber never acknowledges the message, the Pub/Sub system will eventually redeliver the message. If this parameter is not set, the default value of 10 seconds is used. "pushConfig": { # Configuration for a push delivery endpoint. # If push delivery is used with this subscription, this field is used to configure it. An empty `pushConfig` signifies that the subscriber will pull and ack messages using API methods. "attributes": { # Endpoint configuration attributes. Every endpoint has a set of API supported attributes that can be used to control different aspects of the message delivery. The currently supported attribute is `x-goog-version`, which you can use to change the format of the push message. This attribute indicates the version of the data expected by the endpoint. This controls the shape of the envelope (i.e. its fields and metadata). The endpoint version is based on the version of the Pub/Sub API. If not present during the `CreateSubscription` call, it will default to the version of the API used to make such call. If not present during a `ModifyPushConfig` call, its value will not be changed. `GetSubscription` calls will always return a valid version, even if the subscription was created without this attribute. The possible values for this attribute are: * `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API. * `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API. "a_key": "A String", @@ -215,26 +215,26 @@

Method Details

getIamPolicy(resource, x__xgafv=None) -
Gets the access control policy for a `resource`. Is empty if the policy or the resource does not exist.
+  
Gets the access control policy for a `resource`. Returns an empty policy if the resource exists and does not have a policy set.
 
 Args:
-  resource: string, REQUIRED: The resource for which policy is being requested. `resource` is usually specified as a path, such as, `projects/{project}/zones/{zone}/disks/{disk}`. The format for the path specified in this value is resource specific and is specified in the documentation for the respective GetIamPolicy rpc. (required)
+  resource: string, REQUIRED: The resource for which the policy is being requested. `resource` is usually specified as a path, such as `projects/*project*/zones/*zone*/disks/*disk*`. The format for the path specified in this value is resource specific and is specified in the `getIamPolicy` documentation. (required)
   x__xgafv: string, V1 error format.
 
 Returns:
   An object of the form:
 
-    { # Defines an Identity and Access Management (IAM) policy. It is used to specify access control policies for Cloud Platform resources. A `Policy` consists of a list of `bindings`. A `Binding` binds a list of `members` to a `role`, where the members can be user accounts, Google groups, Google domains, and service accounts. A `role` is a named list of permissions defined by IAM. **Example** { "bindings": [ { "role": "roles/owner", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@appspot.gserviceaccount.com"] }, { "role": "roles/viewer", "members": ["user:sean@example.com"] } ] } For a description of IAM and its features, see the [IAM developer's guide](https://cloud.google.com/iam).
+    { # Defines an Identity and Access Management (IAM) policy. It is used to specify access control policies for Cloud Platform resources. A `Policy` consists of a list of `bindings`. A `Binding` binds a list of `members` to a `role`, where the members can be user accounts, Google groups, Google domains, and service accounts. A `role` is a named list of permissions defined by IAM. **Example** { "bindings": [ { "role": "roles/owner", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@appspot.gserviceaccount.com", ] }, { "role": "roles/viewer", "members": ["user:sean@example.com"] } ] } For a description of IAM and its features, see the [IAM developer's guide](https://cloud.google.com/iam).
     "bindings": [ # Associates a list of `members` to a `role`. Multiple `bindings` must not be specified for the same `role`. `bindings` with no members will result in an error.
       { # Associates `members` with a `role`.
         "role": "A String", # Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. Required
-        "members": [ # Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following formats: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@gmail.com` or `joe@example.com`. * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: A Google Apps domain name that represents all the users of that domain. For example, `google.com` or `example.com`.
+        "members": [ # Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@gmail.com` or `joe@example.com`. * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: A Google Apps domain name that represents all the users of that domain. For example, `google.com` or `example.com`.
           "A String",
         ],
       },
     ],
     "version": 42, # Version of the `Policy`. The default version is 0.
-    "etag": "A String", # Can be used to perform a read-modify-write.
+    "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. If no `etag` is provided in the call to `setIamPolicy`, then the existing policy is overwritten blindly.
   }
@@ -256,7 +256,7 @@

Method Details

"subscriptions": [ # The subscriptions that match the request. { # A subscription resource. "topic": "A String", # The name of the topic from which this subscription is receiving messages. The value of this field will be `_deleted-topic_` if the topic has been deleted. - "ackDeadlineSeconds": 42, # This value is the maximum time after a subscriber receives a message before the subscriber should acknowledge the message. After message delivery but before the ack deadline expires and before the message is acknowledged, it is an outstanding message and will not be delivered again during that time (on a best-effort basis). For pull delivery this value is used as the initial value for the ack deadline. To override this value for a given message, call `ModifyAckDeadline` with the corresponding `ack_id`. For push delivery, this value is also used to set the request timeout for the call to the push endpoint. If the subscriber never acknowledges the message, the Pub/Sub system will eventually redeliver the message. If this parameter is not set, the default value of 10 seconds is used. + "ackDeadlineSeconds": 42, # This value is the maximum time after a subscriber receives a message before the subscriber should acknowledge the message. After message delivery but before the ack deadline expires and before the message is acknowledged, it is an outstanding message and will not be delivered again during that time (on a best-effort basis). For pull subscriptions, this value is used as the initial value for the ack deadline. To override this value for a given message, call `ModifyAckDeadline` with the corresponding `ack_id` if using pull. For push delivery, this value is also used to set the request timeout for the call to the push endpoint. If the subscriber never acknowledges the message, the Pub/Sub system will eventually redeliver the message. If this parameter is not set, the default value of 10 seconds is used. "pushConfig": { # Configuration for a push delivery endpoint. # If push delivery is used with this subscription, this field is used to configure it. An empty `pushConfig` signifies that the subscriber will pull and ack messages using API methods. "attributes": { # Endpoint configuration attributes. Every endpoint has a set of API supported attributes that can be used to control different aspects of the message delivery. The currently supported attribute is `x-goog-version`, which you can use to change the format of the push message. This attribute indicates the version of the data expected by the endpoint. This controls the shape of the envelope (i.e. its fields and metadata). The endpoint version is based on the version of the Pub/Sub API. If not present during the `CreateSubscription` call, it will default to the version of the API used to make such call. If not present during a `ModifyPushConfig` call, its value will not be changed. `GetSubscription` calls will always return a valid version, even if the subscription was created without this attribute. The possible values for this attribute are: * `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API. * `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API. "a_key": "A String", @@ -376,22 +376,22 @@

Method Details

Sets the access control policy on the specified resource. Replaces any existing policy.
 
 Args:
-  resource: string, REQUIRED: The resource for which policy is being specified. `resource` is usually specified as a path, such as, `projects/{project}/zones/{zone}/disks/{disk}`. The format for the path specified in this value is resource specific and is specified in the documentation for the respective SetIamPolicy rpc. (required)
+  resource: string, REQUIRED: The resource for which the policy is being specified. `resource` is usually specified as a path, such as `projects/*project*/zones/*zone*/disks/*disk*`. The format for the path specified in this value is resource specific and is specified in the `setIamPolicy` documentation. (required)
   body: object, The request body. (required)
     The object takes the form of:
 
 { # Request message for `SetIamPolicy` method.
-    "policy": { # Defines an Identity and Access Management (IAM) policy. It is used to specify access control policies for Cloud Platform resources. A `Policy` consists of a list of `bindings`. A `Binding` binds a list of `members` to a `role`, where the members can be user accounts, Google groups, Google domains, and service accounts. A `role` is a named list of permissions defined by IAM. **Example** { "bindings": [ { "role": "roles/owner", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@appspot.gserviceaccount.com"] }, { "role": "roles/viewer", "members": ["user:sean@example.com"] } ] } For a description of IAM and its features, see the [IAM developer's guide](https://cloud.google.com/iam). # REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them.
+    "policy": { # Defines an Identity and Access Management (IAM) policy. It is used to specify access control policies for Cloud Platform resources. A `Policy` consists of a list of `bindings`. A `Binding` binds a list of `members` to a `role`, where the members can be user accounts, Google groups, Google domains, and service accounts. A `role` is a named list of permissions defined by IAM. **Example** { "bindings": [ { "role": "roles/owner", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@appspot.gserviceaccount.com", ] }, { "role": "roles/viewer", "members": ["user:sean@example.com"] } ] } For a description of IAM and its features, see the [IAM developer's guide](https://cloud.google.com/iam). # REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them.
       "bindings": [ # Associates a list of `members` to a `role`. Multiple `bindings` must not be specified for the same `role`. `bindings` with no members will result in an error.
         { # Associates `members` with a `role`.
           "role": "A String", # Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. Required
-          "members": [ # Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following formats: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@gmail.com` or `joe@example.com`. * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: A Google Apps domain name that represents all the users of that domain. For example, `google.com` or `example.com`.
+          "members": [ # Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@gmail.com` or `joe@example.com`. * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: A Google Apps domain name that represents all the users of that domain. For example, `google.com` or `example.com`.
             "A String",
           ],
         },
       ],
       "version": 42, # Version of the `Policy`. The default version is 0.
-      "etag": "A String", # Can be used to perform a read-modify-write.
+      "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. If no `etag` is provided in the call to `setIamPolicy`, then the existing policy is overwritten blindly.
     },
   }
 
@@ -400,17 +400,17 @@ 

Method Details

Returns: An object of the form: - { # Defines an Identity and Access Management (IAM) policy. It is used to specify access control policies for Cloud Platform resources. A `Policy` consists of a list of `bindings`. A `Binding` binds a list of `members` to a `role`, where the members can be user accounts, Google groups, Google domains, and service accounts. A `role` is a named list of permissions defined by IAM. **Example** { "bindings": [ { "role": "roles/owner", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@appspot.gserviceaccount.com"] }, { "role": "roles/viewer", "members": ["user:sean@example.com"] } ] } For a description of IAM and its features, see the [IAM developer's guide](https://cloud.google.com/iam). + { # Defines an Identity and Access Management (IAM) policy. It is used to specify access control policies for Cloud Platform resources. A `Policy` consists of a list of `bindings`. A `Binding` binds a list of `members` to a `role`, where the members can be user accounts, Google groups, Google domains, and service accounts. A `role` is a named list of permissions defined by IAM. **Example** { "bindings": [ { "role": "roles/owner", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@appspot.gserviceaccount.com", ] }, { "role": "roles/viewer", "members": ["user:sean@example.com"] } ] } For a description of IAM and its features, see the [IAM developer's guide](https://cloud.google.com/iam). "bindings": [ # Associates a list of `members` to a `role`. Multiple `bindings` must not be specified for the same `role`. `bindings` with no members will result in an error. { # Associates `members` with a `role`. "role": "A String", # Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. Required - "members": [ # Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following formats: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@gmail.com` or `joe@example.com`. * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: A Google Apps domain name that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@gmail.com` or `joe@example.com`. * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: A Google Apps domain name that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], }, ], "version": 42, # Version of the `Policy`. The default version is 0. - "etag": "A String", # Can be used to perform a read-modify-write. + "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. If no `etag` is provided in the call to `setIamPolicy`, then the existing policy is overwritten blindly. }
@@ -419,12 +419,12 @@

Method Details

Returns permissions that a caller has on the specified resource.
 
 Args:
-  resource: string, REQUIRED: The resource for which policy detail is being requested. `resource` is usually specified as a path, such as, `projects/{project}/zones/{zone}/disks/{disk}`. The format for the path specified in this value is resource specific and is specified in the documentation for the respective TestIamPermissions rpc. (required)
+  resource: string, REQUIRED: The resource for which the policy detail is being requested. `resource` is usually specified as a path, such as `projects/*project*/zones/*zone*/disks/*disk*`. The format for the path specified in this value is resource specific and is specified in the `testIamPermissions` documentation. (required)
   body: object, The request body. (required)
     The object takes the form of:
 
 { # Request message for `TestIamPermissions` method.
-    "permissions": [ # The set of permissions to check for the `resource`. Permissions with wildcards (such as '*' or 'storage.*') are not allowed.
+    "permissions": [ # The set of permissions to check for the `resource`. Permissions with wildcards (such as '*' or 'storage.*') are not allowed. For more information see IAM Overview.
       "A String",
     ],
   }
diff --git a/docs/dyn/pubsub_v1.projects.topics.html b/docs/dyn/pubsub_v1.projects.topics.html
index 828c8981b6f..a199f915c7b 100644
--- a/docs/dyn/pubsub_v1.projects.topics.html
+++ b/docs/dyn/pubsub_v1.projects.topics.html
@@ -90,7 +90,7 @@ 

Instance Methods

Gets the configuration of a topic.

getIamPolicy(resource, x__xgafv=None)

-

Gets the access control policy for a `resource`. Is empty if the policy or the resource does not exist.

+

Gets the access control policy for a `resource`. Returns an empty policy if the resource exists and does not have a policy set.

list(project, pageSize=None, pageToken=None, x__xgafv=None)

Lists matching topics.

@@ -163,26 +163,26 @@

Method Details

getIamPolicy(resource, x__xgafv=None) -
Gets the access control policy for a `resource`. Is empty if the policy or the resource does not exist.
+  
Gets the access control policy for a `resource`. Returns an empty policy if the resource exists and does not have a policy set.
 
 Args:
-  resource: string, REQUIRED: The resource for which policy is being requested. `resource` is usually specified as a path, such as, `projects/{project}/zones/{zone}/disks/{disk}`. The format for the path specified in this value is resource specific and is specified in the documentation for the respective GetIamPolicy rpc. (required)
+  resource: string, REQUIRED: The resource for which the policy is being requested. `resource` is usually specified as a path, such as `projects/*project*/zones/*zone*/disks/*disk*`. The format for the path specified in this value is resource specific and is specified in the `getIamPolicy` documentation. (required)
   x__xgafv: string, V1 error format.
 
 Returns:
   An object of the form:
 
-    { # Defines an Identity and Access Management (IAM) policy. It is used to specify access control policies for Cloud Platform resources. A `Policy` consists of a list of `bindings`. A `Binding` binds a list of `members` to a `role`, where the members can be user accounts, Google groups, Google domains, and service accounts. A `role` is a named list of permissions defined by IAM. **Example** { "bindings": [ { "role": "roles/owner", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@appspot.gserviceaccount.com"] }, { "role": "roles/viewer", "members": ["user:sean@example.com"] } ] } For a description of IAM and its features, see the [IAM developer's guide](https://cloud.google.com/iam).
+    { # Defines an Identity and Access Management (IAM) policy. It is used to specify access control policies for Cloud Platform resources. A `Policy` consists of a list of `bindings`. A `Binding` binds a list of `members` to a `role`, where the members can be user accounts, Google groups, Google domains, and service accounts. A `role` is a named list of permissions defined by IAM. **Example** { "bindings": [ { "role": "roles/owner", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@appspot.gserviceaccount.com", ] }, { "role": "roles/viewer", "members": ["user:sean@example.com"] } ] } For a description of IAM and its features, see the [IAM developer's guide](https://cloud.google.com/iam).
     "bindings": [ # Associates a list of `members` to a `role`. Multiple `bindings` must not be specified for the same `role`. `bindings` with no members will result in an error.
       { # Associates `members` with a `role`.
         "role": "A String", # Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. Required
-        "members": [ # Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following formats: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@gmail.com` or `joe@example.com`. * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: A Google Apps domain name that represents all the users of that domain. For example, `google.com` or `example.com`.
+        "members": [ # Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@gmail.com` or `joe@example.com`. * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: A Google Apps domain name that represents all the users of that domain. For example, `google.com` or `example.com`.
           "A String",
         ],
       },
     ],
     "version": 42, # Version of the `Policy`. The default version is 0.
-    "etag": "A String", # Can be used to perform a read-modify-write.
+    "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. If no `etag` is provided in the call to `setIamPolicy`, then the existing policy is overwritten blindly.
   }
@@ -262,22 +262,22 @@

Method Details

Sets the access control policy on the specified resource. Replaces any existing policy.
 
 Args:
-  resource: string, REQUIRED: The resource for which policy is being specified. `resource` is usually specified as a path, such as, `projects/{project}/zones/{zone}/disks/{disk}`. The format for the path specified in this value is resource specific and is specified in the documentation for the respective SetIamPolicy rpc. (required)
+  resource: string, REQUIRED: The resource for which the policy is being specified. `resource` is usually specified as a path, such as `projects/*project*/zones/*zone*/disks/*disk*`. The format for the path specified in this value is resource specific and is specified in the `setIamPolicy` documentation. (required)
   body: object, The request body. (required)
     The object takes the form of:
 
 { # Request message for `SetIamPolicy` method.
-    "policy": { # Defines an Identity and Access Management (IAM) policy. It is used to specify access control policies for Cloud Platform resources. A `Policy` consists of a list of `bindings`. A `Binding` binds a list of `members` to a `role`, where the members can be user accounts, Google groups, Google domains, and service accounts. A `role` is a named list of permissions defined by IAM. **Example** { "bindings": [ { "role": "roles/owner", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@appspot.gserviceaccount.com"] }, { "role": "roles/viewer", "members": ["user:sean@example.com"] } ] } For a description of IAM and its features, see the [IAM developer's guide](https://cloud.google.com/iam). # REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them.
+    "policy": { # Defines an Identity and Access Management (IAM) policy. It is used to specify access control policies for Cloud Platform resources. A `Policy` consists of a list of `bindings`. A `Binding` binds a list of `members` to a `role`, where the members can be user accounts, Google groups, Google domains, and service accounts. A `role` is a named list of permissions defined by IAM. **Example** { "bindings": [ { "role": "roles/owner", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@appspot.gserviceaccount.com", ] }, { "role": "roles/viewer", "members": ["user:sean@example.com"] } ] } For a description of IAM and its features, see the [IAM developer's guide](https://cloud.google.com/iam). # REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them.
       "bindings": [ # Associates a list of `members` to a `role`. Multiple `bindings` must not be specified for the same `role`. `bindings` with no members will result in an error.
         { # Associates `members` with a `role`.
           "role": "A String", # Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. Required
-          "members": [ # Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following formats: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@gmail.com` or `joe@example.com`. * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: A Google Apps domain name that represents all the users of that domain. For example, `google.com` or `example.com`.
+          "members": [ # Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@gmail.com` or `joe@example.com`. * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: A Google Apps domain name that represents all the users of that domain. For example, `google.com` or `example.com`.
             "A String",
           ],
         },
       ],
       "version": 42, # Version of the `Policy`. The default version is 0.
-      "etag": "A String", # Can be used to perform a read-modify-write.
+      "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. If no `etag` is provided in the call to `setIamPolicy`, then the existing policy is overwritten blindly.
     },
   }
 
@@ -286,17 +286,17 @@ 

Method Details

Returns: An object of the form: - { # Defines an Identity and Access Management (IAM) policy. It is used to specify access control policies for Cloud Platform resources. A `Policy` consists of a list of `bindings`. A `Binding` binds a list of `members` to a `role`, where the members can be user accounts, Google groups, Google domains, and service accounts. A `role` is a named list of permissions defined by IAM. **Example** { "bindings": [ { "role": "roles/owner", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@appspot.gserviceaccount.com"] }, { "role": "roles/viewer", "members": ["user:sean@example.com"] } ] } For a description of IAM and its features, see the [IAM developer's guide](https://cloud.google.com/iam). + { # Defines an Identity and Access Management (IAM) policy. It is used to specify access control policies for Cloud Platform resources. A `Policy` consists of a list of `bindings`. A `Binding` binds a list of `members` to a `role`, where the members can be user accounts, Google groups, Google domains, and service accounts. A `role` is a named list of permissions defined by IAM. **Example** { "bindings": [ { "role": "roles/owner", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@appspot.gserviceaccount.com", ] }, { "role": "roles/viewer", "members": ["user:sean@example.com"] } ] } For a description of IAM and its features, see the [IAM developer's guide](https://cloud.google.com/iam). "bindings": [ # Associates a list of `members` to a `role`. Multiple `bindings` must not be specified for the same `role`. `bindings` with no members will result in an error. { # Associates `members` with a `role`. "role": "A String", # Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. Required - "members": [ # Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following formats: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@gmail.com` or `joe@example.com`. * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: A Google Apps domain name that represents all the users of that domain. For example, `google.com` or `example.com`. + "members": [ # Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@gmail.com` or `joe@example.com`. * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: A Google Apps domain name that represents all the users of that domain. For example, `google.com` or `example.com`. "A String", ], }, ], "version": 42, # Version of the `Policy`. The default version is 0. - "etag": "A String", # Can be used to perform a read-modify-write. + "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. If no `etag` is provided in the call to `setIamPolicy`, then the existing policy is overwritten blindly. }
@@ -305,12 +305,12 @@

Method Details

Returns permissions that a caller has on the specified resource.
 
 Args:
-  resource: string, REQUIRED: The resource for which policy detail is being requested. `resource` is usually specified as a path, such as, `projects/{project}/zones/{zone}/disks/{disk}`. The format for the path specified in this value is resource specific and is specified in the documentation for the respective TestIamPermissions rpc. (required)
+  resource: string, REQUIRED: The resource for which the policy detail is being requested. `resource` is usually specified as a path, such as `projects/*project*/zones/*zone*/disks/*disk*`. The format for the path specified in this value is resource specific and is specified in the `testIamPermissions` documentation. (required)
   body: object, The request body. (required)
     The object takes the form of:
 
 { # Request message for `TestIamPermissions` method.
-    "permissions": [ # The set of permissions to check for the `resource`. Permissions with wildcards (such as '*' or 'storage.*') are not allowed.
+    "permissions": [ # The set of permissions to check for the `resource`. Permissions with wildcards (such as '*' or 'storage.*') are not allowed. For more information see IAM Overview.
       "A String",
     ],
   }
diff --git a/docs/dyn/reseller_v1.subscriptions.html b/docs/dyn/reseller_v1.subscriptions.html
index a1b40037e4f..c95ca0a3787 100644
--- a/docs/dyn/reseller_v1.subscriptions.html
+++ b/docs/dyn/reseller_v1.subscriptions.html
@@ -124,20 +124,13 @@ 

Method Details

"kind": "subscriptions#renewalSettings", # Identifies the resource as a subscription renewal setting. "renewalType": "A String", # Subscription renewal type. }, - "skuId": "A String", # Name of the sku for which this subscription is purchased. - "kind": "reseller#subscription", # Identifies the resource as a Subscription. + "dealCode": "A String", # External name of the deal, if this subscription was provisioned under one. Otherwise this field will be empty. + "customerDomain": "A String", # Primary domain name of the customer "trialSettings": { # Trial Settings of the subscription. "trialEndTime": "A String", # End time of the trial in milliseconds since Unix epoch. "isInTrial": True or False, # Whether the subscription is in trial. }, - "suspensionReasons": [ # field listing all current reasons the subscription is suspended. It is possible for a subscription to have multiple suspension reasons. A subscription's status is SUSPENDED until all pending suspensions are removed. Possible options include: - # - PENDING_TOS_ACCEPTANCE — The customer has not logged in and accepted the Google Apps Resold Terms of Services. - # - RENEWAL_WITH_TYPE_CANCEL — The customer's commitment ended and their service was cancelled at the end of their term. - # - RESELLER_INITIATED — A manual suspension invoked by a Reseller. - # - TRIAL_ENDED — The customer's trial expired without a plan selected. - # - OTHER — The customer is suspended for an internal Google reason (e.g. abuse or otherwise). - "A String", - ], + "skuId": "A String", # Name of the sku for which this subscription is purchased. "resourceUiUrl": "A String", # Ui url for subscription resource. "seats": { # JSON template for subscription seats. # Number/Limit of seats in the new plan. "kind": "subscriptions#seats", # Identifies the resource as a subscription change plan request. @@ -146,6 +139,7 @@

Method Details

"licensedNumberOfSeats": 42, # Read-only field containing the current number of licensed seats for FLEXIBLE Google-Apps subscriptions and secondary subscriptions such as Google-Vault and Drive-storage. }, "creationTime": "A String", # Creation time of this subscription in milliseconds since Unix epoch. + "kind": "reseller#subscription", # Identifies the resource as a Subscription. "transferInfo": { # Transfer related information for the subscription. "transferabilityExpirationTime": "A String", # Time when transfer token or intent to transfer will expire. "minimumTransferableSeats": 42, @@ -160,6 +154,14 @@

Method Details

"isCommitmentPlan": True or False, # Whether the plan is a commitment plan or not. }, "purchaseOrderId": "A String", # Purchase order id for your order tracking purposes. + "suspensionReasons": [ # Read-only field containing an enumerable of all the current suspension reasons for a subscription. It is possible for a subscription to have many concurrent, overlapping suspension reasons. A subscription's STATUS is SUSPENDED until all pending suspensions are removed. Possible options include: + # - PENDING_TOS_ACCEPTANCE - The customer has not logged in and accepted the Google Apps Resold Terms of Services. + # - RENEWAL_WITH_TYPE_CANCEL - The customer's commitment ended and their service was cancelled at the end of their term. + # - RESELLER_INITIATED - A manual suspension invoked by a Reseller. + # - TRIAL_ENDED - The customer's trial expired without a plan selected. + # - OTHER - The customer is suspended for an internal Google reason (e.g. abuse or otherwise). + "A String", + ], "subscriptionId": "A String", # The id of the subscription. "billingMethod": "A String", # Billing method of this subscription. "customerId": "A String", # The id of the customer to whom the subscription belongs. @@ -178,6 +180,7 @@

Method Details

{ # JSON template for the ChangePlan rpc request. "planName": "A String", # Name of the plan to change to. + "dealCode": "A String", # External name of the deal code applicable for the subscription. This field is optional. If missing, the deal price plan won't be used. "kind": "subscriptions#changePlanRequest", # Identifies the resource as a subscription change plan request. "seats": { # JSON template for subscription seats. # Number/Limit of seats in the new plan. "kind": "subscriptions#seats", # Identifies the resource as a subscription change plan request. @@ -197,20 +200,13 @@

Method Details

"kind": "subscriptions#renewalSettings", # Identifies the resource as a subscription renewal setting. "renewalType": "A String", # Subscription renewal type. }, - "skuId": "A String", # Name of the sku for which this subscription is purchased. - "kind": "reseller#subscription", # Identifies the resource as a Subscription. + "dealCode": "A String", # External name of the deal, if this subscription was provisioned under one. Otherwise this field will be empty. + "customerDomain": "A String", # Primary domain name of the customer "trialSettings": { # Trial Settings of the subscription. "trialEndTime": "A String", # End time of the trial in milliseconds since Unix epoch. "isInTrial": True or False, # Whether the subscription is in trial. }, - "suspensionReasons": [ # field listing all current reasons the subscription is suspended. It is possible for a subscription to have multiple suspension reasons. A subscription's status is SUSPENDED until all pending suspensions are removed. Possible options include: - # - PENDING_TOS_ACCEPTANCE — The customer has not logged in and accepted the Google Apps Resold Terms of Services. - # - RENEWAL_WITH_TYPE_CANCEL — The customer's commitment ended and their service was cancelled at the end of their term. - # - RESELLER_INITIATED — A manual suspension invoked by a Reseller. - # - TRIAL_ENDED — The customer's trial expired without a plan selected. - # - OTHER — The customer is suspended for an internal Google reason (e.g. abuse or otherwise). - "A String", - ], + "skuId": "A String", # Name of the sku for which this subscription is purchased. "resourceUiUrl": "A String", # Ui url for subscription resource. "seats": { # JSON template for subscription seats. # Number/Limit of seats in the new plan. "kind": "subscriptions#seats", # Identifies the resource as a subscription change plan request. @@ -219,6 +215,7 @@

Method Details

"licensedNumberOfSeats": 42, # Read-only field containing the current number of licensed seats for FLEXIBLE Google-Apps subscriptions and secondary subscriptions such as Google-Vault and Drive-storage. }, "creationTime": "A String", # Creation time of this subscription in milliseconds since Unix epoch. + "kind": "reseller#subscription", # Identifies the resource as a Subscription. "transferInfo": { # Transfer related information for the subscription. "transferabilityExpirationTime": "A String", # Time when transfer token or intent to transfer will expire. "minimumTransferableSeats": 42, @@ -233,6 +230,14 @@

Method Details

"isCommitmentPlan": True or False, # Whether the plan is a commitment plan or not. }, "purchaseOrderId": "A String", # Purchase order id for your order tracking purposes. + "suspensionReasons": [ # Read-only field containing an enumerable of all the current suspension reasons for a subscription. It is possible for a subscription to have many concurrent, overlapping suspension reasons. A subscription's STATUS is SUSPENDED until all pending suspensions are removed. Possible options include: + # - PENDING_TOS_ACCEPTANCE - The customer has not logged in and accepted the Google Apps Resold Terms of Services. + # - RENEWAL_WITH_TYPE_CANCEL - The customer's commitment ended and their service was cancelled at the end of their term. + # - RESELLER_INITIATED - A manual suspension invoked by a Reseller. + # - TRIAL_ENDED - The customer's trial expired without a plan selected. + # - OTHER - The customer is suspended for an internal Google reason (e.g. abuse or otherwise). + "A String", + ], "subscriptionId": "A String", # The id of the subscription. "billingMethod": "A String", # Billing method of this subscription. "customerId": "A String", # The id of the customer to whom the subscription belongs. @@ -263,20 +268,13 @@

Method Details

"kind": "subscriptions#renewalSettings", # Identifies the resource as a subscription renewal setting. "renewalType": "A String", # Subscription renewal type. }, - "skuId": "A String", # Name of the sku for which this subscription is purchased. - "kind": "reseller#subscription", # Identifies the resource as a Subscription. + "dealCode": "A String", # External name of the deal, if this subscription was provisioned under one. Otherwise this field will be empty. + "customerDomain": "A String", # Primary domain name of the customer "trialSettings": { # Trial Settings of the subscription. "trialEndTime": "A String", # End time of the trial in milliseconds since Unix epoch. "isInTrial": True or False, # Whether the subscription is in trial. }, - "suspensionReasons": [ # field listing all current reasons the subscription is suspended. It is possible for a subscription to have multiple suspension reasons. A subscription's status is SUSPENDED until all pending suspensions are removed. Possible options include: - # - PENDING_TOS_ACCEPTANCE — The customer has not logged in and accepted the Google Apps Resold Terms of Services. - # - RENEWAL_WITH_TYPE_CANCEL — The customer's commitment ended and their service was cancelled at the end of their term. - # - RESELLER_INITIATED — A manual suspension invoked by a Reseller. - # - TRIAL_ENDED — The customer's trial expired without a plan selected. - # - OTHER — The customer is suspended for an internal Google reason (e.g. abuse or otherwise). - "A String", - ], + "skuId": "A String", # Name of the sku for which this subscription is purchased. "resourceUiUrl": "A String", # Ui url for subscription resource. "seats": { # JSON template for subscription seats. # Number/Limit of seats in the new plan. "kind": "subscriptions#seats", # Identifies the resource as a subscription change plan request. @@ -285,6 +283,7 @@

Method Details

"licensedNumberOfSeats": 42, # Read-only field containing the current number of licensed seats for FLEXIBLE Google-Apps subscriptions and secondary subscriptions such as Google-Vault and Drive-storage. }, "creationTime": "A String", # Creation time of this subscription in milliseconds since Unix epoch. + "kind": "reseller#subscription", # Identifies the resource as a Subscription. "transferInfo": { # Transfer related information for the subscription. "transferabilityExpirationTime": "A String", # Time when transfer token or intent to transfer will expire. "minimumTransferableSeats": 42, @@ -299,6 +298,14 @@

Method Details

"isCommitmentPlan": True or False, # Whether the plan is a commitment plan or not. }, "purchaseOrderId": "A String", # Purchase order id for your order tracking purposes. + "suspensionReasons": [ # Read-only field containing an enumerable of all the current suspension reasons for a subscription. It is possible for a subscription to have many concurrent, overlapping suspension reasons. A subscription's STATUS is SUSPENDED until all pending suspensions are removed. Possible options include: + # - PENDING_TOS_ACCEPTANCE - The customer has not logged in and accepted the Google Apps Resold Terms of Services. + # - RENEWAL_WITH_TYPE_CANCEL - The customer's commitment ended and their service was cancelled at the end of their term. + # - RESELLER_INITIATED - A manual suspension invoked by a Reseller. + # - TRIAL_ENDED - The customer's trial expired without a plan selected. + # - OTHER - The customer is suspended for an internal Google reason (e.g. abuse or otherwise). + "A String", + ], "subscriptionId": "A String", # The id of the subscription. "billingMethod": "A String", # Billing method of this subscription. "customerId": "A String", # The id of the customer to whom the subscription belongs. @@ -331,20 +338,13 @@

Method Details

"kind": "subscriptions#renewalSettings", # Identifies the resource as a subscription renewal setting. "renewalType": "A String", # Subscription renewal type. }, - "skuId": "A String", # Name of the sku for which this subscription is purchased. - "kind": "reseller#subscription", # Identifies the resource as a Subscription. + "dealCode": "A String", # External name of the deal, if this subscription was provisioned under one. Otherwise this field will be empty. + "customerDomain": "A String", # Primary domain name of the customer "trialSettings": { # Trial Settings of the subscription. "trialEndTime": "A String", # End time of the trial in milliseconds since Unix epoch. "isInTrial": True or False, # Whether the subscription is in trial. }, - "suspensionReasons": [ # field listing all current reasons the subscription is suspended. It is possible for a subscription to have multiple suspension reasons. A subscription's status is SUSPENDED until all pending suspensions are removed. Possible options include: - # - PENDING_TOS_ACCEPTANCE — The customer has not logged in and accepted the Google Apps Resold Terms of Services. - # - RENEWAL_WITH_TYPE_CANCEL — The customer's commitment ended and their service was cancelled at the end of their term. - # - RESELLER_INITIATED — A manual suspension invoked by a Reseller. - # - TRIAL_ENDED — The customer's trial expired without a plan selected. - # - OTHER — The customer is suspended for an internal Google reason (e.g. abuse or otherwise). - "A String", - ], + "skuId": "A String", # Name of the sku for which this subscription is purchased. "resourceUiUrl": "A String", # Ui url for subscription resource. "seats": { # JSON template for subscription seats. # Number/Limit of seats in the new plan. "kind": "subscriptions#seats", # Identifies the resource as a subscription change plan request. @@ -353,6 +353,7 @@

Method Details

"licensedNumberOfSeats": 42, # Read-only field containing the current number of licensed seats for FLEXIBLE Google-Apps subscriptions and secondary subscriptions such as Google-Vault and Drive-storage. }, "creationTime": "A String", # Creation time of this subscription in milliseconds since Unix epoch. + "kind": "reseller#subscription", # Identifies the resource as a Subscription. "transferInfo": { # Transfer related information for the subscription. "transferabilityExpirationTime": "A String", # Time when transfer token or intent to transfer will expire. "minimumTransferableSeats": 42, @@ -367,6 +368,14 @@

Method Details

"isCommitmentPlan": True or False, # Whether the plan is a commitment plan or not. }, "purchaseOrderId": "A String", # Purchase order id for your order tracking purposes. + "suspensionReasons": [ # Read-only field containing an enumerable of all the current suspension reasons for a subscription. It is possible for a subscription to have many concurrent, overlapping suspension reasons. A subscription's STATUS is SUSPENDED until all pending suspensions are removed. Possible options include: + # - PENDING_TOS_ACCEPTANCE - The customer has not logged in and accepted the Google Apps Resold Terms of Services. + # - RENEWAL_WITH_TYPE_CANCEL - The customer's commitment ended and their service was cancelled at the end of their term. + # - RESELLER_INITIATED - A manual suspension invoked by a Reseller. + # - TRIAL_ENDED - The customer's trial expired without a plan selected. + # - OTHER - The customer is suspended for an internal Google reason (e.g. abuse or otherwise). + "A String", + ], "subscriptionId": "A String", # The id of the subscription. "billingMethod": "A String", # Billing method of this subscription. "customerId": "A String", # The id of the customer to whom the subscription belongs. @@ -405,20 +414,13 @@

Method Details

"kind": "subscriptions#renewalSettings", # Identifies the resource as a subscription renewal setting. "renewalType": "A String", # Subscription renewal type. }, - "skuId": "A String", # Name of the sku for which this subscription is purchased. - "kind": "reseller#subscription", # Identifies the resource as a Subscription. + "dealCode": "A String", # External name of the deal, if this subscription was provisioned under one. Otherwise this field will be empty. + "customerDomain": "A String", # Primary domain name of the customer "trialSettings": { # Trial Settings of the subscription. "trialEndTime": "A String", # End time of the trial in milliseconds since Unix epoch. "isInTrial": True or False, # Whether the subscription is in trial. }, - "suspensionReasons": [ # field listing all current reasons the subscription is suspended. It is possible for a subscription to have multiple suspension reasons. A subscription's status is SUSPENDED until all pending suspensions are removed. Possible options include: - # - PENDING_TOS_ACCEPTANCE — The customer has not logged in and accepted the Google Apps Resold Terms of Services. - # - RENEWAL_WITH_TYPE_CANCEL — The customer's commitment ended and their service was cancelled at the end of their term. - # - RESELLER_INITIATED — A manual suspension invoked by a Reseller. - # - TRIAL_ENDED — The customer's trial expired without a plan selected. - # - OTHER — The customer is suspended for an internal Google reason (e.g. abuse or otherwise). - "A String", - ], + "skuId": "A String", # Name of the sku for which this subscription is purchased. "resourceUiUrl": "A String", # Ui url for subscription resource. "seats": { # JSON template for subscription seats. # Number/Limit of seats in the new plan. "kind": "subscriptions#seats", # Identifies the resource as a subscription change plan request. @@ -427,6 +429,7 @@

Method Details

"licensedNumberOfSeats": 42, # Read-only field containing the current number of licensed seats for FLEXIBLE Google-Apps subscriptions and secondary subscriptions such as Google-Vault and Drive-storage. }, "creationTime": "A String", # Creation time of this subscription in milliseconds since Unix epoch. + "kind": "reseller#subscription", # Identifies the resource as a Subscription. "transferInfo": { # Transfer related information for the subscription. "transferabilityExpirationTime": "A String", # Time when transfer token or intent to transfer will expire. "minimumTransferableSeats": 42, @@ -441,6 +444,14 @@

Method Details

"isCommitmentPlan": True or False, # Whether the plan is a commitment plan or not. }, "purchaseOrderId": "A String", # Purchase order id for your order tracking purposes. + "suspensionReasons": [ # Read-only field containing an enumerable of all the current suspension reasons for a subscription. It is possible for a subscription to have many concurrent, overlapping suspension reasons. A subscription's STATUS is SUSPENDED until all pending suspensions are removed. Possible options include: + # - PENDING_TOS_ACCEPTANCE - The customer has not logged in and accepted the Google Apps Resold Terms of Services. + # - RENEWAL_WITH_TYPE_CANCEL - The customer's commitment ended and their service was cancelled at the end of their term. + # - RESELLER_INITIATED - A manual suspension invoked by a Reseller. + # - TRIAL_ENDED - The customer's trial expired without a plan selected. + # - OTHER - The customer is suspended for an internal Google reason (e.g. abuse or otherwise). + "A String", + ], "subscriptionId": "A String", # The id of the subscription. "billingMethod": "A String", # Billing method of this subscription. "customerId": "A String", # The id of the customer to whom the subscription belongs. @@ -461,20 +472,13 @@

Method Details

"kind": "subscriptions#renewalSettings", # Identifies the resource as a subscription renewal setting. "renewalType": "A String", # Subscription renewal type. }, - "skuId": "A String", # Name of the sku for which this subscription is purchased. - "kind": "reseller#subscription", # Identifies the resource as a Subscription. + "dealCode": "A String", # External name of the deal, if this subscription was provisioned under one. Otherwise this field will be empty. + "customerDomain": "A String", # Primary domain name of the customer "trialSettings": { # Trial Settings of the subscription. "trialEndTime": "A String", # End time of the trial in milliseconds since Unix epoch. "isInTrial": True or False, # Whether the subscription is in trial. }, - "suspensionReasons": [ # field listing all current reasons the subscription is suspended. It is possible for a subscription to have multiple suspension reasons. A subscription's status is SUSPENDED until all pending suspensions are removed. Possible options include: - # - PENDING_TOS_ACCEPTANCE — The customer has not logged in and accepted the Google Apps Resold Terms of Services. - # - RENEWAL_WITH_TYPE_CANCEL — The customer's commitment ended and their service was cancelled at the end of their term. - # - RESELLER_INITIATED — A manual suspension invoked by a Reseller. - # - TRIAL_ENDED — The customer's trial expired without a plan selected. - # - OTHER — The customer is suspended for an internal Google reason (e.g. abuse or otherwise). - "A String", - ], + "skuId": "A String", # Name of the sku for which this subscription is purchased. "resourceUiUrl": "A String", # Ui url for subscription resource. "seats": { # JSON template for subscription seats. # Number/Limit of seats in the new plan. "kind": "subscriptions#seats", # Identifies the resource as a subscription change plan request. @@ -483,6 +487,7 @@

Method Details

"licensedNumberOfSeats": 42, # Read-only field containing the current number of licensed seats for FLEXIBLE Google-Apps subscriptions and secondary subscriptions such as Google-Vault and Drive-storage. }, "creationTime": "A String", # Creation time of this subscription in milliseconds since Unix epoch. + "kind": "reseller#subscription", # Identifies the resource as a Subscription. "transferInfo": { # Transfer related information for the subscription. "transferabilityExpirationTime": "A String", # Time when transfer token or intent to transfer will expire. "minimumTransferableSeats": 42, @@ -497,6 +502,14 @@

Method Details

"isCommitmentPlan": True or False, # Whether the plan is a commitment plan or not. }, "purchaseOrderId": "A String", # Purchase order id for your order tracking purposes. + "suspensionReasons": [ # Read-only field containing an enumerable of all the current suspension reasons for a subscription. It is possible for a subscription to have many concurrent, overlapping suspension reasons. A subscription's STATUS is SUSPENDED until all pending suspensions are removed. Possible options include: + # - PENDING_TOS_ACCEPTANCE - The customer has not logged in and accepted the Google Apps Resold Terms of Services. + # - RENEWAL_WITH_TYPE_CANCEL - The customer's commitment ended and their service was cancelled at the end of their term. + # - RESELLER_INITIATED - A manual suspension invoked by a Reseller. + # - TRIAL_ENDED - The customer's trial expired without a plan selected. + # - OTHER - The customer is suspended for an internal Google reason (e.g. abuse or otherwise). + "A String", + ], "subscriptionId": "A String", # The id of the subscription. "billingMethod": "A String", # Billing method of this subscription. "customerId": "A String", # The id of the customer to whom the subscription belongs. @@ -512,20 +525,13 @@

Method Details

"kind": "subscriptions#renewalSettings", # Identifies the resource as a subscription renewal setting. "renewalType": "A String", # Subscription renewal type. }, - "skuId": "A String", # Name of the sku for which this subscription is purchased. - "kind": "reseller#subscription", # Identifies the resource as a Subscription. + "dealCode": "A String", # External name of the deal, if this subscription was provisioned under one. Otherwise this field will be empty. + "customerDomain": "A String", # Primary domain name of the customer "trialSettings": { # Trial Settings of the subscription. "trialEndTime": "A String", # End time of the trial in milliseconds since Unix epoch. "isInTrial": True or False, # Whether the subscription is in trial. }, - "suspensionReasons": [ # field listing all current reasons the subscription is suspended. It is possible for a subscription to have multiple suspension reasons. A subscription's status is SUSPENDED until all pending suspensions are removed. Possible options include: - # - PENDING_TOS_ACCEPTANCE — The customer has not logged in and accepted the Google Apps Resold Terms of Services. - # - RENEWAL_WITH_TYPE_CANCEL — The customer's commitment ended and their service was cancelled at the end of their term. - # - RESELLER_INITIATED — A manual suspension invoked by a Reseller. - # - TRIAL_ENDED — The customer's trial expired without a plan selected. - # - OTHER — The customer is suspended for an internal Google reason (e.g. abuse or otherwise). - "A String", - ], + "skuId": "A String", # Name of the sku for which this subscription is purchased. "resourceUiUrl": "A String", # Ui url for subscription resource. "seats": { # JSON template for subscription seats. # Number/Limit of seats in the new plan. "kind": "subscriptions#seats", # Identifies the resource as a subscription change plan request. @@ -534,6 +540,7 @@

Method Details

"licensedNumberOfSeats": 42, # Read-only field containing the current number of licensed seats for FLEXIBLE Google-Apps subscriptions and secondary subscriptions such as Google-Vault and Drive-storage. }, "creationTime": "A String", # Creation time of this subscription in milliseconds since Unix epoch. + "kind": "reseller#subscription", # Identifies the resource as a Subscription. "transferInfo": { # Transfer related information for the subscription. "transferabilityExpirationTime": "A String", # Time when transfer token or intent to transfer will expire. "minimumTransferableSeats": 42, @@ -548,6 +555,14 @@

Method Details

"isCommitmentPlan": True or False, # Whether the plan is a commitment plan or not. }, "purchaseOrderId": "A String", # Purchase order id for your order tracking purposes. + "suspensionReasons": [ # Read-only field containing an enumerable of all the current suspension reasons for a subscription. It is possible for a subscription to have many concurrent, overlapping suspension reasons. A subscription's STATUS is SUSPENDED until all pending suspensions are removed. Possible options include: + # - PENDING_TOS_ACCEPTANCE - The customer has not logged in and accepted the Google Apps Resold Terms of Services. + # - RENEWAL_WITH_TYPE_CANCEL - The customer's commitment ended and their service was cancelled at the end of their term. + # - RESELLER_INITIATED - A manual suspension invoked by a Reseller. + # - TRIAL_ENDED - The customer's trial expired without a plan selected. + # - OTHER - The customer is suspended for an internal Google reason (e.g. abuse or otherwise). + "A String", + ], "subscriptionId": "A String", # The id of the subscription. "billingMethod": "A String", # Billing method of this subscription. "customerId": "A String", # The id of the customer to whom the subscription belongs. @@ -577,20 +592,13 @@

Method Details

"kind": "subscriptions#renewalSettings", # Identifies the resource as a subscription renewal setting. "renewalType": "A String", # Subscription renewal type. }, - "skuId": "A String", # Name of the sku for which this subscription is purchased. - "kind": "reseller#subscription", # Identifies the resource as a Subscription. + "dealCode": "A String", # External name of the deal, if this subscription was provisioned under one. Otherwise this field will be empty. + "customerDomain": "A String", # Primary domain name of the customer "trialSettings": { # Trial Settings of the subscription. "trialEndTime": "A String", # End time of the trial in milliseconds since Unix epoch. "isInTrial": True or False, # Whether the subscription is in trial. }, - "suspensionReasons": [ # field listing all current reasons the subscription is suspended. It is possible for a subscription to have multiple suspension reasons. A subscription's status is SUSPENDED until all pending suspensions are removed. Possible options include: - # - PENDING_TOS_ACCEPTANCE — The customer has not logged in and accepted the Google Apps Resold Terms of Services. - # - RENEWAL_WITH_TYPE_CANCEL — The customer's commitment ended and their service was cancelled at the end of their term. - # - RESELLER_INITIATED — A manual suspension invoked by a Reseller. - # - TRIAL_ENDED — The customer's trial expired without a plan selected. - # - OTHER — The customer is suspended for an internal Google reason (e.g. abuse or otherwise). - "A String", - ], + "skuId": "A String", # Name of the sku for which this subscription is purchased. "resourceUiUrl": "A String", # Ui url for subscription resource. "seats": { # JSON template for subscription seats. # Number/Limit of seats in the new plan. "kind": "subscriptions#seats", # Identifies the resource as a subscription change plan request. @@ -599,6 +607,7 @@

Method Details

"licensedNumberOfSeats": 42, # Read-only field containing the current number of licensed seats for FLEXIBLE Google-Apps subscriptions and secondary subscriptions such as Google-Vault and Drive-storage. }, "creationTime": "A String", # Creation time of this subscription in milliseconds since Unix epoch. + "kind": "reseller#subscription", # Identifies the resource as a Subscription. "transferInfo": { # Transfer related information for the subscription. "transferabilityExpirationTime": "A String", # Time when transfer token or intent to transfer will expire. "minimumTransferableSeats": 42, @@ -613,6 +622,14 @@

Method Details

"isCommitmentPlan": True or False, # Whether the plan is a commitment plan or not. }, "purchaseOrderId": "A String", # Purchase order id for your order tracking purposes. + "suspensionReasons": [ # Read-only field containing an enumerable of all the current suspension reasons for a subscription. It is possible for a subscription to have many concurrent, overlapping suspension reasons. A subscription's STATUS is SUSPENDED until all pending suspensions are removed. Possible options include: + # - PENDING_TOS_ACCEPTANCE - The customer has not logged in and accepted the Google Apps Resold Terms of Services. + # - RENEWAL_WITH_TYPE_CANCEL - The customer's commitment ended and their service was cancelled at the end of their term. + # - RESELLER_INITIATED - A manual suspension invoked by a Reseller. + # - TRIAL_ENDED - The customer's trial expired without a plan selected. + # - OTHER - The customer is suspended for an internal Google reason (e.g. abuse or otherwise). + "A String", + ], "subscriptionId": "A String", # The id of the subscription. "billingMethod": "A String", # Billing method of this subscription. "customerId": "A String", # The id of the customer to whom the subscription belongs. @@ -651,20 +668,13 @@

Method Details

"kind": "subscriptions#renewalSettings", # Identifies the resource as a subscription renewal setting. "renewalType": "A String", # Subscription renewal type. }, - "skuId": "A String", # Name of the sku for which this subscription is purchased. - "kind": "reseller#subscription", # Identifies the resource as a Subscription. + "dealCode": "A String", # External name of the deal, if this subscription was provisioned under one. Otherwise this field will be empty. + "customerDomain": "A String", # Primary domain name of the customer "trialSettings": { # Trial Settings of the subscription. "trialEndTime": "A String", # End time of the trial in milliseconds since Unix epoch. "isInTrial": True or False, # Whether the subscription is in trial. }, - "suspensionReasons": [ # field listing all current reasons the subscription is suspended. It is possible for a subscription to have multiple suspension reasons. A subscription's status is SUSPENDED until all pending suspensions are removed. Possible options include: - # - PENDING_TOS_ACCEPTANCE — The customer has not logged in and accepted the Google Apps Resold Terms of Services. - # - RENEWAL_WITH_TYPE_CANCEL — The customer's commitment ended and their service was cancelled at the end of their term. - # - RESELLER_INITIATED — A manual suspension invoked by a Reseller. - # - TRIAL_ENDED — The customer's trial expired without a plan selected. - # - OTHER — The customer is suspended for an internal Google reason (e.g. abuse or otherwise). - "A String", - ], + "skuId": "A String", # Name of the sku for which this subscription is purchased. "resourceUiUrl": "A String", # Ui url for subscription resource. "seats": { # JSON template for subscription seats. # Number/Limit of seats in the new plan. "kind": "subscriptions#seats", # Identifies the resource as a subscription change plan request. @@ -673,6 +683,7 @@

Method Details

"licensedNumberOfSeats": 42, # Read-only field containing the current number of licensed seats for FLEXIBLE Google-Apps subscriptions and secondary subscriptions such as Google-Vault and Drive-storage. }, "creationTime": "A String", # Creation time of this subscription in milliseconds since Unix epoch. + "kind": "reseller#subscription", # Identifies the resource as a Subscription. "transferInfo": { # Transfer related information for the subscription. "transferabilityExpirationTime": "A String", # Time when transfer token or intent to transfer will expire. "minimumTransferableSeats": 42, @@ -687,6 +698,14 @@

Method Details

"isCommitmentPlan": True or False, # Whether the plan is a commitment plan or not. }, "purchaseOrderId": "A String", # Purchase order id for your order tracking purposes. + "suspensionReasons": [ # Read-only field containing an enumerable of all the current suspension reasons for a subscription. It is possible for a subscription to have many concurrent, overlapping suspension reasons. A subscription's STATUS is SUSPENDED until all pending suspensions are removed. Possible options include: + # - PENDING_TOS_ACCEPTANCE - The customer has not logged in and accepted the Google Apps Resold Terms of Services. + # - RENEWAL_WITH_TYPE_CANCEL - The customer's commitment ended and their service was cancelled at the end of their term. + # - RESELLER_INITIATED - A manual suspension invoked by a Reseller. + # - TRIAL_ENDED - The customer's trial expired without a plan selected. + # - OTHER - The customer is suspended for an internal Google reason (e.g. abuse or otherwise). + "A String", + ], "subscriptionId": "A String", # The id of the subscription. "billingMethod": "A String", # Billing method of this subscription. "customerId": "A String", # The id of the customer to whom the subscription belongs. @@ -709,20 +728,13 @@

Method Details

"kind": "subscriptions#renewalSettings", # Identifies the resource as a subscription renewal setting. "renewalType": "A String", # Subscription renewal type. }, - "skuId": "A String", # Name of the sku for which this subscription is purchased. - "kind": "reseller#subscription", # Identifies the resource as a Subscription. + "dealCode": "A String", # External name of the deal, if this subscription was provisioned under one. Otherwise this field will be empty. + "customerDomain": "A String", # Primary domain name of the customer "trialSettings": { # Trial Settings of the subscription. "trialEndTime": "A String", # End time of the trial in milliseconds since Unix epoch. "isInTrial": True or False, # Whether the subscription is in trial. }, - "suspensionReasons": [ # field listing all current reasons the subscription is suspended. It is possible for a subscription to have multiple suspension reasons. A subscription's status is SUSPENDED until all pending suspensions are removed. Possible options include: - # - PENDING_TOS_ACCEPTANCE — The customer has not logged in and accepted the Google Apps Resold Terms of Services. - # - RENEWAL_WITH_TYPE_CANCEL — The customer's commitment ended and their service was cancelled at the end of their term. - # - RESELLER_INITIATED — A manual suspension invoked by a Reseller. - # - TRIAL_ENDED — The customer's trial expired without a plan selected. - # - OTHER — The customer is suspended for an internal Google reason (e.g. abuse or otherwise). - "A String", - ], + "skuId": "A String", # Name of the sku for which this subscription is purchased. "resourceUiUrl": "A String", # Ui url for subscription resource. "seats": { # JSON template for subscription seats. # Number/Limit of seats in the new plan. "kind": "subscriptions#seats", # Identifies the resource as a subscription change plan request. @@ -731,6 +743,7 @@

Method Details

"licensedNumberOfSeats": 42, # Read-only field containing the current number of licensed seats for FLEXIBLE Google-Apps subscriptions and secondary subscriptions such as Google-Vault and Drive-storage. }, "creationTime": "A String", # Creation time of this subscription in milliseconds since Unix epoch. + "kind": "reseller#subscription", # Identifies the resource as a Subscription. "transferInfo": { # Transfer related information for the subscription. "transferabilityExpirationTime": "A String", # Time when transfer token or intent to transfer will expire. "minimumTransferableSeats": 42, @@ -745,6 +758,14 @@

Method Details

"isCommitmentPlan": True or False, # Whether the plan is a commitment plan or not. }, "purchaseOrderId": "A String", # Purchase order id for your order tracking purposes. + "suspensionReasons": [ # Read-only field containing an enumerable of all the current suspension reasons for a subscription. It is possible for a subscription to have many concurrent, overlapping suspension reasons. A subscription's STATUS is SUSPENDED until all pending suspensions are removed. Possible options include: + # - PENDING_TOS_ACCEPTANCE - The customer has not logged in and accepted the Google Apps Resold Terms of Services. + # - RENEWAL_WITH_TYPE_CANCEL - The customer's commitment ended and their service was cancelled at the end of their term. + # - RESELLER_INITIATED - A manual suspension invoked by a Reseller. + # - TRIAL_ENDED - The customer's trial expired without a plan selected. + # - OTHER - The customer is suspended for an internal Google reason (e.g. abuse or otherwise). + "A String", + ], "subscriptionId": "A String", # The id of the subscription. "billingMethod": "A String", # Billing method of this subscription. "customerId": "A String", # The id of the customer to whom the subscription belongs. diff --git a/docs/dyn/runtimeconfig_v1beta1.html b/docs/dyn/runtimeconfig_v1beta1.html new file mode 100644 index 00000000000..df2bbe01ecf --- /dev/null +++ b/docs/dyn/runtimeconfig_v1beta1.html @@ -0,0 +1,103 @@ + + + +

Google Cloud RuntimeConfig API

+

Instance Methods

+

+ projects() +

+

Returns the projects Resource.

+ +

+ new_batch_http_request()

+

Create a BatchHttpRequest object based on the discovery document.

+

Method Details

+
+ new_batch_http_request() +
Create a BatchHttpRequest object based on the discovery document.
+
+        Args:
+          callback: callable, A callback to be called for each response, of the
+            form callback(id, response, exception). The first parameter is the
+            request id, and the second is the deserialized response object. The
+            third is an apiclient.errors.HttpError exception object if an HTTP
+            error occurred while processing the request, or None if no error
+            occurred.
+
+        Returns:
+          A BatchHttpRequest object based on the discovery document.
+        
+
+ + \ No newline at end of file diff --git a/docs/dyn/runtimeconfig_v1beta1.projects.configs.html b/docs/dyn/runtimeconfig_v1beta1.projects.configs.html new file mode 100644 index 00000000000..94154d8d41d --- /dev/null +++ b/docs/dyn/runtimeconfig_v1beta1.projects.configs.html @@ -0,0 +1,316 @@ + + + +

Google Cloud RuntimeConfig API . projects . configs

+

Instance Methods

+

+ operations() +

+

Returns the operations Resource.

+ +

+ variables() +

+

Returns the variables Resource.

+ +

+ waiters() +

+

Returns the waiters Resource.

+ +

+ create(parent=None, body, x__xgafv=None)

+

CreateConfig creates a new config resource object.

+

+ delete(name=None, x__xgafv=None)

+

Deletes the config object.

+

+ get(name, x__xgafv=None)

+

Gets the config resource object.

+

+ list(parent=None, pageToken=None, x__xgafv=None, pageSize=None)

+

Lists all the config objects within project.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

+ update(name=None, body, x__xgafv=None)

+

Updates the config resource object.

+

Method Details

+
+ create(parent=None, body, x__xgafv=None) +
CreateConfig creates a new config resource object.
+The configuration name must be unique within project.
+
+Args:
+  parent: string, The cloud project to which configuration belongs.
+Required. Must be a valid GCP project. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # RuntimeConfig is the primary resource in the Configuration service.
+      # It consists of metadata and a hierarchy of variables.
+    "description": "A String", # Description of the configuration object.
+        # `len(description)` must be less than 256.
+    "name": "A String", # The resource name of a runtime config.
+        # It has the format of "projects/{project_id}/configs/{config_id}",
+        # where `project_id` is a valid Google cloud project ID, and the
+        # `config_id` must match RFC 1035 segment specification, and
+        # `len(config_id)` must be less than 64 bytes.
+        # The name is assigned by the client, but will be validated on the server
+        # side to adhere to the format.
+        # Name is immutable and cannot be changed.
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # RuntimeConfig is the primary resource in the Configuration service.
+        # It consists of metadata and a hierarchy of variables.
+      "description": "A String", # Description of the configuration object.
+          # `len(description)` must be less than 256.
+      "name": "A String", # The resource name of a runtime config.
+          # It has the format of "projects/{project_id}/configs/{config_id}",
+          # where `project_id` is a valid Google cloud project ID, and the
+          # `config_id` must match RFC 1035 segment specification, and
+          # `len(config_id)` must be less than 64 bytes.
+          # The name is assigned by the client, but will be validated on the server
+          # side to adhere to the format.
+          # Name is immutable and cannot be changed.
+    }
+
+ +
+ delete(name=None, x__xgafv=None) +
Deletes the config object.
+
+Args:
+  name: string, The configuration resource object to delete.
+Required. Must be a valid GCP project. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A generic empty message that you can re-use to avoid defining duplicated
+      # empty messages in your APIs. A typical example is to use it as the request
+      # or the response type of an API method. For instance:
+      #
+      #     service Foo {
+      #       rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
+      #     }
+      #
+      # The JSON representation for `Empty` is empty JSON object `{}`.
+  }
+
+ +
+ get(name, x__xgafv=None) +
Gets the config resource object.
+
+Args:
+  name: string, The name of the RuntimeConfig resource object to retrieve. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # RuntimeConfig is the primary resource in the Configuration service.
+        # It consists of metadata and a hierarchy of variables.
+      "description": "A String", # Description of the configuration object.
+          # `len(description)` must be less than 256.
+      "name": "A String", # The resource name of a runtime config.
+          # It has the format of "projects/{project_id}/configs/{config_id}",
+          # where `project_id` is a valid Google cloud project ID, and the
+          # `config_id` must match RFC 1035 segment specification, and
+          # `len(config_id)` must be less than 64 bytes.
+          # The name is assigned by the client, but will be validated on the server
+          # side to adhere to the format.
+          # Name is immutable and cannot be changed.
+    }
+
+ +
+ list(parent=None, pageToken=None, x__xgafv=None, pageSize=None) +
Lists all the config objects within project.
+
+Args:
+  parent: string, The cloud project, whose configuration resources we want to list.
+Required. Must be a valid GCP project. (required)
+  pageToken: string, The token for pagination.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+  pageSize: integer, List pagination support.
+The size of the page to return. We may return fewer elements.
+
+Returns:
+  An object of the form:
+
+    { # Response for the `ListConfigs()` method.
+      # Order of returned configuration objects is arbitrary.
+    "nextPageToken": "A String", # Pagination support.
+    "configs": [ # Found configurations in the project.
+      { # RuntimeConfig is the primary resource in the Configuration service.
+            # It consists of metadata and a hierarchy of variables.
+          "description": "A String", # Description of the configuration object.
+              # `len(description)` must be less than 256.
+          "name": "A String", # The resource name of a runtime config.
+              # It has the format of "projects/{project_id}/configs/{config_id}",
+              # where `project_id` is a valid Google cloud project ID, and the
+              # `config_id` must match RFC 1035 segment specification, and
+              # `len(config_id)` must be less than 64 bytes.
+              # The name is assigned by the client, but will be validated on the server
+              # side to adhere to the format.
+              # Name is immutable and cannot be changed.
+        },
+    ],
+  }
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    
+
+ +
+ update(name=None, body, x__xgafv=None) +
Updates the config resource object.
+RuntimeConfig object must already exist.
+
+Args:
+  name: string, The name of the config resource to update.
+Required. Must be a valid config resource. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # RuntimeConfig is the primary resource in the Configuration service.
+      # It consists of metadata and a hierarchy of variables.
+    "description": "A String", # Description of the configuration object.
+        # `len(description)` must be less than 256.
+    "name": "A String", # The resource name of a runtime config.
+        # It has the format of "projects/{project_id}/configs/{config_id}",
+        # where `project_id` is a valid Google cloud project ID, and the
+        # `config_id` must match RFC 1035 segment specification, and
+        # `len(config_id)` must be less than 64 bytes.
+        # The name is assigned by the client, but will be validated on the server
+        # side to adhere to the format.
+        # Name is immutable and cannot be changed.
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # RuntimeConfig is the primary resource in the Configuration service.
+        # It consists of metadata and a hierarchy of variables.
+      "description": "A String", # Description of the configuration object.
+          # `len(description)` must be less than 256.
+      "name": "A String", # The resource name of a runtime config.
+          # It has the format of "projects/{project_id}/configs/{config_id}",
+          # where `project_id` is a valid Google cloud project ID, and the
+          # `config_id` must match RFC 1035 segment specification, and
+          # `len(config_id)` must be less than 64 bytes.
+          # The name is assigned by the client, but will be validated on the server
+          # side to adhere to the format.
+          # Name is immutable and cannot be changed.
+    }
+
+ + \ No newline at end of file diff --git a/docs/dyn/runtimeconfig_v1beta1.projects.configs.operations.html b/docs/dyn/runtimeconfig_v1beta1.projects.configs.operations.html new file mode 100644 index 00000000000..b73aa260b60 --- /dev/null +++ b/docs/dyn/runtimeconfig_v1beta1.projects.configs.operations.html @@ -0,0 +1,187 @@ + + + +

Google Cloud RuntimeConfig API . projects . configs . operations

+

Instance Methods

+

+ get(name, x__xgafv=None)

+

Gets the latest state of a long-running operation. Clients can use this

+

Method Details

+
+ get(name, x__xgafv=None) +
Gets the latest state of a long-running operation.  Clients can use this
+method to poll the operation result at intervals as recommended by the API
+service.
+
+Args:
+  name: string, The name of the operation resource. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a
+      # network API call.
+    "metadata": { # Service-specific metadata associated with the operation.  It typically
+        # contains progress information and common metadata such as create time.
+        # Some services might not provide such metadata.  Any method that returns a
+        # long-running operation should document the metadata type, if any.
+      "a_key": "", # Properties of the object. Contains field @ype with type URL.
+    },
+    "done": True or False, # If the value is `false`, it means the operation is still in progress.
+        # If true, the operation is completed, and either `error` or `response` is
+        # available.
+    "response": { # The normal response of the operation in case of success.  If the original
+        # method returns no data on success, such as `Delete`, the response is
+        # `google.protobuf.Empty`.  If the original method is standard
+        # `Get`/`Create`/`Update`, the response should be the resource.  For other
+        # methods, the response should have the type `XxxResponse`, where `Xxx`
+        # is the original method name.  For example, if the original method name
+        # is `TakeSnapshot()`, the inferred response type is
+        # `TakeSnapshotResponse`.
+      "a_key": "", # Properties of the object. Contains field @ype with type URL.
+    },
+    "name": "A String", # The server-assigned name, which is only unique within the same service that
+        # originally returns it. If you use the default HTTP mapping, the
+        # `name` should have the format of `operations/some/unique/name`.
+    "error": { # The `Status` type defines a logical error model that is suitable for different # The error result of the operation in case of failure.
+        # programming environments, including REST APIs and RPC APIs. It is used by
+        # [gRPC](https://github.com/grpc). The error model is designed to be:
+        #
+        # - Simple to use and understand for most users
+        # - Flexible enough to meet unexpected needs
+        #
+        # # Overview
+        #
+        # The `Status` message contains three pieces of data: error code, error message,
+        # and error details. The error code should be an enum value of
+        # google.rpc.Code, but it may accept additional error codes if needed.  The
+        # error message should be a developer-facing English message that helps
+        # developers *understand* and *resolve* the error. If a localized user-facing
+        # error message is needed, put the localized message in the error details or
+        # localize it in the client. The optional error details may contain arbitrary
+        # information about the error. There is a predefined set of error detail types
+        # in the package `google.rpc` which can be used for common error conditions.
+        #
+        # # Language mapping
+        #
+        # The `Status` message is the logical representation of the error model, but it
+        # is not necessarily the actual wire format. When the `Status` message is
+        # exposed in different client libraries and different wire protocols, it can be
+        # mapped differently. For example, it will likely be mapped to some exceptions
+        # in Java, but more likely mapped to some error codes in C.
+        #
+        # # Other uses
+        #
+        # The error model and the `Status` message can be used in a variety of
+        # environments, either with or without APIs, to provide a
+        # consistent developer experience across different environments.
+        #
+        # Example uses of this error model include:
+        #
+        # - Partial errors. If a service needs to return partial errors to the client,
+        #     it may embed the `Status` in the normal response to indicate the partial
+        #     errors.
+        #
+        # - Workflow errors. A typical workflow has multiple steps. Each step may
+        #     have a `Status` message for error reporting purpose.
+        #
+        # - Batch operations. If a client uses batch request and batch response, the
+        #     `Status` message should be used directly inside batch response, one for
+        #     each error sub-response.
+        #
+        # - Asynchronous operations. If an API call embeds asynchronous operation
+        #     results in its response, the status of those operations should be
+        #     represented directly using the `Status` message.
+        #
+        # - Logging. If some API errors are stored in logs, the message `Status` could
+        #     be used directly after any stripping needed for security/privacy reasons.
+      "message": "A String", # A developer-facing error message, which should be in English. Any
+          # user-facing error message should be localized and sent in the
+          # google.rpc.Status.details field, or localized by the client.
+      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+      "details": [ # A list of messages that carry the error details.  There will be a
+          # common set of message types for APIs to use.
+        {
+          "a_key": "", # Properties of the object. Contains field @ype with type URL.
+        },
+      ],
+    },
+  }
+
+ + \ No newline at end of file diff --git a/docs/dyn/runtimeconfig_v1beta1.projects.configs.variables.html b/docs/dyn/runtimeconfig_v1beta1.projects.configs.variables.html new file mode 100644 index 00000000000..de2490b8699 --- /dev/null +++ b/docs/dyn/runtimeconfig_v1beta1.projects.configs.variables.html @@ -0,0 +1,450 @@ + + + +

Google Cloud RuntimeConfig API . projects . configs . variables

+

Instance Methods

+

+ create(parent=None, body, x__xgafv=None)

+

Creates a variable within the given configuration.

+

+ delete(name, recursive=None, x__xgafv=None)

+

Deletes variable or variables.

+

+ get(name, x__xgafv=None)

+

Gets the variable resource object.

+

+ list(parent, pageSize=None, filter=None, pageToken=None, x__xgafv=None)

+

Lists variables within given RuntimeConfig object, matching optionally

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

+ update(name=None, body, x__xgafv=None)

+

Updates an existing variable with a new value.

+

+ watch(name, body, x__xgafv=None)

+

WatchVariable watches for a variable to change and then returns the new

+

Method Details

+
+ create(parent=None, body, x__xgafv=None) +
Creates a variable within the given configuration.
+Create variable will create all required intermediate path elements.
+It is a FAILED_PRECONDITION error to create a variable with a name that is
+a prefix of an existing variable name, or that has an existing variable
+name as a prefix.
+
+Args:
+  parent: string, The configuration parent, that will own the variable.
+Required, must a valid configuration name within project_id. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Variable message describes a single variable within a Configuration object.
+    # name denotes the hierarchical variable name, e.g.
+    # ports/serving_port within flags configuration object.
+    # Value is an opaque string and only leaf variables can have values.
+  "updateTime": "A String", # [Output Only] The time of the last variable update.
+  "state": "A String", # [Ouput only] The current state of the variable.
+      # State denotes the outcome of the Watch call and is unset by the Get/List
+      # calls.
+  "value": "A String", # `len(value)` must be less than 4096 bytes. Empty values are also accepted.
+      # value must be Base64 encoded.
+  "name": "A String", # Name of the variable resource.
+      # It has format of
+      # "projects/{project_id}/configs/{config_id}/variables/{variable_id}",
+      # Where `project_id` must be a valid Google Cloud project ID, `config_id`
+      # must be a valid RuntimeConfig object and `variable_id` follows Unix
+      # file system file path naming.
+      # `variable_id` can contain ASCII letters, numbers, slashes and dashes.
+      # Slashes are used as path element separators and are not part of the
+      # `variable_id` itself, so `variable_id` must contain at least one non-slash
+      # character. Multiple slashes are coalesced into single slash character.
+      # Each path segment should follow RFC 1035 segment specification.
+      # `len(variable_id)` must be less than 256 bytes.
+      # The name is assigned by the client, but will be validated on the server
+      # side to adhere to the format.
+      # Name is immutable and cannot be changed.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Variable message describes a single variable within a Configuration object.
+      # name denotes the hierarchical variable name, e.g.
+      # ports/serving_port within flags configuration object.
+      # Value is an opaque string and only leaf variables can have values.
+    "updateTime": "A String", # [Output Only] The time of the last variable update.
+    "state": "A String", # [Ouput only] The current state of the variable.
+        # State denotes the outcome of the Watch call and is unset by the Get/List
+        # calls.
+    "value": "A String", # `len(value)` must be less than 4096 bytes. Empty values are also accepted.
+        # value must be Base64 encoded.
+    "name": "A String", # Name of the variable resource.
+        # It has format of
+        # "projects/{project_id}/configs/{config_id}/variables/{variable_id}",
+        # Where `project_id` must be a valid Google Cloud project ID, `config_id`
+        # must be a valid RuntimeConfig object and `variable_id` follows Unix
+        # file system file path naming.
+        # `variable_id` can contain ASCII letters, numbers, slashes and dashes.
+        # Slashes are used as path element separators and are not part of the
+        # `variable_id` itself, so `variable_id` must contain at least one non-slash
+        # character. Multiple slashes are coalesced into single slash character.
+        # Each path segment should follow RFC 1035 segment specification.
+        # `len(variable_id)` must be less than 256 bytes.
+        # The name is assigned by the client, but will be validated on the server
+        # side to adhere to the format.
+        # Name is immutable and cannot be changed.
+  }
+
+ +
+ delete(name, recursive=None, x__xgafv=None) +
Deletes variable or variables.
+If name denotes a variable, that variable is deleted. If name is a prefix
+and recursive is true, then all variables with that prefix are deleted,
+it's a FAILED_PRECONDITION to delete a prefix without recursive being true.
+
+Args:
+  name: string, The name of the variable to delete. (required)
+  recursive: boolean, If recursive is false and name is a prefix of other variables, then
+the request will fail.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A generic empty message that you can re-use to avoid defining duplicated
+      # empty messages in your APIs. A typical example is to use it as the request
+      # or the response type of an API method. For instance:
+      #
+      #     service Foo {
+      #       rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
+      #     }
+      #
+      # The JSON representation for `Empty` is empty JSON object `{}`.
+  }
+
+ +
+ get(name, x__xgafv=None) +
Gets the variable resource object.
+
+Args:
+  name: string, What variable to return. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Variable message describes a single variable within a Configuration object.
+      # name denotes the hierarchical variable name, e.g.
+      # ports/serving_port within flags configuration object.
+      # Value is an opaque string and only leaf variables can have values.
+    "updateTime": "A String", # [Output Only] The time of the last variable update.
+    "state": "A String", # [Ouput only] The current state of the variable.
+        # State denotes the outcome of the Watch call and is unset by the Get/List
+        # calls.
+    "value": "A String", # `len(value)` must be less than 4096 bytes. Empty values are also accepted.
+        # value must be Base64 encoded.
+    "name": "A String", # Name of the variable resource.
+        # It has format of
+        # "projects/{project_id}/configs/{config_id}/variables/{variable_id}",
+        # Where `project_id` must be a valid Google Cloud project ID, `config_id`
+        # must be a valid RuntimeConfig object and `variable_id` follows Unix
+        # file system file path naming.
+        # `variable_id` can contain ASCII letters, numbers, slashes and dashes.
+        # Slashes are used as path element separators and are not part of the
+        # `variable_id` itself, so `variable_id` must contain at least one non-slash
+        # character. Multiple slashes are coalesced into single slash character.
+        # Each path segment should follow RFC 1035 segment specification.
+        # `len(variable_id)` must be less than 256 bytes.
+        # The name is assigned by the client, but will be validated on the server
+        # side to adhere to the format.
+        # Name is immutable and cannot be changed.
+  }
+
+ +
+ list(parent, pageSize=None, filter=None, pageToken=None, x__xgafv=None) +
Lists variables within given RuntimeConfig object, matching optionally
+provided filter.
+List contains only variable metadata, but not values.
+
+Args:
+  parent: string, Which RuntimeConfig object to list for variables. (required)
+  pageSize: integer, List pagination support.
+The size of the page to return. We may return fewer elements.
+  filter: string, List only variables matching filter prefix exactly.
+e.g. `projects/{project_id}/config/{config_id}/variables/{variable/id}`.
+  pageToken: string, The token for pagination.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response for the `ListVariables()` method.
+      # Order of returned variable objects is arbitrary.
+    "nextPageToken": "A String", # Pagination support.
+    "variables": [ # Matched variables and their values.
+      { # Variable message describes a single variable within a Configuration object.
+          # name denotes the hierarchical variable name, e.g.
+          # ports/serving_port within flags configuration object.
+          # Value is an opaque string and only leaf variables can have values.
+        "updateTime": "A String", # [Output Only] The time of the last variable update.
+        "state": "A String", # [Ouput only] The current state of the variable.
+            # State denotes the outcome of the Watch call and is unset by the Get/List
+            # calls.
+        "value": "A String", # `len(value)` must be less than 4096 bytes. Empty values are also accepted.
+            # value must be Base64 encoded.
+        "name": "A String", # Name of the variable resource.
+            # It has format of
+            # "projects/{project_id}/configs/{config_id}/variables/{variable_id}",
+            # Where `project_id` must be a valid Google Cloud project ID, `config_id`
+            # must be a valid RuntimeConfig object and `variable_id` follows Unix
+            # file system file path naming.
+            # `variable_id` can contain ASCII letters, numbers, slashes and dashes.
+            # Slashes are used as path element separators and are not part of the
+            # `variable_id` itself, so `variable_id` must contain at least one non-slash
+            # character. Multiple slashes are coalesced into single slash character.
+            # Each path segment should follow RFC 1035 segment specification.
+            # `len(variable_id)` must be less than 256 bytes.
+            # The name is assigned by the client, but will be validated on the server
+            # side to adhere to the format.
+            # Name is immutable and cannot be changed.
+      },
+    ],
+  }
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    
+
+ +
+ update(name=None, body, x__xgafv=None) +
Updates an existing variable with a new value.
+
+Args:
+  name: string, The name of the variable to update.
+In the format of:
+"projects/{project_id}/configs/{config_id}/variables/{variable_id}" (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Variable message describes a single variable within a Configuration object.
+    # name denotes the hierarchical variable name, e.g.
+    # ports/serving_port within flags configuration object.
+    # Value is an opaque string and only leaf variables can have values.
+  "updateTime": "A String", # [Output Only] The time of the last variable update.
+  "state": "A String", # [Ouput only] The current state of the variable.
+      # State denotes the outcome of the Watch call and is unset by the Get/List
+      # calls.
+  "value": "A String", # `len(value)` must be less than 4096 bytes. Empty values are also accepted.
+      # value must be Base64 encoded.
+  "name": "A String", # Name of the variable resource.
+      # It has format of
+      # "projects/{project_id}/configs/{config_id}/variables/{variable_id}",
+      # Where `project_id` must be a valid Google Cloud project ID, `config_id`
+      # must be a valid RuntimeConfig object and `variable_id` follows Unix
+      # file system file path naming.
+      # `variable_id` can contain ASCII letters, numbers, slashes and dashes.
+      # Slashes are used as path element separators and are not part of the
+      # `variable_id` itself, so `variable_id` must contain at least one non-slash
+      # character. Multiple slashes are coalesced into single slash character.
+      # Each path segment should follow RFC 1035 segment specification.
+      # `len(variable_id)` must be less than 256 bytes.
+      # The name is assigned by the client, but will be validated on the server
+      # side to adhere to the format.
+      # Name is immutable and cannot be changed.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Variable message describes a single variable within a Configuration object.
+      # name denotes the hierarchical variable name, e.g.
+      # ports/serving_port within flags configuration object.
+      # Value is an opaque string and only leaf variables can have values.
+    "updateTime": "A String", # [Output Only] The time of the last variable update.
+    "state": "A String", # [Ouput only] The current state of the variable.
+        # State denotes the outcome of the Watch call and is unset by the Get/List
+        # calls.
+    "value": "A String", # `len(value)` must be less than 4096 bytes. Empty values are also accepted.
+        # value must be Base64 encoded.
+    "name": "A String", # Name of the variable resource.
+        # It has format of
+        # "projects/{project_id}/configs/{config_id}/variables/{variable_id}",
+        # Where `project_id` must be a valid Google Cloud project ID, `config_id`
+        # must be a valid RuntimeConfig object and `variable_id` follows Unix
+        # file system file path naming.
+        # `variable_id` can contain ASCII letters, numbers, slashes and dashes.
+        # Slashes are used as path element separators and are not part of the
+        # `variable_id` itself, so `variable_id` must contain at least one non-slash
+        # character. Multiple slashes are coalesced into single slash character.
+        # Each path segment should follow RFC 1035 segment specification.
+        # `len(variable_id)` must be less than 256 bytes.
+        # The name is assigned by the client, but will be validated on the server
+        # side to adhere to the format.
+        # Name is immutable and cannot be changed.
+  }
+
+ +
+ watch(name, body, x__xgafv=None) +
WatchVariable watches for a variable to change and then returns the new
+value or times out.
+If variable is deleted while being watched, VariableState will be DELETED
+and the Value will contain the last known value.
+If the operation deadline is set to a larger value than internal timeout
+existing, current variable value will be returned and Variable state will
+be VARIABLE_STATE_UNSPECIFIED.
+
+Args:
+  name: string, The name of the variable to retrieve. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Request for the `WatchVariable()` method.
+    "newerThan": "A String", # If backend has a variable that has a newer value than this timestamp, then
+        # request will return immediately with current value.
+        # If not specified or variable has an older timestamp, will wait for the new
+        # value.
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Variable message describes a single variable within a Configuration object.
+      # name denotes the hierarchical variable name, e.g.
+      # ports/serving_port within flags configuration object.
+      # Value is an opaque string and only leaf variables can have values.
+    "updateTime": "A String", # [Output Only] The time of the last variable update.
+    "state": "A String", # [Ouput only] The current state of the variable.
+        # State denotes the outcome of the Watch call and is unset by the Get/List
+        # calls.
+    "value": "A String", # `len(value)` must be less than 4096 bytes. Empty values are also accepted.
+        # value must be Base64 encoded.
+    "name": "A String", # Name of the variable resource.
+        # It has format of
+        # "projects/{project_id}/configs/{config_id}/variables/{variable_id}",
+        # Where `project_id` must be a valid Google Cloud project ID, `config_id`
+        # must be a valid RuntimeConfig object and `variable_id` follows Unix
+        # file system file path naming.
+        # `variable_id` can contain ASCII letters, numbers, slashes and dashes.
+        # Slashes are used as path element separators and are not part of the
+        # `variable_id` itself, so `variable_id` must contain at least one non-slash
+        # character. Multiple slashes are coalesced into single slash character.
+        # Each path segment should follow RFC 1035 segment specification.
+        # `len(variable_id)` must be less than 256 bytes.
+        # The name is assigned by the client, but will be validated on the server
+        # side to adhere to the format.
+        # Name is immutable and cannot be changed.
+  }
+
+ + \ No newline at end of file diff --git a/docs/dyn/runtimeconfig_v1beta1.projects.configs.waiters.html b/docs/dyn/runtimeconfig_v1beta1.projects.configs.waiters.html new file mode 100644 index 00000000000..0ad5d1feddb --- /dev/null +++ b/docs/dyn/runtimeconfig_v1beta1.projects.configs.waiters.html @@ -0,0 +1,685 @@ + + + +

Google Cloud RuntimeConfig API . projects . configs . waiters

+

Instance Methods

+

+ create(parent=None, body, x__xgafv=None)

+

Creates a Waiter resource. This operation returns a long-running Operation

+

+ delete(name, x__xgafv=None)

+

Deletes the Waiter with the specified name.

+

+ get(name, x__xgafv=None)

+

Gets the Waiter resource with the specified name.

+

+ list(parent=None, pageToken=None, x__xgafv=None, pageSize=None)

+

List Waiters within the given RuntimeConfig resource.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

Method Details

+
+ create(parent=None, body, x__xgafv=None) +
Creates a Waiter resource. This operation returns a long-running Operation
+resource which can be polled for completion. However, a Waiter with the
+given name will exist (and can be retrieved) prior to the resultant
+Operation completing. If the resultant Operation indicates a failure, the
+failed Waiter resource will still exist and must be deleted prior to
+subsequent creation attempts.
+
+Args:
+  parent: string, The fully-qualified name of the configuration that will own the waiter.
+Required. Must be a valid configuration name. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A Waiter resource waits for some condition within a RuntimeConfig resource
+      # to be met. For example: each node in a distributed system startup process
+      # writes a value to a Variable resource indicating its readiness. A Waiter
+      # configured with the proper `success` condition can be used to wait until
+      # some number of nodes have checked in.
+      # Once created, a Waiter resource is immutable.
+    "name": "A String", # Name of the variable resource.
+        # It has format of
+        # "projects/{project_id}/configs/{config_id}/waiters/{waiter_id}",
+        # Where `project_id` must be a valid Google Cloud project ID, `config_id`
+        # must be a valid RuntimeConfig object and the `waiter_id` must match
+        # RFC 1035 segment specification, and `len(waiter_id)` must be less than
+        # 64 bytes.
+        # The name is assigned by the client, but will be validated on the server
+        # side to adhere to the format.
+        # Name is immutable and cannot be changed. Required.
+    "success": { # A condition that a Waiter resource is waiting for. The set of possible # The success condition. If this condition is met, `done` will be set to
+        # `true` and the `error` value will remain unset. The failure condition
+        # takes precedence over the success condition. If both conditions are met, a
+        # failure will be indicated. Required.
+        # conditions may expand over time.
+      "cardinality": { # The Cardinality condition is met when the count of `Variable` resources # The Cardinality condition type configuration.
+          # under the specified path prefix reaches the specified number.
+          # For example, take the following variables in a RuntimeConfig object:
+          #   /foo/variable1 = "value1"
+          #   /foo/variable2 = "value2"
+          #   /bar/variable3 = "value3"
+          #
+          # These variables would satisfy a Cardinality condition with `path` set to
+          # "/foo" and `number` set to 2, but would not satisify the same condition
+          # with `number` set to 3.
+        "path": "A String", # The root of the variable subtree to monitor. Required.
+        "number": 42, # The number of decendents of `path` that must exist before this condition
+            # is met. Optional; defaults to 1 if not specified.
+      },
+    },
+    "failure": { # A condition that a Waiter resource is waiting for. The set of possible # The failure condition. If this condition is met, `done` will be set to
+        # `true` and the `error` code will be set to ABORTED. The failure condition
+        # takes precedence over the success condition. If both conditions are met, a
+        # failure will be indicated. This value is optional; if no failure condition
+        # is set, the only failure scenario will be a timeout. Optional.
+        # conditions may expand over time.
+      "cardinality": { # The Cardinality condition is met when the count of `Variable` resources # The Cardinality condition type configuration.
+          # under the specified path prefix reaches the specified number.
+          # For example, take the following variables in a RuntimeConfig object:
+          #   /foo/variable1 = "value1"
+          #   /foo/variable2 = "value2"
+          #   /bar/variable3 = "value3"
+          #
+          # These variables would satisfy a Cardinality condition with `path` set to
+          # "/foo" and `number` set to 2, but would not satisify the same condition
+          # with `number` set to 3.
+        "path": "A String", # The root of the variable subtree to monitor. Required.
+        "number": 42, # The number of decendents of `path` that must exist before this condition
+            # is met. Optional; defaults to 1 if not specified.
+      },
+    },
+    "done": True or False, # If the value is `false`, it means the Waiter is still waiting for one of
+        # its conditions to be met.
+        # If true, the Waiter has finished. If the Waiter finished due to a timeout
+        # or failure, `error` will be set. Output only.
+    "timeout": "A String", # The timeout, beginning from the instant that CreateWaiter is called. If
+        # this timeout elapses prior to the success or failure conditions being met,
+        # the Waiter will fail and the `error` code will be set to DEADLINE_EXCEEDED.
+        # Required.
+    "error": { # The `Status` type defines a logical error model that is suitable for different # If the Waiter ended due to a failure or timeout, this value will be set.
+        # Output only.
+        # programming environments, including REST APIs and RPC APIs. It is used by
+        # [gRPC](https://github.com/grpc). The error model is designed to be:
+        #
+        # - Simple to use and understand for most users
+        # - Flexible enough to meet unexpected needs
+        #
+        # # Overview
+        #
+        # The `Status` message contains three pieces of data: error code, error message,
+        # and error details. The error code should be an enum value of
+        # google.rpc.Code, but it may accept additional error codes if needed.  The
+        # error message should be a developer-facing English message that helps
+        # developers *understand* and *resolve* the error. If a localized user-facing
+        # error message is needed, put the localized message in the error details or
+        # localize it in the client. The optional error details may contain arbitrary
+        # information about the error. There is a predefined set of error detail types
+        # in the package `google.rpc` which can be used for common error conditions.
+        #
+        # # Language mapping
+        #
+        # The `Status` message is the logical representation of the error model, but it
+        # is not necessarily the actual wire format. When the `Status` message is
+        # exposed in different client libraries and different wire protocols, it can be
+        # mapped differently. For example, it will likely be mapped to some exceptions
+        # in Java, but more likely mapped to some error codes in C.
+        #
+        # # Other uses
+        #
+        # The error model and the `Status` message can be used in a variety of
+        # environments, either with or without APIs, to provide a
+        # consistent developer experience across different environments.
+        #
+        # Example uses of this error model include:
+        #
+        # - Partial errors. If a service needs to return partial errors to the client,
+        #     it may embed the `Status` in the normal response to indicate the partial
+        #     errors.
+        #
+        # - Workflow errors. A typical workflow has multiple steps. Each step may
+        #     have a `Status` message for error reporting purpose.
+        #
+        # - Batch operations. If a client uses batch request and batch response, the
+        #     `Status` message should be used directly inside batch response, one for
+        #     each error sub-response.
+        #
+        # - Asynchronous operations. If an API call embeds asynchronous operation
+        #     results in its response, the status of those operations should be
+        #     represented directly using the `Status` message.
+        #
+        # - Logging. If some API errors are stored in logs, the message `Status` could
+        #     be used directly after any stripping needed for security/privacy reasons.
+      "message": "A String", # A developer-facing error message, which should be in English. Any
+          # user-facing error message should be localized and sent in the
+          # google.rpc.Status.details field, or localized by the client.
+      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+      "details": [ # A list of messages that carry the error details.  There will be a
+          # common set of message types for APIs to use.
+        {
+          "a_key": "", # Properties of the object. Contains field @ype with type URL.
+        },
+      ],
+    },
+    "createTime": "A String", # The instant at which this Waiter was created. Adding the value of `timeout`
+        # to this instant yields the timeout deadline for this Waiter. Output only.
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a
+      # network API call.
+    "metadata": { # Service-specific metadata associated with the operation.  It typically
+        # contains progress information and common metadata such as create time.
+        # Some services might not provide such metadata.  Any method that returns a
+        # long-running operation should document the metadata type, if any.
+      "a_key": "", # Properties of the object. Contains field @ype with type URL.
+    },
+    "done": True or False, # If the value is `false`, it means the operation is still in progress.
+        # If true, the operation is completed, and either `error` or `response` is
+        # available.
+    "response": { # The normal response of the operation in case of success.  If the original
+        # method returns no data on success, such as `Delete`, the response is
+        # `google.protobuf.Empty`.  If the original method is standard
+        # `Get`/`Create`/`Update`, the response should be the resource.  For other
+        # methods, the response should have the type `XxxResponse`, where `Xxx`
+        # is the original method name.  For example, if the original method name
+        # is `TakeSnapshot()`, the inferred response type is
+        # `TakeSnapshotResponse`.
+      "a_key": "", # Properties of the object. Contains field @ype with type URL.
+    },
+    "name": "A String", # The server-assigned name, which is only unique within the same service that
+        # originally returns it. If you use the default HTTP mapping, the
+        # `name` should have the format of `operations/some/unique/name`.
+    "error": { # The `Status` type defines a logical error model that is suitable for different # The error result of the operation in case of failure.
+        # programming environments, including REST APIs and RPC APIs. It is used by
+        # [gRPC](https://github.com/grpc). The error model is designed to be:
+        #
+        # - Simple to use and understand for most users
+        # - Flexible enough to meet unexpected needs
+        #
+        # # Overview
+        #
+        # The `Status` message contains three pieces of data: error code, error message,
+        # and error details. The error code should be an enum value of
+        # google.rpc.Code, but it may accept additional error codes if needed.  The
+        # error message should be a developer-facing English message that helps
+        # developers *understand* and *resolve* the error. If a localized user-facing
+        # error message is needed, put the localized message in the error details or
+        # localize it in the client. The optional error details may contain arbitrary
+        # information about the error. There is a predefined set of error detail types
+        # in the package `google.rpc` which can be used for common error conditions.
+        #
+        # # Language mapping
+        #
+        # The `Status` message is the logical representation of the error model, but it
+        # is not necessarily the actual wire format. When the `Status` message is
+        # exposed in different client libraries and different wire protocols, it can be
+        # mapped differently. For example, it will likely be mapped to some exceptions
+        # in Java, but more likely mapped to some error codes in C.
+        #
+        # # Other uses
+        #
+        # The error model and the `Status` message can be used in a variety of
+        # environments, either with or without APIs, to provide a
+        # consistent developer experience across different environments.
+        #
+        # Example uses of this error model include:
+        #
+        # - Partial errors. If a service needs to return partial errors to the client,
+        #     it may embed the `Status` in the normal response to indicate the partial
+        #     errors.
+        #
+        # - Workflow errors. A typical workflow has multiple steps. Each step may
+        #     have a `Status` message for error reporting purpose.
+        #
+        # - Batch operations. If a client uses batch request and batch response, the
+        #     `Status` message should be used directly inside batch response, one for
+        #     each error sub-response.
+        #
+        # - Asynchronous operations. If an API call embeds asynchronous operation
+        #     results in its response, the status of those operations should be
+        #     represented directly using the `Status` message.
+        #
+        # - Logging. If some API errors are stored in logs, the message `Status` could
+        #     be used directly after any stripping needed for security/privacy reasons.
+      "message": "A String", # A developer-facing error message, which should be in English. Any
+          # user-facing error message should be localized and sent in the
+          # google.rpc.Status.details field, or localized by the client.
+      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+      "details": [ # A list of messages that carry the error details.  There will be a
+          # common set of message types for APIs to use.
+        {
+          "a_key": "", # Properties of the object. Contains field @ype with type URL.
+        },
+      ],
+    },
+  }
+
+ +
+ delete(name, x__xgafv=None) +
Deletes the Waiter with the specified name.
+
+Args:
+  name: string, The Waiter resource to delete. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A generic empty message that you can re-use to avoid defining duplicated
+      # empty messages in your APIs. A typical example is to use it as the request
+      # or the response type of an API method. For instance:
+      #
+      #     service Foo {
+      #       rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
+      #     }
+      #
+      # The JSON representation for `Empty` is empty JSON object `{}`.
+  }
+
+ +
+ get(name, x__xgafv=None) +
Gets the Waiter resource with the specified name.
+
+Args:
+  name: string, The fully-qualified name of the Waiter resource object to retrieve. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A Waiter resource waits for some condition within a RuntimeConfig resource
+        # to be met. For example: each node in a distributed system startup process
+        # writes a value to a Variable resource indicating its readiness. A Waiter
+        # configured with the proper `success` condition can be used to wait until
+        # some number of nodes have checked in.
+        # Once created, a Waiter resource is immutable.
+      "name": "A String", # Name of the variable resource.
+          # It has format of
+          # "projects/{project_id}/configs/{config_id}/waiters/{waiter_id}",
+          # Where `project_id` must be a valid Google Cloud project ID, `config_id`
+          # must be a valid RuntimeConfig object and the `waiter_id` must match
+          # RFC 1035 segment specification, and `len(waiter_id)` must be less than
+          # 64 bytes.
+          # The name is assigned by the client, but will be validated on the server
+          # side to adhere to the format.
+          # Name is immutable and cannot be changed. Required.
+      "success": { # A condition that a Waiter resource is waiting for. The set of possible # The success condition. If this condition is met, `done` will be set to
+          # `true` and the `error` value will remain unset. The failure condition
+          # takes precedence over the success condition. If both conditions are met, a
+          # failure will be indicated. Required.
+          # conditions may expand over time.
+        "cardinality": { # The Cardinality condition is met when the count of `Variable` resources # The Cardinality condition type configuration.
+            # under the specified path prefix reaches the specified number.
+            # For example, take the following variables in a RuntimeConfig object:
+            #   /foo/variable1 = "value1"
+            #   /foo/variable2 = "value2"
+            #   /bar/variable3 = "value3"
+            #
+            # These variables would satisfy a Cardinality condition with `path` set to
+            # "/foo" and `number` set to 2, but would not satisify the same condition
+            # with `number` set to 3.
+          "path": "A String", # The root of the variable subtree to monitor. Required.
+          "number": 42, # The number of decendents of `path` that must exist before this condition
+              # is met. Optional; defaults to 1 if not specified.
+        },
+      },
+      "failure": { # A condition that a Waiter resource is waiting for. The set of possible # The failure condition. If this condition is met, `done` will be set to
+          # `true` and the `error` code will be set to ABORTED. The failure condition
+          # takes precedence over the success condition. If both conditions are met, a
+          # failure will be indicated. This value is optional; if no failure condition
+          # is set, the only failure scenario will be a timeout. Optional.
+          # conditions may expand over time.
+        "cardinality": { # The Cardinality condition is met when the count of `Variable` resources # The Cardinality condition type configuration.
+            # under the specified path prefix reaches the specified number.
+            # For example, take the following variables in a RuntimeConfig object:
+            #   /foo/variable1 = "value1"
+            #   /foo/variable2 = "value2"
+            #   /bar/variable3 = "value3"
+            #
+            # These variables would satisfy a Cardinality condition with `path` set to
+            # "/foo" and `number` set to 2, but would not satisify the same condition
+            # with `number` set to 3.
+          "path": "A String", # The root of the variable subtree to monitor. Required.
+          "number": 42, # The number of decendents of `path` that must exist before this condition
+              # is met. Optional; defaults to 1 if not specified.
+        },
+      },
+      "done": True or False, # If the value is `false`, it means the Waiter is still waiting for one of
+          # its conditions to be met.
+          # If true, the Waiter has finished. If the Waiter finished due to a timeout
+          # or failure, `error` will be set. Output only.
+      "timeout": "A String", # The timeout, beginning from the instant that CreateWaiter is called. If
+          # this timeout elapses prior to the success or failure conditions being met,
+          # the Waiter will fail and the `error` code will be set to DEADLINE_EXCEEDED.
+          # Required.
+      "error": { # The `Status` type defines a logical error model that is suitable for different # If the Waiter ended due to a failure or timeout, this value will be set.
+          # Output only.
+          # programming environments, including REST APIs and RPC APIs. It is used by
+          # [gRPC](https://github.com/grpc). The error model is designed to be:
+          #
+          # - Simple to use and understand for most users
+          # - Flexible enough to meet unexpected needs
+          #
+          # # Overview
+          #
+          # The `Status` message contains three pieces of data: error code, error message,
+          # and error details. The error code should be an enum value of
+          # google.rpc.Code, but it may accept additional error codes if needed.  The
+          # error message should be a developer-facing English message that helps
+          # developers *understand* and *resolve* the error. If a localized user-facing
+          # error message is needed, put the localized message in the error details or
+          # localize it in the client. The optional error details may contain arbitrary
+          # information about the error. There is a predefined set of error detail types
+          # in the package `google.rpc` which can be used for common error conditions.
+          #
+          # # Language mapping
+          #
+          # The `Status` message is the logical representation of the error model, but it
+          # is not necessarily the actual wire format. When the `Status` message is
+          # exposed in different client libraries and different wire protocols, it can be
+          # mapped differently. For example, it will likely be mapped to some exceptions
+          # in Java, but more likely mapped to some error codes in C.
+          #
+          # # Other uses
+          #
+          # The error model and the `Status` message can be used in a variety of
+          # environments, either with or without APIs, to provide a
+          # consistent developer experience across different environments.
+          #
+          # Example uses of this error model include:
+          #
+          # - Partial errors. If a service needs to return partial errors to the client,
+          #     it may embed the `Status` in the normal response to indicate the partial
+          #     errors.
+          #
+          # - Workflow errors. A typical workflow has multiple steps. Each step may
+          #     have a `Status` message for error reporting purpose.
+          #
+          # - Batch operations. If a client uses batch request and batch response, the
+          #     `Status` message should be used directly inside batch response, one for
+          #     each error sub-response.
+          #
+          # - Asynchronous operations. If an API call embeds asynchronous operation
+          #     results in its response, the status of those operations should be
+          #     represented directly using the `Status` message.
+          #
+          # - Logging. If some API errors are stored in logs, the message `Status` could
+          #     be used directly after any stripping needed for security/privacy reasons.
+        "message": "A String", # A developer-facing error message, which should be in English. Any
+            # user-facing error message should be localized and sent in the
+            # google.rpc.Status.details field, or localized by the client.
+        "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+        "details": [ # A list of messages that carry the error details.  There will be a
+            # common set of message types for APIs to use.
+          {
+            "a_key": "", # Properties of the object. Contains field @ype with type URL.
+          },
+        ],
+      },
+      "createTime": "A String", # The instant at which this Waiter was created. Adding the value of `timeout`
+          # to this instant yields the timeout deadline for this Waiter. Output only.
+    }
+
+ +
+ list(parent=None, pageToken=None, x__xgafv=None, pageSize=None) +
List Waiters within the given RuntimeConfig resource.
+
+Args:
+  parent: string, The fully-qualified name of the configuration to list.
+Required. Must be a valid configuration name. (required)
+  pageToken: string, The token for pagination.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+  pageSize: integer, List pagination support.
+The size of the page to return. We may return fewer elements.
+
+Returns:
+  An object of the form:
+
+    { # Response for the `ListWaiters()` method.
+      # Order of returned waiter objects is arbitrary.
+    "nextPageToken": "A String", # Pagination support.
+    "waiters": [ # Found waiters in the project.
+      { # A Waiter resource waits for some condition within a RuntimeConfig resource
+            # to be met. For example: each node in a distributed system startup process
+            # writes a value to a Variable resource indicating its readiness. A Waiter
+            # configured with the proper `success` condition can be used to wait until
+            # some number of nodes have checked in.
+            # Once created, a Waiter resource is immutable.
+          "name": "A String", # Name of the variable resource.
+              # It has format of
+              # "projects/{project_id}/configs/{config_id}/waiters/{waiter_id}",
+              # Where `project_id` must be a valid Google Cloud project ID, `config_id`
+              # must be a valid RuntimeConfig object and the `waiter_id` must match
+              # RFC 1035 segment specification, and `len(waiter_id)` must be less than
+              # 64 bytes.
+              # The name is assigned by the client, but will be validated on the server
+              # side to adhere to the format.
+              # Name is immutable and cannot be changed. Required.
+          "success": { # A condition that a Waiter resource is waiting for. The set of possible # The success condition. If this condition is met, `done` will be set to
+              # `true` and the `error` value will remain unset. The failure condition
+              # takes precedence over the success condition. If both conditions are met, a
+              # failure will be indicated. Required.
+              # conditions may expand over time.
+            "cardinality": { # The Cardinality condition is met when the count of `Variable` resources # The Cardinality condition type configuration.
+                # under the specified path prefix reaches the specified number.
+                # For example, take the following variables in a RuntimeConfig object:
+                #   /foo/variable1 = "value1"
+                #   /foo/variable2 = "value2"
+                #   /bar/variable3 = "value3"
+                #
+                # These variables would satisfy a Cardinality condition with `path` set to
+                # "/foo" and `number` set to 2, but would not satisify the same condition
+                # with `number` set to 3.
+              "path": "A String", # The root of the variable subtree to monitor. Required.
+              "number": 42, # The number of decendents of `path` that must exist before this condition
+                  # is met. Optional; defaults to 1 if not specified.
+            },
+          },
+          "failure": { # A condition that a Waiter resource is waiting for. The set of possible # The failure condition. If this condition is met, `done` will be set to
+              # `true` and the `error` code will be set to ABORTED. The failure condition
+              # takes precedence over the success condition. If both conditions are met, a
+              # failure will be indicated. This value is optional; if no failure condition
+              # is set, the only failure scenario will be a timeout. Optional.
+              # conditions may expand over time.
+            "cardinality": { # The Cardinality condition is met when the count of `Variable` resources # The Cardinality condition type configuration.
+                # under the specified path prefix reaches the specified number.
+                # For example, take the following variables in a RuntimeConfig object:
+                #   /foo/variable1 = "value1"
+                #   /foo/variable2 = "value2"
+                #   /bar/variable3 = "value3"
+                #
+                # These variables would satisfy a Cardinality condition with `path` set to
+                # "/foo" and `number` set to 2, but would not satisify the same condition
+                # with `number` set to 3.
+              "path": "A String", # The root of the variable subtree to monitor. Required.
+              "number": 42, # The number of decendents of `path` that must exist before this condition
+                  # is met. Optional; defaults to 1 if not specified.
+            },
+          },
+          "done": True or False, # If the value is `false`, it means the Waiter is still waiting for one of
+              # its conditions to be met.
+              # If true, the Waiter has finished. If the Waiter finished due to a timeout
+              # or failure, `error` will be set. Output only.
+          "timeout": "A String", # The timeout, beginning from the instant that CreateWaiter is called. If
+              # this timeout elapses prior to the success or failure conditions being met,
+              # the Waiter will fail and the `error` code will be set to DEADLINE_EXCEEDED.
+              # Required.
+          "error": { # The `Status` type defines a logical error model that is suitable for different # If the Waiter ended due to a failure or timeout, this value will be set.
+              # Output only.
+              # programming environments, including REST APIs and RPC APIs. It is used by
+              # [gRPC](https://github.com/grpc). The error model is designed to be:
+              #
+              # - Simple to use and understand for most users
+              # - Flexible enough to meet unexpected needs
+              #
+              # # Overview
+              #
+              # The `Status` message contains three pieces of data: error code, error message,
+              # and error details. The error code should be an enum value of
+              # google.rpc.Code, but it may accept additional error codes if needed.  The
+              # error message should be a developer-facing English message that helps
+              # developers *understand* and *resolve* the error. If a localized user-facing
+              # error message is needed, put the localized message in the error details or
+              # localize it in the client. The optional error details may contain arbitrary
+              # information about the error. There is a predefined set of error detail types
+              # in the package `google.rpc` which can be used for common error conditions.
+              #
+              # # Language mapping
+              #
+              # The `Status` message is the logical representation of the error model, but it
+              # is not necessarily the actual wire format. When the `Status` message is
+              # exposed in different client libraries and different wire protocols, it can be
+              # mapped differently. For example, it will likely be mapped to some exceptions
+              # in Java, but more likely mapped to some error codes in C.
+              #
+              # # Other uses
+              #
+              # The error model and the `Status` message can be used in a variety of
+              # environments, either with or without APIs, to provide a
+              # consistent developer experience across different environments.
+              #
+              # Example uses of this error model include:
+              #
+              # - Partial errors. If a service needs to return partial errors to the client,
+              #     it may embed the `Status` in the normal response to indicate the partial
+              #     errors.
+              #
+              # - Workflow errors. A typical workflow has multiple steps. Each step may
+              #     have a `Status` message for error reporting purpose.
+              #
+              # - Batch operations. If a client uses batch request and batch response, the
+              #     `Status` message should be used directly inside batch response, one for
+              #     each error sub-response.
+              #
+              # - Asynchronous operations. If an API call embeds asynchronous operation
+              #     results in its response, the status of those operations should be
+              #     represented directly using the `Status` message.
+              #
+              # - Logging. If some API errors are stored in logs, the message `Status` could
+              #     be used directly after any stripping needed for security/privacy reasons.
+            "message": "A String", # A developer-facing error message, which should be in English. Any
+                # user-facing error message should be localized and sent in the
+                # google.rpc.Status.details field, or localized by the client.
+            "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+            "details": [ # A list of messages that carry the error details.  There will be a
+                # common set of message types for APIs to use.
+              {
+                "a_key": "", # Properties of the object. Contains field @ype with type URL.
+              },
+            ],
+          },
+          "createTime": "A String", # The instant at which this Waiter was created. Adding the value of `timeout`
+              # to this instant yields the timeout deadline for this Waiter. Output only.
+        },
+    ],
+  }
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    
+
+ + \ No newline at end of file diff --git a/docs/dyn/runtimeconfig_v1beta1.projects.html b/docs/dyn/runtimeconfig_v1beta1.projects.html new file mode 100644 index 00000000000..a56a2cf612e --- /dev/null +++ b/docs/dyn/runtimeconfig_v1beta1.projects.html @@ -0,0 +1,82 @@ + + + +

Google Cloud RuntimeConfig API . projects

+

Instance Methods

+

+ configs() +

+

Returns the configs Resource.

+ + \ No newline at end of file diff --git a/docs/dyn/safebrowsing_v4.fullHashes.html b/docs/dyn/safebrowsing_v4.fullHashes.html new file mode 100644 index 00000000000..0bc7d84dff6 --- /dev/null +++ b/docs/dyn/safebrowsing_v4.fullHashes.html @@ -0,0 +1,149 @@ + + + +

Safe Browsing APIs . fullHashes

+

Instance Methods

+

+ find(body, x__xgafv=None)

+

Finds the full hashes that match the requested hash prefixes.

+

Method Details

+
+ find(body, x__xgafv=None) +
Finds the full hashes that match the requested hash prefixes.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Request to return full hashes matched by the provided hash prefixes.
+    "client": { # The client metadata associated with Safe Browsing API requests. # The client metadata.
+      "clientVersion": "A String", # The version of the client implementation.
+      "clientId": "A String", # A client ID that (hopefully) uniquely identifies the client implementation of the Safe Browsing API.
+    },
+    "threatInfo": { # The information regarding one or more threats that a client submits when checking for matches in threat lists. # The lists and hashes to be checked.
+      "threatTypes": [ # The threat types to be checked.
+        "A String",
+      ],
+      "threatEntries": [ # The threat entries to be checked.
+        { # An individual threat; for example, a malicious URL or its hash representation. Only one of these fields should be set.
+          "url": "A String", # A URL.
+          "hash": "A String", # A hash prefix, consisting of the most significant 4-32 bytes of a SHA256 hash. This field is in binary format.
+          "digest": "A String", # The digest of an executable in SHA256 format. The API supports both binary and hex digests.
+        },
+      ],
+      "platformTypes": [ # The platform types to be checked.
+        "A String",
+      ],
+      "threatEntryTypes": [ # The entry types to be checked.
+        "A String",
+      ],
+    },
+    "clientStates": [ # The current client states for each of the client's local threat lists.
+      "A String",
+    ],
+  }
+
+  x__xgafv: string, V1 error format.
+
+Returns:
+  An object of the form:
+
+    {
+    "matches": [ # The full hashes that matched the requested prefixes.
+      { # A match when checking a threat entry in the Safe Browsing threat lists.
+        "threatType": "A String", # The threat type matching this threat.
+        "threatEntryMetadata": { # The metadata associated with a specific threat entry. The client is expected to know the metadata key/value pairs associated with each threat type. # Optional metadata associated with this threat.
+          "entries": [ # The metadata entries.
+            { # A single metadata entry.
+              "value": "A String", # The metadata entry value.
+              "key": "A String", # The metadata entry key.
+            },
+          ],
+        },
+        "threatEntryType": "A String", # The threat entry type matching this threat.
+        "cacheDuration": "A String", # The cache lifetime for the returned match. Clients must not cache this response for more than this duration to avoid false positives.
+        "threat": { # An individual threat; for example, a malicious URL or its hash representation. Only one of these fields should be set. # The threat matching this threat.
+          "url": "A String", # A URL.
+          "hash": "A String", # A hash prefix, consisting of the most significant 4-32 bytes of a SHA256 hash. This field is in binary format.
+          "digest": "A String", # The digest of an executable in SHA256 format. The API supports both binary and hex digests.
+        },
+        "platformType": "A String", # The platform type matching this threat.
+      },
+    ],
+    "negativeCacheDuration": "A String", # For requested entities that did not match the threat list, how long to cache the response.
+    "minimumWaitDuration": "A String", # The minimum duration the client must wait before issuing any find hashes request. If this field is not set, clients can issue a request as soon as they want.
+  }
+
+ + \ No newline at end of file diff --git a/docs/dyn/safebrowsing_v4.html b/docs/dyn/safebrowsing_v4.html new file mode 100644 index 00000000000..7d39ea7376e --- /dev/null +++ b/docs/dyn/safebrowsing_v4.html @@ -0,0 +1,118 @@ + + + +

Safe Browsing APIs

+

Instance Methods

+

+ fullHashes() +

+

Returns the fullHashes Resource.

+ +

+ threatListUpdates() +

+

Returns the threatListUpdates Resource.

+ +

+ threatLists() +

+

Returns the threatLists Resource.

+ +

+ threatMatches() +

+

Returns the threatMatches Resource.

+ +

+ new_batch_http_request()

+

Create a BatchHttpRequest object based on the discovery document.

+

Method Details

+
+ new_batch_http_request() +
Create a BatchHttpRequest object based on the discovery document.
+
+        Args:
+          callback: callable, A callback to be called for each response, of the
+            form callback(id, response, exception). The first parameter is the
+            request id, and the second is the deserialized response object. The
+            third is an apiclient.errors.HttpError exception object if an HTTP
+            error occurred while processing the request, or None if no error
+            occurred.
+
+        Returns:
+          A BatchHttpRequest object based on the discovery document.
+        
+
+ + \ No newline at end of file diff --git a/docs/dyn/safebrowsing_v4.threatListUpdates.html b/docs/dyn/safebrowsing_v4.threatListUpdates.html new file mode 100644 index 00000000000..3a4c14a3e12 --- /dev/null +++ b/docs/dyn/safebrowsing_v4.threatListUpdates.html @@ -0,0 +1,186 @@ + + + +

Safe Browsing APIs . threatListUpdates

+

Instance Methods

+

+ fetch(body, x__xgafv=None)

+

Fetches the most recent threat list updates. A client can request updates for multiple lists at once.

+

Method Details

+
+ fetch(body, x__xgafv=None) +
Fetches the most recent threat list updates. A client can request updates for multiple lists at once.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Describes a Safe Browsing API update request. Clients can request updates for multiple lists in a single request. NOTE: Field index 2 is unused. NEXT: 4
+    "client": { # The client metadata associated with Safe Browsing API requests. # The client metadata.
+      "clientVersion": "A String", # The version of the client implementation.
+      "clientId": "A String", # A client ID that (hopefully) uniquely identifies the client implementation of the Safe Browsing API.
+    },
+    "listUpdateRequests": [ # The requested threat list updates.
+      { # A single list update request.
+        "threatType": "A String", # The type of threat posed by entries present in the list.
+        "threatEntryType": "A String", # The types of entries present in the list.
+        "platformType": "A String", # The type of platform at risk by entries present in the list.
+        "constraints": { # The constraints for this update. # The constraints associated with this request.
+          "maxDatabaseEntries": 42, # Sets the maximum number of entries that the client is willing to have in the local database. This should be a power of 2 between 2**10 and 2**20. If zero, no database size limit is set.
+          "region": "A String", # Requests the list for a specific geographic location. If not set the server may pick that value based on the user's IP address. Expects ISO 3166-1 alpha-2 format.
+          "supportedCompressions": [ # The compression types supported by the client.
+            "A String",
+          ],
+          "maxUpdateEntries": 42, # The maximum size in number of entries. The update will not contain more entries than this value. This should be a power of 2 between 2**10 and 2**20. If zero, no update size limit is set.
+        },
+        "state": "A String", # The current state of the client for the requested list (the encrypted client state that was received from the last successful list update).
+      },
+    ],
+  }
+
+  x__xgafv: string, V1 error format.
+
+Returns:
+  An object of the form:
+
+    {
+    "listUpdateResponses": [ # The list updates requested by the clients.
+      { # An update to an individual list.
+        "responseType": "A String", # The type of response. This may indicate that an action is required by the client when the response is received.
+        "threatType": "A String", # The threat type for which data is returned.
+        "removals": [ # A set of entries to remove from a local threat type's list. Repeated for the same reason as above.
+          { # A set of threats that should be added or removed from a client's local database.
+            "compressionType": "A String", # The compression type for the entries in this set.
+            "riceIndices": { # The Rice-Golomb encoded data. Used for sending compressed 4-byte hashes or compressed removal indices. # The encoded local, lexicographically-sorted list indices, using a Golomb-Rice encoding. Used for sending compressed removal indices.
+              "encodedData": "A String", # The encoded deltas that are encoded using the Golomb-Rice coder.
+              "numEntries": 42, # The number of entries that are delta encoded in the encoded data. If only a single integer was encoded, this will be zero and the single value will be stored in `first_value`.
+              "riceParameter": 42, # The Golomb-Rice parameter, which is a number between 2 and 28. This field is missing (that is, zero) if `num_entries` is zero.
+              "firstValue": "A String", # The offset of the first entry in the encoded data, or, if only a single integer was encoded, that single integer's value.
+            },
+            "rawIndices": { # A set of raw indices to remove from a local list. # The raw removal indices for a local list.
+              "indices": [ # The indices to remove from a lexicographically-sorted local list.
+                42,
+              ],
+            },
+            "riceHashes": { # The Rice-Golomb encoded data. Used for sending compressed 4-byte hashes or compressed removal indices. # The encoded 4-byte prefixes of SHA256-formatted entries, using a Golomb-Rice encoding.
+              "encodedData": "A String", # The encoded deltas that are encoded using the Golomb-Rice coder.
+              "numEntries": 42, # The number of entries that are delta encoded in the encoded data. If only a single integer was encoded, this will be zero and the single value will be stored in `first_value`.
+              "riceParameter": 42, # The Golomb-Rice parameter, which is a number between 2 and 28. This field is missing (that is, zero) if `num_entries` is zero.
+              "firstValue": "A String", # The offset of the first entry in the encoded data, or, if only a single integer was encoded, that single integer's value.
+            },
+            "rawHashes": { # The uncompressed threat entries in hash format of a particular prefix length. Hashes can be anywhere from 4 to 32 bytes in size. A large majority are 4 bytes, but some hashes are lengthened if they collide with the hash of a popular URL. Used for sending ThreatEntrySet to clients that do not support compression, or when sending non-4-byte hashes to clients that do support compression. # The raw SHA256-formatted entries.
+              "prefixSize": 42, # The number of bytes for each prefix encoded below. This field can be anywhere from 4 (shortest prefix) to 32 (full SHA256 hash).
+              "rawHashes": "A String", # The hashes, all concatenated into one long string. Each hash has a prefix size of |prefix_size| above. Hashes are sorted in lexicographic order.
+            },
+          },
+        ],
+        "newClientState": "A String", # The new client state, in encrypted format. Opaque to clients.
+        "checksum": { # The expected state of a client's local database. # The expected SHA256 hash of the client state; that is, of the sorted list of all hashes present in the database after applying the provided update. If the client state doesn't match the expected state, the client must disregard this update and retry later.
+          "sha256": "A String", # The SHA256 hash of the client state; that is, of the sorted list of all hashes present in the database.
+        },
+        "threatEntryType": "A String", # The format of the threats.
+        "additions": [ # A set of entries to add to a local threat type's list. Repeated to allow for a combination of compressed and raw data to be sent in a single response.
+          { # A set of threats that should be added or removed from a client's local database.
+            "compressionType": "A String", # The compression type for the entries in this set.
+            "riceIndices": { # The Rice-Golomb encoded data. Used for sending compressed 4-byte hashes or compressed removal indices. # The encoded local, lexicographically-sorted list indices, using a Golomb-Rice encoding. Used for sending compressed removal indices.
+              "encodedData": "A String", # The encoded deltas that are encoded using the Golomb-Rice coder.
+              "numEntries": 42, # The number of entries that are delta encoded in the encoded data. If only a single integer was encoded, this will be zero and the single value will be stored in `first_value`.
+              "riceParameter": 42, # The Golomb-Rice parameter, which is a number between 2 and 28. This field is missing (that is, zero) if `num_entries` is zero.
+              "firstValue": "A String", # The offset of the first entry in the encoded data, or, if only a single integer was encoded, that single integer's value.
+            },
+            "rawIndices": { # A set of raw indices to remove from a local list. # The raw removal indices for a local list.
+              "indices": [ # The indices to remove from a lexicographically-sorted local list.
+                42,
+              ],
+            },
+            "riceHashes": { # The Rice-Golomb encoded data. Used for sending compressed 4-byte hashes or compressed removal indices. # The encoded 4-byte prefixes of SHA256-formatted entries, using a Golomb-Rice encoding.
+              "encodedData": "A String", # The encoded deltas that are encoded using the Golomb-Rice coder.
+              "numEntries": 42, # The number of entries that are delta encoded in the encoded data. If only a single integer was encoded, this will be zero and the single value will be stored in `first_value`.
+              "riceParameter": 42, # The Golomb-Rice parameter, which is a number between 2 and 28. This field is missing (that is, zero) if `num_entries` is zero.
+              "firstValue": "A String", # The offset of the first entry in the encoded data, or, if only a single integer was encoded, that single integer's value.
+            },
+            "rawHashes": { # The uncompressed threat entries in hash format of a particular prefix length. Hashes can be anywhere from 4 to 32 bytes in size. A large majority are 4 bytes, but some hashes are lengthened if they collide with the hash of a popular URL. Used for sending ThreatEntrySet to clients that do not support compression, or when sending non-4-byte hashes to clients that do support compression. # The raw SHA256-formatted entries.
+              "prefixSize": 42, # The number of bytes for each prefix encoded below. This field can be anywhere from 4 (shortest prefix) to 32 (full SHA256 hash).
+              "rawHashes": "A String", # The hashes, all concatenated into one long string. Each hash has a prefix size of |prefix_size| above. Hashes are sorted in lexicographic order.
+            },
+          },
+        ],
+        "platformType": "A String", # The platform type for which data is returned.
+      },
+    ],
+    "minimumWaitDuration": "A String", # The minimum duration the client must wait before issuing any update request. If this field is not set clients may update as soon as they want.
+  }
+
+ + \ No newline at end of file diff --git a/docs/dyn/safebrowsing_v4.threatLists.html b/docs/dyn/safebrowsing_v4.threatLists.html new file mode 100644 index 00000000000..89e7c35d9b2 --- /dev/null +++ b/docs/dyn/safebrowsing_v4.threatLists.html @@ -0,0 +1,102 @@ + + + +

Safe Browsing APIs . threatLists

+

Instance Methods

+

+ list(x__xgafv=None)

+

Lists the Safe Browsing threat lists available for download.

+

Method Details

+
+ list(x__xgafv=None) +
Lists the Safe Browsing threat lists available for download.
+
+Args:
+  x__xgafv: string, V1 error format.
+
+Returns:
+  An object of the form:
+
+    {
+    "threatLists": [ # The lists available for download by the client.
+      { # Describes an individual threat list. A list is defined by three parameters: the type of threat posed, the type of platform targeted by the threat, and the type of entries in the list.
+        "threatType": "A String", # The threat type posed by the list's entries.
+        "threatEntryType": "A String", # The entry types contained in the list.
+        "platformType": "A String", # The platform type targeted by the list's entries.
+      },
+    ],
+  }
+
+ + \ No newline at end of file diff --git a/docs/dyn/safebrowsing_v4.threatMatches.html b/docs/dyn/safebrowsing_v4.threatMatches.html new file mode 100644 index 00000000000..2294a6a2d29 --- /dev/null +++ b/docs/dyn/safebrowsing_v4.threatMatches.html @@ -0,0 +1,144 @@ + + + +

Safe Browsing APIs . threatMatches

+

Instance Methods

+

+ find(body, x__xgafv=None)

+

Finds the threat entries that match the Safe Browsing lists.

+

Method Details

+
+ find(body, x__xgafv=None) +
Finds the threat entries that match the Safe Browsing lists.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Request to check entries against lists.
+    "client": { # The client metadata associated with Safe Browsing API requests. # The client metadata.
+      "clientVersion": "A String", # The version of the client implementation.
+      "clientId": "A String", # A client ID that (hopefully) uniquely identifies the client implementation of the Safe Browsing API.
+    },
+    "threatInfo": { # The information regarding one or more threats that a client submits when checking for matches in threat lists. # The lists and entries to be checked for matches.
+      "threatTypes": [ # The threat types to be checked.
+        "A String",
+      ],
+      "threatEntries": [ # The threat entries to be checked.
+        { # An individual threat; for example, a malicious URL or its hash representation. Only one of these fields should be set.
+          "url": "A String", # A URL.
+          "hash": "A String", # A hash prefix, consisting of the most significant 4-32 bytes of a SHA256 hash. This field is in binary format.
+          "digest": "A String", # The digest of an executable in SHA256 format. The API supports both binary and hex digests.
+        },
+      ],
+      "platformTypes": [ # The platform types to be checked.
+        "A String",
+      ],
+      "threatEntryTypes": [ # The entry types to be checked.
+        "A String",
+      ],
+    },
+  }
+
+  x__xgafv: string, V1 error format.
+
+Returns:
+  An object of the form:
+
+    {
+    "matches": [ # The threat list matches.
+      { # A match when checking a threat entry in the Safe Browsing threat lists.
+        "threatType": "A String", # The threat type matching this threat.
+        "threatEntryMetadata": { # The metadata associated with a specific threat entry. The client is expected to know the metadata key/value pairs associated with each threat type. # Optional metadata associated with this threat.
+          "entries": [ # The metadata entries.
+            { # A single metadata entry.
+              "value": "A String", # The metadata entry value.
+              "key": "A String", # The metadata entry key.
+            },
+          ],
+        },
+        "threatEntryType": "A String", # The threat entry type matching this threat.
+        "cacheDuration": "A String", # The cache lifetime for the returned match. Clients must not cache this response for more than this duration to avoid false positives.
+        "threat": { # An individual threat; for example, a malicious URL or its hash representation. Only one of these fields should be set. # The threat matching this threat.
+          "url": "A String", # A URL.
+          "hash": "A String", # A hash prefix, consisting of the most significant 4-32 bytes of a SHA256 hash. This field is in binary format.
+          "digest": "A String", # The digest of an executable in SHA256 format. The API supports both binary and hex digests.
+        },
+        "platformType": "A String", # The platform type matching this threat.
+      },
+    ],
+  }
+
+ + \ No newline at end of file diff --git a/docs/dyn/serviceregistry_alpha.endpoints.html b/docs/dyn/serviceregistry_alpha.endpoints.html index 9d06ca78e56..fb47c39fe71 100644 --- a/docs/dyn/serviceregistry_alpha.endpoints.html +++ b/docs/dyn/serviceregistry_alpha.endpoints.html @@ -72,7 +72,7 @@ -

Google Cloud Service Registry API V1 . endpoints

+

Google Cloud Service Registry API . endpoints

Instance Methods

delete(project, endpoint)

@@ -109,12 +109,12 @@

Method Details

{ # An Operation resource, used to manage asynchronous API requests. "targetId": "A String", # [Output Only] The unique target ID, which identifies a specific incarnation of the target resource. - "clientOperationId": "A String", # [Output Only] A unique client ID generated by the server. + "clientOperationId": "A String", # [Output Only] Reserved for future use. "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format. "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server. - "zone": "A String", # [Output Only] URL of the zone where the operation resides. Only available when performing per-zone operations. + "zone": "A String", # [Output Only] The URL of the zone where the operation resides. Only available when performing per-zone operations. "insertTime": "A String", # [Output Only] The time that this operation was requested. This value is in RFC3339 text format. - "operationType": "A String", # [Output Only] The type of operation, which can be insert, update, or delete. + "operationType": "A String", # [Output Only] The type of operation, such as insert, update, or delete, and so on. "httpErrorMessage": "A String", # [Output Only] If the operation fails, this field contains the HTTP error message that was returned, such as NOT FOUND. "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess when the operation will be complete. This number should monotonically increase as the operation progresses. "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error status code that was returned. For example, a 404 means the resource was not found. @@ -129,7 +129,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -138,19 +138,19 @@

Method Details

"startTime": "A String", # [Output Only] The time that this operation was started by the server. This value is in RFC3339 text format. "kind": "serviceregistry#operation", # [Output Only] Type of the resource. Always compute#operation for Operation resources. "name": "A String", # [Output Only] Name of the resource. - "region": "A String", # [Output Only] URL of the region where the operation resides. Only available when performing regional operations. + "region": "A String", # [Output Only] The URL of the region where the operation resides. Only available when performing regional operations. "error": { # [Output Only] If errors are generated during processing of the operation, this field will be populated. "errors": [ # [Output Only] The array of errors encountered while processing this operation. { "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, "endTime": "A String", # [Output Only] The time that this operation was completed. This value is in RFC3339 text format. "selfLink": "A String", # [Output Only] Server-defined URL for the resource. - "targetLink": "A String", # [Output Only] The URL of the resource that the operation is modifying. + "targetLink": "A String", # [Output Only] The URL of the resource that the operation modifies. }
@@ -165,16 +165,14 @@

Method Details

Returns: An object of the form: - { + { # Next available tag: 13 "description": "A String", # An optional user-provided description of the endpoint. "address": "A String", # A user-provided address of the service represented by this endpoint. This can be an IPv4 or IPv6 address, or a hostname. - "visibility": { # The visibility of this endpoint. This must be a list of fully-qualified URLs to Compute Engine networks. + "visibility": { # The DNS Integration configuration for this endpoint. This must be a list of fully-qualified URLs to Compute Engine networks. "networks": [ # Google Compute Engine networks for which the name of this endpoint should be resolvable through DNS. "A String", ], - "projects": [ # Google Cloud projects for which the name of this endpoint should be resolvable through DNS. - "A String", - ], + "internalDnsName": "A String", # [Output Only] Fully qualified domain name for the endpoint; used when addressing the endpoint from within Compute Networks specified in the networks field. }, "port": 42, # An optional user-provided port of the service represented by this endpoint. "state": "A String", # [Output Only] The current state of the endpoint, as determined by the system. @@ -195,16 +193,14 @@

Method Details

body: object, The request body. (required) The object takes the form of: -{ +{ # Next available tag: 13 "description": "A String", # An optional user-provided description of the endpoint. "address": "A String", # A user-provided address of the service represented by this endpoint. This can be an IPv4 or IPv6 address, or a hostname. - "visibility": { # The visibility of this endpoint. This must be a list of fully-qualified URLs to Compute Engine networks. + "visibility": { # The DNS Integration configuration for this endpoint. This must be a list of fully-qualified URLs to Compute Engine networks. "networks": [ # Google Compute Engine networks for which the name of this endpoint should be resolvable through DNS. "A String", ], - "projects": [ # Google Cloud projects for which the name of this endpoint should be resolvable through DNS. - "A String", - ], + "internalDnsName": "A String", # [Output Only] Fully qualified domain name for the endpoint; used when addressing the endpoint from within Compute Networks specified in the networks field. }, "port": 42, # An optional user-provided port of the service represented by this endpoint. "state": "A String", # [Output Only] The current state of the endpoint, as determined by the system. @@ -221,12 +217,12 @@

Method Details

{ # An Operation resource, used to manage asynchronous API requests. "targetId": "A String", # [Output Only] The unique target ID, which identifies a specific incarnation of the target resource. - "clientOperationId": "A String", # [Output Only] A unique client ID generated by the server. + "clientOperationId": "A String", # [Output Only] Reserved for future use. "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format. "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server. - "zone": "A String", # [Output Only] URL of the zone where the operation resides. Only available when performing per-zone operations. + "zone": "A String", # [Output Only] The URL of the zone where the operation resides. Only available when performing per-zone operations. "insertTime": "A String", # [Output Only] The time that this operation was requested. This value is in RFC3339 text format. - "operationType": "A String", # [Output Only] The type of operation, which can be insert, update, or delete. + "operationType": "A String", # [Output Only] The type of operation, such as insert, update, or delete, and so on. "httpErrorMessage": "A String", # [Output Only] If the operation fails, this field contains the HTTP error message that was returned, such as NOT FOUND. "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess when the operation will be complete. This number should monotonically increase as the operation progresses. "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error status code that was returned. For example, a 404 means the resource was not found. @@ -241,7 +237,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -250,19 +246,19 @@

Method Details

"startTime": "A String", # [Output Only] The time that this operation was started by the server. This value is in RFC3339 text format. "kind": "serviceregistry#operation", # [Output Only] Type of the resource. Always compute#operation for Operation resources. "name": "A String", # [Output Only] Name of the resource. - "region": "A String", # [Output Only] URL of the region where the operation resides. Only available when performing regional operations. + "region": "A String", # [Output Only] The URL of the region where the operation resides. Only available when performing regional operations. "error": { # [Output Only] If errors are generated during processing of the operation, this field will be populated. "errors": [ # [Output Only] The array of errors encountered while processing this operation. { "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, "endTime": "A String", # [Output Only] The time that this operation was completed. This value is in RFC3339 text format. "selfLink": "A String", # [Output Only] Server-defined URL for the resource. - "targetLink": "A String", # [Output Only] The URL of the resource that the operation is modifying. + "targetLink": "A String", # [Output Only] The URL of the resource that the operation modifies. }
@@ -277,34 +273,32 @@

Method Details

You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. - maxResults: integer, The maximum number of results per page that Compute Engine should return. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. + maxResults: integer, The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. pageToken: string, Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. filter: string, Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string. The field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. -For example, filter=name ne example-instance. +For example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance. -Compute Engine Beta API Only: If you use filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. In particular, use filtering on nested fields to take advantage of instance labels to organize and filter results based on label values. +Compute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values. -The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions meaning that resources must match all expressions to pass the filters. +The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters. Returns: An object of the form: - { # A response containing a partial list of Endpoints and a page token used to build the next request if the request has been truncated. Next available tag: 5 + { # A response containing a partial list of Endpoints and a page token used to build the next request if the request has been truncated. Next available tag: 6 "nextPageToken": "A String", # [Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results. "endpoints": [ # The endpoints contained in this response. - { + { # Next available tag: 13 "description": "A String", # An optional user-provided description of the endpoint. "address": "A String", # A user-provided address of the service represented by this endpoint. This can be an IPv4 or IPv6 address, or a hostname. - "visibility": { # The visibility of this endpoint. This must be a list of fully-qualified URLs to Compute Engine networks. + "visibility": { # The DNS Integration configuration for this endpoint. This must be a list of fully-qualified URLs to Compute Engine networks. "networks": [ # Google Compute Engine networks for which the name of this endpoint should be resolvable through DNS. "A String", ], - "projects": [ # Google Cloud projects for which the name of this endpoint should be resolvable through DNS. - "A String", - ], + "internalDnsName": "A String", # [Output Only] Fully qualified domain name for the endpoint; used when addressing the endpoint from within Compute Networks specified in the networks field. }, "port": 42, # An optional user-provided port of the service represented by this endpoint. "state": "A String", # [Output Only] The current state of the endpoint, as determined by the system. @@ -342,16 +336,14 @@

Method Details

body: object, The request body. (required) The object takes the form of: -{ +{ # Next available tag: 13 "description": "A String", # An optional user-provided description of the endpoint. "address": "A String", # A user-provided address of the service represented by this endpoint. This can be an IPv4 or IPv6 address, or a hostname. - "visibility": { # The visibility of this endpoint. This must be a list of fully-qualified URLs to Compute Engine networks. + "visibility": { # The DNS Integration configuration for this endpoint. This must be a list of fully-qualified URLs to Compute Engine networks. "networks": [ # Google Compute Engine networks for which the name of this endpoint should be resolvable through DNS. "A String", ], - "projects": [ # Google Cloud projects for which the name of this endpoint should be resolvable through DNS. - "A String", - ], + "internalDnsName": "A String", # [Output Only] Fully qualified domain name for the endpoint; used when addressing the endpoint from within Compute Networks specified in the networks field. }, "port": 42, # An optional user-provided port of the service represented by this endpoint. "state": "A String", # [Output Only] The current state of the endpoint, as determined by the system. @@ -368,12 +360,12 @@

Method Details

{ # An Operation resource, used to manage asynchronous API requests. "targetId": "A String", # [Output Only] The unique target ID, which identifies a specific incarnation of the target resource. - "clientOperationId": "A String", # [Output Only] A unique client ID generated by the server. + "clientOperationId": "A String", # [Output Only] Reserved for future use. "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format. "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server. - "zone": "A String", # [Output Only] URL of the zone where the operation resides. Only available when performing per-zone operations. + "zone": "A String", # [Output Only] The URL of the zone where the operation resides. Only available when performing per-zone operations. "insertTime": "A String", # [Output Only] The time that this operation was requested. This value is in RFC3339 text format. - "operationType": "A String", # [Output Only] The type of operation, which can be insert, update, or delete. + "operationType": "A String", # [Output Only] The type of operation, such as insert, update, or delete, and so on. "httpErrorMessage": "A String", # [Output Only] If the operation fails, this field contains the HTTP error message that was returned, such as NOT FOUND. "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess when the operation will be complete. This number should monotonically increase as the operation progresses. "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error status code that was returned. For example, a 404 means the resource was not found. @@ -388,7 +380,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -397,19 +389,19 @@

Method Details

"startTime": "A String", # [Output Only] The time that this operation was started by the server. This value is in RFC3339 text format. "kind": "serviceregistry#operation", # [Output Only] Type of the resource. Always compute#operation for Operation resources. "name": "A String", # [Output Only] Name of the resource. - "region": "A String", # [Output Only] URL of the region where the operation resides. Only available when performing regional operations. + "region": "A String", # [Output Only] The URL of the region where the operation resides. Only available when performing regional operations. "error": { # [Output Only] If errors are generated during processing of the operation, this field will be populated. "errors": [ # [Output Only] The array of errors encountered while processing this operation. { "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, "endTime": "A String", # [Output Only] The time that this operation was completed. This value is in RFC3339 text format. "selfLink": "A String", # [Output Only] Server-defined URL for the resource. - "targetLink": "A String", # [Output Only] The URL of the resource that the operation is modifying. + "targetLink": "A String", # [Output Only] The URL of the resource that the operation modifies. }
@@ -423,16 +415,14 @@

Method Details

body: object, The request body. (required) The object takes the form of: -{ +{ # Next available tag: 13 "description": "A String", # An optional user-provided description of the endpoint. "address": "A String", # A user-provided address of the service represented by this endpoint. This can be an IPv4 or IPv6 address, or a hostname. - "visibility": { # The visibility of this endpoint. This must be a list of fully-qualified URLs to Compute Engine networks. + "visibility": { # The DNS Integration configuration for this endpoint. This must be a list of fully-qualified URLs to Compute Engine networks. "networks": [ # Google Compute Engine networks for which the name of this endpoint should be resolvable through DNS. "A String", ], - "projects": [ # Google Cloud projects for which the name of this endpoint should be resolvable through DNS. - "A String", - ], + "internalDnsName": "A String", # [Output Only] Fully qualified domain name for the endpoint; used when addressing the endpoint from within Compute Networks specified in the networks field. }, "port": 42, # An optional user-provided port of the service represented by this endpoint. "state": "A String", # [Output Only] The current state of the endpoint, as determined by the system. @@ -449,12 +439,12 @@

Method Details

{ # An Operation resource, used to manage asynchronous API requests. "targetId": "A String", # [Output Only] The unique target ID, which identifies a specific incarnation of the target resource. - "clientOperationId": "A String", # [Output Only] A unique client ID generated by the server. + "clientOperationId": "A String", # [Output Only] Reserved for future use. "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format. "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server. - "zone": "A String", # [Output Only] URL of the zone where the operation resides. Only available when performing per-zone operations. + "zone": "A String", # [Output Only] The URL of the zone where the operation resides. Only available when performing per-zone operations. "insertTime": "A String", # [Output Only] The time that this operation was requested. This value is in RFC3339 text format. - "operationType": "A String", # [Output Only] The type of operation, which can be insert, update, or delete. + "operationType": "A String", # [Output Only] The type of operation, such as insert, update, or delete, and so on. "httpErrorMessage": "A String", # [Output Only] If the operation fails, this field contains the HTTP error message that was returned, such as NOT FOUND. "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess when the operation will be complete. This number should monotonically increase as the operation progresses. "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error status code that was returned. For example, a 404 means the resource was not found. @@ -469,7 +459,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -478,19 +468,19 @@

Method Details

"startTime": "A String", # [Output Only] The time that this operation was started by the server. This value is in RFC3339 text format. "kind": "serviceregistry#operation", # [Output Only] Type of the resource. Always compute#operation for Operation resources. "name": "A String", # [Output Only] Name of the resource. - "region": "A String", # [Output Only] URL of the region where the operation resides. Only available when performing regional operations. + "region": "A String", # [Output Only] The URL of the region where the operation resides. Only available when performing regional operations. "error": { # [Output Only] If errors are generated during processing of the operation, this field will be populated. "errors": [ # [Output Only] The array of errors encountered while processing this operation. { "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, "endTime": "A String", # [Output Only] The time that this operation was completed. This value is in RFC3339 text format. "selfLink": "A String", # [Output Only] Server-defined URL for the resource. - "targetLink": "A String", # [Output Only] The URL of the resource that the operation is modifying. + "targetLink": "A String", # [Output Only] The URL of the resource that the operation modifies. }
diff --git a/docs/dyn/serviceregistry_alpha.html b/docs/dyn/serviceregistry_alpha.html index 3e1e0ec6bd5..fe160eac41d 100644 --- a/docs/dyn/serviceregistry_alpha.html +++ b/docs/dyn/serviceregistry_alpha.html @@ -72,7 +72,7 @@ -

Google Cloud Service Registry API V1

+

Google Cloud Service Registry API

Instance Methods

endpoints() diff --git a/docs/dyn/serviceregistry_alpha.operations.html b/docs/dyn/serviceregistry_alpha.operations.html index 9a5de23b629..eec22832e3c 100644 --- a/docs/dyn/serviceregistry_alpha.operations.html +++ b/docs/dyn/serviceregistry_alpha.operations.html @@ -72,7 +72,7 @@ -

Google Cloud Service Registry API V1 . operations

+

Google Cloud Service Registry API . operations

Instance Methods

get(project, operation)

@@ -97,12 +97,12 @@

Method Details

{ # An Operation resource, used to manage asynchronous API requests. "targetId": "A String", # [Output Only] The unique target ID, which identifies a specific incarnation of the target resource. - "clientOperationId": "A String", # [Output Only] A unique client ID generated by the server. + "clientOperationId": "A String", # [Output Only] Reserved for future use. "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format. "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server. - "zone": "A String", # [Output Only] URL of the zone where the operation resides. Only available when performing per-zone operations. + "zone": "A String", # [Output Only] The URL of the zone where the operation resides. Only available when performing per-zone operations. "insertTime": "A String", # [Output Only] The time that this operation was requested. This value is in RFC3339 text format. - "operationType": "A String", # [Output Only] The type of operation, which can be insert, update, or delete. + "operationType": "A String", # [Output Only] The type of operation, such as insert, update, or delete, and so on. "httpErrorMessage": "A String", # [Output Only] If the operation fails, this field contains the HTTP error message that was returned, such as NOT FOUND. "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess when the operation will be complete. This number should monotonically increase as the operation progresses. "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error status code that was returned. For example, a 404 means the resource was not found. @@ -117,7 +117,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -126,19 +126,19 @@

Method Details

"startTime": "A String", # [Output Only] The time that this operation was started by the server. This value is in RFC3339 text format. "kind": "serviceregistry#operation", # [Output Only] Type of the resource. Always compute#operation for Operation resources. "name": "A String", # [Output Only] Name of the resource. - "region": "A String", # [Output Only] URL of the region where the operation resides. Only available when performing regional operations. + "region": "A String", # [Output Only] The URL of the region where the operation resides. Only available when performing regional operations. "error": { # [Output Only] If errors are generated during processing of the operation, this field will be populated. "errors": [ # [Output Only] The array of errors encountered while processing this operation. { "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, "endTime": "A String", # [Output Only] The time that this operation was completed. This value is in RFC3339 text format. "selfLink": "A String", # [Output Only] Server-defined URL for the resource. - "targetLink": "A String", # [Output Only] The URL of the resource that the operation is modifying. + "targetLink": "A String", # [Output Only] The URL of the resource that the operation modifies. }
@@ -153,17 +153,17 @@

Method Details

You can also sort results in descending order based on the creation timestamp using orderBy="creationTimestamp desc". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by name or creationTimestamp desc is supported. - maxResults: integer, The maximum number of results per page that Compute Engine should return. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. + maxResults: integer, The maximum number of results per page that should be returned. If the number of available results is larger than maxResults, Compute Engine returns a nextPageToken that can be used to get the next page of results in subsequent list requests. pageToken: string, Specifies a page token to use. Set pageToken to the nextPageToken returned by a previous list request to get the next page of results. filter: string, Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: field_name comparison_string literal_string. The field_name is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The comparison_string must be either eq (equals) or ne (not equals). The literal_string is the string value to filter to. The literal value must be valid for the type of field you are filtering by (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. -For example, filter=name ne example-instance. +For example, to filter for instances that do not have a name of example-instance, you would use filter=name ne example-instance. -Compute Engine Beta API Only: If you use filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. In particular, use filtering on nested fields to take advantage of instance labels to organize and filter results based on label values. +Compute Engine Beta API Only: When filtering in the Beta API, you can also filter on nested fields. For example, you could filter on instances that have set the scheduling.automaticRestart field to true. Use filtering on nested fields to take advantage of labels to organize and search for results based on label values. -The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions meaning that resources must match all expressions to pass the filters. +The Beta API also supports filtering on multiple expressions by providing each separate expression within parentheses. For example, (scheduling.automaticRestart eq true) (zone eq us-central1-f). Multiple expressions are treated as AND expressions, meaning that resources must match all expressions to pass the filters. Returns: An object of the form: @@ -173,12 +173,12 @@

Method Details

"operations": [ # [Output Only] Operations contained in this list response. { # An Operation resource, used to manage asynchronous API requests. "targetId": "A String", # [Output Only] The unique target ID, which identifies a specific incarnation of the target resource. - "clientOperationId": "A String", # [Output Only] A unique client ID generated by the server. + "clientOperationId": "A String", # [Output Only] Reserved for future use. "creationTimestamp": "A String", # [Output Only] Creation timestamp in RFC3339 text format. "id": "A String", # [Output Only] The unique identifier for the resource. This identifier is defined by the server. - "zone": "A String", # [Output Only] URL of the zone where the operation resides. Only available when performing per-zone operations. + "zone": "A String", # [Output Only] The URL of the zone where the operation resides. Only available when performing per-zone operations. "insertTime": "A String", # [Output Only] The time that this operation was requested. This value is in RFC3339 text format. - "operationType": "A String", # [Output Only] The type of operation, which can be insert, update, or delete. + "operationType": "A String", # [Output Only] The type of operation, such as insert, update, or delete, and so on. "httpErrorMessage": "A String", # [Output Only] If the operation fails, this field contains the HTTP error message that was returned, such as NOT FOUND. "progress": 42, # [Output Only] An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess when the operation will be complete. This number should monotonically increase as the operation progresses. "httpErrorStatusCode": 42, # [Output Only] If the operation fails, this field contains the HTTP error status code that was returned. For example, a 404 means the resource was not found. @@ -193,7 +193,7 @@

Method Details

# "data": [ { "key": "scope", "value": "zones/us-east1-d" } { "value": "A String", # [Output Only] A warning data value corresponding to the key. - "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource, and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). + "key": "A String", # [Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding). }, ], }, @@ -202,19 +202,19 @@

Method Details

"startTime": "A String", # [Output Only] The time that this operation was started by the server. This value is in RFC3339 text format. "kind": "serviceregistry#operation", # [Output Only] Type of the resource. Always compute#operation for Operation resources. "name": "A String", # [Output Only] Name of the resource. - "region": "A String", # [Output Only] URL of the region where the operation resides. Only available when performing regional operations. + "region": "A String", # [Output Only] The URL of the region where the operation resides. Only available when performing regional operations. "error": { # [Output Only] If errors are generated during processing of the operation, this field will be populated. "errors": [ # [Output Only] The array of errors encountered while processing this operation. { "message": "A String", # [Output Only] An optional, human-readable error message. "code": "A String", # [Output Only] The error type identifier for this error. - "location": "A String", # [Output Only] Indicates the field in the request which caused the error. This property is optional. + "location": "A String", # [Output Only] Indicates the field in the request that caused the error. This property is optional. }, ], }, "endTime": "A String", # [Output Only] The time that this operation was completed. This value is in RFC3339 text format. "selfLink": "A String", # [Output Only] Server-defined URL for the resource. - "targetLink": "A String", # [Output Only] The URL of the resource that the operation is modifying. + "targetLink": "A String", # [Output Only] The URL of the resource that the operation modifies. }, ], }
diff --git a/docs/dyn/sheets_v4.html b/docs/dyn/sheets_v4.html new file mode 100644 index 00000000000..28b555f3ce2 --- /dev/null +++ b/docs/dyn/sheets_v4.html @@ -0,0 +1,103 @@ + + + +

Google Sheets API

+

Instance Methods

+

+ spreadsheets() +

+

Returns the spreadsheets Resource.

+ +

+ new_batch_http_request()

+

Create a BatchHttpRequest object based on the discovery document.

+

Method Details

+
+ new_batch_http_request() +
Create a BatchHttpRequest object based on the discovery document.
+
+        Args:
+          callback: callable, A callback to be called for each response, of the
+            form callback(id, response, exception). The first parameter is the
+            request id, and the second is the deserialized response object. The
+            third is an apiclient.errors.HttpError exception object if an HTTP
+            error occurred while processing the request, or None if no error
+            occurred.
+
+        Returns:
+          A BatchHttpRequest object based on the discovery document.
+        
+
+ + \ No newline at end of file diff --git a/docs/dyn/sheets_v4.spreadsheets.html b/docs/dyn/sheets_v4.spreadsheets.html new file mode 100644 index 00000000000..9aee20ae4cf --- /dev/null +++ b/docs/dyn/sheets_v4.spreadsheets.html @@ -0,0 +1,34290 @@ + + + +

Google Sheets API . spreadsheets

+

Instance Methods

+

+ sheets() +

+

Returns the sheets Resource.

+ +

+ values() +

+

Returns the values Resource.

+ +

+ batchUpdate(spreadsheetId, body, x__xgafv=None)

+

Applies one or more updates to the spreadsheet.

+

+ create(body, x__xgafv=None)

+

Creates a spreadsheet, returning the newly created spreadsheet.

+

+ get(spreadsheetId, ranges=None, x__xgafv=None, includeGridData=None)

+

Returns the spreadsheet at the given id.

+

Method Details

+
+ batchUpdate(spreadsheetId, body, x__xgafv=None) +
Applies one or more updates to the spreadsheet.
+
+Each request is validated before
+being applied. If any request is not valid then the entire request will
+fail and nothing will be applied.
+
+Some requests have replies to
+give you some information about how
+they applied. The replies will mirror the requests.  For example,
+if you applied 4 updates and the 3rd one had a reply, then the
+response will have 2 empty replies, the actual reply, and another empty
+reply, in that order.
+
+Due to the collaborative nature of spreadsheets, it is not guaranteed that
+the spreadsheet will reflect exactly your changes after this completes,
+however it is guaranteed that all the updates in the request will be
+applied atomically. Your changes may be altered with respect to
+collaborator changes. If there are no collaborators, the spreadsheet
+should reflect your changes.
+
+Args:
+  spreadsheetId: string, The spreadsheet to apply the updates to. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # The request for updating any aspect of a spreadsheet.
+    "requests": [ # A list of updates to apply to the spreadsheet.
+      { # A single kind of update to apply to a spreadsheet.
+        "duplicateFilterView": { # Duplicates a particular filter view. # Duplicates a filter view.
+          "filterId": 42, # The ID of the filter being duplicated.
+        },
+        "sortRange": { # Sorts data in rows based on a sort order per column. # Sorts data in a range.
+          "range": { # A range on a sheet. # The range to sort.
+              # All indexes are zero-based.
+              # Indexes are half open, e.g the start index is inclusive
+              # and the end index is exclusive -- [start_index, end_index).
+              # Missing indexes indicate the range is unbounded on that side.
+              #
+              # For example, if "Sheet1" is grid ID 0, then:
+              #
+              #   Sheet1!A1:A1 == sheet_id: 0,
+              #                   start_row_index: 0, end_row_index: 1,
+              #                   start_column_index: 0, end_column_index: 1
+              #
+              #   Sheet1!A3:B4 == sheet_id: 0,
+              #                   start_row_index: 2, end_row_index: 4,
+              #                   start_column_index: 0, end_column_index: 2
+              #
+              #   Sheet1!A:B == sheet_id: 0,
+              #                 start_column_index: 0, end_column_index: 2
+              #
+              #   Sheet1!A5:B == sheet_id: 0,
+              #                  start_row_index: 4,
+              #                  start_column_index: 0, end_column_index: 2
+              #
+              #   Sheet1 == sheet_id:0
+              #
+              # The start index must always be less than or equal to the end index.
+              # If the start index equals the end index, then the range is empty.
+              # Empty ranges are typically not meaningful and are usually rendered in the
+              # UI as `#REF!`.
+            "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+            "sheetId": 42, # The sheet this range is on.
+            "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+          },
+          "sortSpecs": [ # The sort order per column. Later specifications are used when values
+              # are equal in the earlier specifications.
+            { # A sort order associated with a specific column or row.
+              "sortOrder": "A String", # The order data should be sorted.
+              "dimensionIndex": 42, # The dimension the sort should be applied to.
+            },
+          ],
+        },
+        "updateEmbeddedObjectPosition": { # Update an embedded object's position (such as a moving or resizing a # Updates an embedded object's (e.g. chart, image) position.
+            # chart or image).
+          "newPosition": { # The position of an embedded object such as a chart. # An explicit position to move the embedded object to.
+              # If newPosition.sheetId is set,
+              # a new sheet with that ID will be created.
+              # If newPosition.newSheet is set to true,
+              # a new sheet will be created with an ID that will be chosen for you.
+            "newSheet": True or False, # If true, the embedded object will be put on a new sheet whose ID
+                # is chosen for you. Used only when writing.
+            "sheetId": 42, # The sheet this is on. Set only if the embedded object
+                # is on its own sheet. Must be non-negative.
+            "overlayPosition": { # The location an object is overlaid on top of a grid. # The position the object is overlaid on top of a grid.
+              "anchorCell": { # A coordinate in a sheet. # The cell the object is anchored to.
+                  # All indexes are zero-based.
+                "rowIndex": 42, # The row index of the coordinate.
+                "columnIndex": 42, # The column index of the coordinate.
+                "sheetId": 42, # The sheet this coordinate is on.
+              },
+              "offsetYPixels": 42, # The vertical offset, in pixels, that the object is offset
+                  # from the anchor cell.
+              "widthPixels": 42, # The width of the object, in pixels. Defaults to 600.
+              "offsetXPixels": 42, # The horizontal offset, in pixels, that the object is offset
+                  # from the anchor cell.
+              "heightPixels": 42, # The height of the object, in pixels. Defaults to 371.
+            },
+          },
+          "fields": "A String", # The fields of OverlayPosition that should be updated when
+              # setting a new position. Used only if
+              # newPosition.overlayPosition
+              # is set, in which case at least one field must
+              # be specified.  The root `newPosition.overlayPosition` is implied and
+              # should not be specified.
+              # A single `"*"` can be used as short-hand for listing every field.
+          "objectId": 42, # The id of the object to moved.
+        },
+        "updateConditionalFormatRule": { # Updates a conditional format rule at the given index, # Updates an existing conditional format rule.
+            # or moves a conditional format rule to another index.
+          "index": 42, # The zero-based index of the rule that should be replaced or moved.
+          "newIndex": 42, # The zero-based new index the rule should end up at.
+          "sheetId": 42, # The sheet of the rule to move.  Required if newIndex is set,
+              # unused otherwise.
+          "rule": { # A rule describing a conditional format. # The rule that should replace the rule at the given index.
+            "ranges": [ # The ranges that will be formatted if the condition is true.
+                # All the ranges must be on the same grid.
+              { # A range on a sheet.
+                  # All indexes are zero-based.
+                  # Indexes are half open, e.g the start index is inclusive
+                  # and the end index is exclusive -- [start_index, end_index).
+                  # Missing indexes indicate the range is unbounded on that side.
+                  #
+                  # For example, if "Sheet1" is grid ID 0, then:
+                  #
+                  #   Sheet1!A1:A1 == sheet_id: 0,
+                  #                   start_row_index: 0, end_row_index: 1,
+                  #                   start_column_index: 0, end_column_index: 1
+                  #
+                  #   Sheet1!A3:B4 == sheet_id: 0,
+                  #                   start_row_index: 2, end_row_index: 4,
+                  #                   start_column_index: 0, end_column_index: 2
+                  #
+                  #   Sheet1!A:B == sheet_id: 0,
+                  #                 start_column_index: 0, end_column_index: 2
+                  #
+                  #   Sheet1!A5:B == sheet_id: 0,
+                  #                  start_row_index: 4,
+                  #                  start_column_index: 0, end_column_index: 2
+                  #
+                  #   Sheet1 == sheet_id:0
+                  #
+                  # The start index must always be less than or equal to the end index.
+                  # If the start index equals the end index, then the range is empty.
+                  # Empty ranges are typically not meaningful and are usually rendered in the
+                  # UI as `#REF!`.
+                "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                "sheetId": 42, # The sheet this range is on.
+                "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+              },
+            ],
+            "booleanRule": { # A rule that may or may not match, depending on the condition. # The formatting is either "on" or "off" according to the rule.
+              "condition": { # A condition that can evaluate to true or false. # The condition of the rule. If the condition evaluates to true,
+                  # the format will be applied.
+                  # BooleanConditions are used by conditional formatting,
+                  # data validation, and the criteria in filters.
+                "type": "A String", # The type of condition.
+                "values": [ # The values of the condition. The number of supported values depends
+                    # on the condition type.  Some support zero values,
+                    # others one or two values,
+                    # and ConditionType.ONE_OF_LIST supports an arbitrary number of values.
+                  { # The value of the condition.
+                    "relativeDate": "A String", # A relative date (based on the current date).
+                        # Valid only if the type is
+                        # DATE_BEFORE,
+                        # DATE_AFTER,
+                        # DATE_ON_OR_BEFORE or
+                        # DATE_ON_OR_AFTER.
+                        #
+                        # Relative dates are not supported in data validation.
+                        # They are supported only in conditional formatting and
+                        # conditional filters.
+                    "userEnteredValue": "A String", # A value the condition is based on.
+                        # The value will be parsed as if the user typed into a cell.
+                        # Formulas are supported (and must begin with an `=`).
+                  },
+                ],
+              },
+              "format": { # The format of a cell. # The format to apply.
+                  # Conditional formatting can only apply a subset of formatting:
+                  # bold, italic,
+                  # strikethrough,
+                  # foreground color &
+                  # background color.
+                "numberFormat": { # The number format of a cell. # A format describing how number values should be represented to the user.
+                    # When updating, all fields must be set.
+                  "pattern": "A String", # Pattern string used for formatting.
+                  "type": "A String", # The type of the number format.
+                },
+                "textDirection": "A String", # The direction of the text in the cell.
+                "padding": { # The amount of padding around the cell, in pixels. # The padding of the cell.
+                    # When updating padding, every field must be specified.
+                  "top": 42, # The top padding of the cell.
+                  "right": 42, # The right padding of the cell.
+                  "bottom": 42, # The bottom padding of the cell.
+                  "left": 42, # The left padding of the cell.
+                },
+                "horizontalAlignment": "A String", # The horizontal alignment of the value in cell.
+                "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                    # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha <= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!('alpha' in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(',');
+                    #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = ['#'];
+                    #       for (var i = 0; i < missingZeros; i++) {
+                    #          resultBuilder.push('0');
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join('');
+                    #     };
+                    #
+                    #     // ...
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+                "verticalAlignment": "A String", # The vertical alignment of the value in cell.
+                "textFormat": { # The format of a run of text in a cell. # The format of the text in the cell (unless overridden by a format run).
+                    # Absent values indicate that the field isn't specified.
+                  "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                      # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha <= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!('alpha' in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(',');
+                      #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = ['#'];
+                      #       for (var i = 0; i < missingZeros; i++) {
+                      #          resultBuilder.push('0');
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join('');
+                      #     };
+                      #
+                      #     // ...
+                    "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                    "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  },
+                  "bold": True or False, # True if the text is bold.
+                  "strikethrough": True or False, # True if the text has a strikethrough.
+                  "fontFamily": "A String", # The font family.
+                  "fontSize": 42, # The size of the font.
+                  "italic": True or False, # True if the text is italicized.
+                  "underline": True or False, # True if the text is underlined.
+                },
+                "hyperlinkDisplayType": "A String", # How a hyperlink, if it exists, should be displayed in the cell.
+                "borders": { # The borders of the cell. # The borders of the cell.
+                  "top": { # A border along a cell. # The top border of the cell.
+                    "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                        # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha <= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!('alpha' in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(',');
+                        #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = ['#'];
+                        #       for (var i = 0; i < missingZeros; i++) {
+                        #          resultBuilder.push('0');
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join('');
+                        #     };
+                        #
+                        #     // ...
+                      "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                      "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    },
+                    "width": 42, # The width of the border, in pixels.
+                        # Border widths must be between 0 and 3 pixels.
+                    "style": "A String", # The style of the border.
+                  },
+                  "right": { # A border along a cell. # The right border of the cell.
+                    "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                        # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha <= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!('alpha' in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(',');
+                        #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = ['#'];
+                        #       for (var i = 0; i < missingZeros; i++) {
+                        #          resultBuilder.push('0');
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join('');
+                        #     };
+                        #
+                        #     // ...
+                      "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                      "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    },
+                    "width": 42, # The width of the border, in pixels.
+                        # Border widths must be between 0 and 3 pixels.
+                    "style": "A String", # The style of the border.
+                  },
+                  "bottom": { # A border along a cell. # The bottom border of the cell.
+                    "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                        # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha <= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!('alpha' in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(',');
+                        #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = ['#'];
+                        #       for (var i = 0; i < missingZeros; i++) {
+                        #          resultBuilder.push('0');
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join('');
+                        #     };
+                        #
+                        #     // ...
+                      "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                      "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    },
+                    "width": 42, # The width of the border, in pixels.
+                        # Border widths must be between 0 and 3 pixels.
+                    "style": "A String", # The style of the border.
+                  },
+                  "left": { # A border along a cell. # The left border of the cell.
+                    "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                        # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha <= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!('alpha' in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(',');
+                        #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = ['#'];
+                        #       for (var i = 0; i < missingZeros; i++) {
+                        #          resultBuilder.push('0');
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join('');
+                        #     };
+                        #
+                        #     // ...
+                      "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                      "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    },
+                    "width": 42, # The width of the border, in pixels.
+                        # Border widths must be between 0 and 3 pixels.
+                    "style": "A String", # The style of the border.
+                  },
+                },
+                "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
+              },
+            },
+            "gradientRule": { # A rule that applies a gradient color scale format, based on # The formatting will vary based on the gradients in the rule.
+                # the interpolation points listed. The format of a cell will vary
+                # based on its contents as compared to the values of the interpolation
+                # points.
+              "maxpoint": { # A single interpolation point a gradient conditional format. # The final interpolation point.
+                  # These pin the gradient color scale according to the color,
+                  # type and value chosen.
+                "color": { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                    # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha <= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!('alpha' in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(',');
+                    #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = ['#'];
+                    #       for (var i = 0; i < missingZeros; i++) {
+                    #          resultBuilder.push('0');
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join('');
+                    #     };
+                    #
+                    #     // ...
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+                "type": "A String", # How the value should be interpreted.
+                "value": "A String", # The value this interpolation point uses.  May be a formula.
+                    # Unused if type is MIN or
+                    # MAX.
+              },
+              "midpoint": { # A single interpolation point a gradient conditional format. # An optional midway interpolation point.
+                  # These pin the gradient color scale according to the color,
+                  # type and value chosen.
+                "color": { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                    # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha <= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!('alpha' in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(',');
+                    #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = ['#'];
+                    #       for (var i = 0; i < missingZeros; i++) {
+                    #          resultBuilder.push('0');
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join('');
+                    #     };
+                    #
+                    #     // ...
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+                "type": "A String", # How the value should be interpreted.
+                "value": "A String", # The value this interpolation point uses.  May be a formula.
+                    # Unused if type is MIN or
+                    # MAX.
+              },
+              "minpoint": { # A single interpolation point a gradient conditional format. # The starting interpolation point.
+                  # These pin the gradient color scale according to the color,
+                  # type and value chosen.
+                "color": { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                    # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha <= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!('alpha' in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(',');
+                    #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = ['#'];
+                    #       for (var i = 0; i < missingZeros; i++) {
+                    #          resultBuilder.push('0');
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join('');
+                    #     };
+                    #
+                    #     // ...
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+                "type": "A String", # How the value should be interpreted.
+                "value": "A String", # The value this interpolation point uses.  May be a formula.
+                    # Unused if type is MIN or
+                    # MAX.
+              },
+            },
+          },
+        },
+        "updateProtectedRange": { # Updates an existing protected range with the specified # Updates a protected range.
+            # protectedRangeId.
+          "fields": "A String", # The fields that should be updated.  At least one field must be specified.
+              # The root `protectedRange` is implied and should not be specified.
+              # A single `"*"` can be used as short-hand for listing every field.
+          "protectedRange": { # A protected range. # The protected range to update with the new properties. If a nonzero
+              # protectedRangeId is
+              # specified, the protected range will use that ID. (It is an error to
+              # specify the ID of a protected range that already exists.)
+            "unprotectedRanges": [ # The list of unprotected ranges within a protected sheet.
+                # Unprotected ranges are only supported on protected sheets.
+              { # A range on a sheet.
+                  # All indexes are zero-based.
+                  # Indexes are half open, e.g the start index is inclusive
+                  # and the end index is exclusive -- [start_index, end_index).
+                  # Missing indexes indicate the range is unbounded on that side.
+                  #
+                  # For example, if "Sheet1" is grid ID 0, then:
+                  #
+                  #   Sheet1!A1:A1 == sheet_id: 0,
+                  #                   start_row_index: 0, end_row_index: 1,
+                  #                   start_column_index: 0, end_column_index: 1
+                  #
+                  #   Sheet1!A3:B4 == sheet_id: 0,
+                  #                   start_row_index: 2, end_row_index: 4,
+                  #                   start_column_index: 0, end_column_index: 2
+                  #
+                  #   Sheet1!A:B == sheet_id: 0,
+                  #                 start_column_index: 0, end_column_index: 2
+                  #
+                  #   Sheet1!A5:B == sheet_id: 0,
+                  #                  start_row_index: 4,
+                  #                  start_column_index: 0, end_column_index: 2
+                  #
+                  #   Sheet1 == sheet_id:0
+                  #
+                  # The start index must always be less than or equal to the end index.
+                  # If the start index equals the end index, then the range is empty.
+                  # Empty ranges are typically not meaningful and are usually rendered in the
+                  # UI as `#REF!`.
+                "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                "sheetId": 42, # The sheet this range is on.
+                "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+              },
+            ],
+            "requestingUserCanEdit": True or False, # True if the user who requested this protected range can edit the
+                # protected area.
+                # This field is read-only.
+            "description": "A String", # The description of this protected range.
+            "namedRangeId": "A String", # The named range this protected range is backed by, if any.
+                #
+                # When writing, only one of range or namedRangeId
+                # may be set.
+            "editors": { # The editors of a protected range. # The users and groups with edit access to the protected range.
+                # This field is only visible to users with edit access to the protected
+                # range and the document.
+                # Editors are not supported with warningOnly protection.
+              "domainUsersCanEdit": True or False, # True if anyone in the document's domain has edit access to the protected
+                  # range.  Domain protection is only supported on documents within a domain.
+              "users": [ # The email addresses of users with edit access to the protected range.
+                "A String",
+              ],
+              "groups": [ # The email addresses of groups with edit access to the protected range.
+                "A String",
+              ],
+            },
+            "protectedRangeId": 42, # The ID of the protected range.
+                # This field is read-only.
+            "warningOnly": True or False, # True if this this protected range will show a warning when editing.
+                # Warning-based protection means that every user can edit data in the
+                # protected range, except editing will prompt a warning asking the user
+                # to confirm the edit.
+                #
+                # When warning: if this field is true, then editors is ignored.
+                # Additionally, if this field is changed from true to false and the
+                # `editors` field is not set (nor included in the field mask), then
+                # the editors will be set to all the editors in the document.
+            "range": { # A range on a sheet. # The range that is being protected.
+                # The range may be fully unbounded, in which case this is considered
+                # a protected sheet.
+                #
+                # When writing, only one of range or namedRangeId
+                # may be set.
+                # All indexes are zero-based.
+                # Indexes are half open, e.g the start index is inclusive
+                # and the end index is exclusive -- [start_index, end_index).
+                # Missing indexes indicate the range is unbounded on that side.
+                #
+                # For example, if "Sheet1" is grid ID 0, then:
+                #
+                #   Sheet1!A1:A1 == sheet_id: 0,
+                #                   start_row_index: 0, end_row_index: 1,
+                #                   start_column_index: 0, end_column_index: 1
+                #
+                #   Sheet1!A3:B4 == sheet_id: 0,
+                #                   start_row_index: 2, end_row_index: 4,
+                #                   start_column_index: 0, end_column_index: 2
+                #
+                #   Sheet1!A:B == sheet_id: 0,
+                #                 start_column_index: 0, end_column_index: 2
+                #
+                #   Sheet1!A5:B == sheet_id: 0,
+                #                  start_row_index: 4,
+                #                  start_column_index: 0, end_column_index: 2
+                #
+                #   Sheet1 == sheet_id:0
+                #
+                # The start index must always be less than or equal to the end index.
+                # If the start index equals the end index, then the range is empty.
+                # Empty ranges are typically not meaningful and are usually rendered in the
+                # UI as `#REF!`.
+              "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "sheetId": 42, # The sheet this range is on.
+              "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+            },
+          },
+        },
+        "deleteDimension": { # Deletes the dimensions from the sheet. # Deletes rows or columns in a sheet.
+          "range": { # A range along a single dimension on a sheet. # The dimensions to delete from the sheet.
+              # All indexes are zero-based.
+              # Indexes are half open: the start index is inclusive
+              # and the end index is exclusive.
+              # Missing indexes indicate the range is unbounded on that side.
+            "endIndex": 42, # The end (exclusive) of the span, or not set if unbounded.
+            "startIndex": 42, # The start (inclusive) of the span, or not set if unbounded.
+            "sheetId": 42, # The sheet this span is on.
+            "dimension": "A String", # The dimension of the span.
+          },
+        },
+        "addProtectedRange": { # Adds a new protected range. # Adds a protected range.
+          "protectedRange": { # A protected range. # The protected range to be added.
+            "unprotectedRanges": [ # The list of unprotected ranges within a protected sheet.
+                # Unprotected ranges are only supported on protected sheets.
+              { # A range on a sheet.
+                  # All indexes are zero-based.
+                  # Indexes are half open, e.g the start index is inclusive
+                  # and the end index is exclusive -- [start_index, end_index).
+                  # Missing indexes indicate the range is unbounded on that side.
+                  #
+                  # For example, if "Sheet1" is grid ID 0, then:
+                  #
+                  #   Sheet1!A1:A1 == sheet_id: 0,
+                  #                   start_row_index: 0, end_row_index: 1,
+                  #                   start_column_index: 0, end_column_index: 1
+                  #
+                  #   Sheet1!A3:B4 == sheet_id: 0,
+                  #                   start_row_index: 2, end_row_index: 4,
+                  #                   start_column_index: 0, end_column_index: 2
+                  #
+                  #   Sheet1!A:B == sheet_id: 0,
+                  #                 start_column_index: 0, end_column_index: 2
+                  #
+                  #   Sheet1!A5:B == sheet_id: 0,
+                  #                  start_row_index: 4,
+                  #                  start_column_index: 0, end_column_index: 2
+                  #
+                  #   Sheet1 == sheet_id:0
+                  #
+                  # The start index must always be less than or equal to the end index.
+                  # If the start index equals the end index, then the range is empty.
+                  # Empty ranges are typically not meaningful and are usually rendered in the
+                  # UI as `#REF!`.
+                "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                "sheetId": 42, # The sheet this range is on.
+                "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+              },
+            ],
+            "requestingUserCanEdit": True or False, # True if the user who requested this protected range can edit the
+                # protected area.
+                # This field is read-only.
+            "description": "A String", # The description of this protected range.
+            "namedRangeId": "A String", # The named range this protected range is backed by, if any.
+                #
+                # When writing, only one of range or namedRangeId
+                # may be set.
+            "editors": { # The editors of a protected range. # The users and groups with edit access to the protected range.
+                # This field is only visible to users with edit access to the protected
+                # range and the document.
+                # Editors are not supported with warningOnly protection.
+              "domainUsersCanEdit": True or False, # True if anyone in the document's domain has edit access to the protected
+                  # range.  Domain protection is only supported on documents within a domain.
+              "users": [ # The email addresses of users with edit access to the protected range.
+                "A String",
+              ],
+              "groups": [ # The email addresses of groups with edit access to the protected range.
+                "A String",
+              ],
+            },
+            "protectedRangeId": 42, # The ID of the protected range.
+                # This field is read-only.
+            "warningOnly": True or False, # True if this this protected range will show a warning when editing.
+                # Warning-based protection means that every user can edit data in the
+                # protected range, except editing will prompt a warning asking the user
+                # to confirm the edit.
+                #
+                # When warning: if this field is true, then editors is ignored.
+                # Additionally, if this field is changed from true to false and the
+                # `editors` field is not set (nor included in the field mask), then
+                # the editors will be set to all the editors in the document.
+            "range": { # A range on a sheet. # The range that is being protected.
+                # The range may be fully unbounded, in which case this is considered
+                # a protected sheet.
+                #
+                # When writing, only one of range or namedRangeId
+                # may be set.
+                # All indexes are zero-based.
+                # Indexes are half open, e.g the start index is inclusive
+                # and the end index is exclusive -- [start_index, end_index).
+                # Missing indexes indicate the range is unbounded on that side.
+                #
+                # For example, if "Sheet1" is grid ID 0, then:
+                #
+                #   Sheet1!A1:A1 == sheet_id: 0,
+                #                   start_row_index: 0, end_row_index: 1,
+                #                   start_column_index: 0, end_column_index: 1
+                #
+                #   Sheet1!A3:B4 == sheet_id: 0,
+                #                   start_row_index: 2, end_row_index: 4,
+                #                   start_column_index: 0, end_column_index: 2
+                #
+                #   Sheet1!A:B == sheet_id: 0,
+                #                 start_column_index: 0, end_column_index: 2
+                #
+                #   Sheet1!A5:B == sheet_id: 0,
+                #                  start_row_index: 4,
+                #                  start_column_index: 0, end_column_index: 2
+                #
+                #   Sheet1 == sheet_id:0
+                #
+                # The start index must always be less than or equal to the end index.
+                # If the start index equals the end index, then the range is empty.
+                # Empty ranges are typically not meaningful and are usually rendered in the
+                # UI as `#REF!`.
+              "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "sheetId": 42, # The sheet this range is on.
+              "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+            },
+          },
+        },
+        "deleteEmbeddedObject": { # Deletes the embedded object with the given ID. # Deletes an embedded object (e.g, chart, image) in a sheet.
+          "objectId": 42, # The ID of the embedded object to delete.
+        },
+        "pasteData": { # Inserts data into the spreadsheet starting at the specified coordinate. # Pastes data (HTML or delimited) into a sheet.
+          "coordinate": { # A coordinate in a sheet. # The coordinate at which the data should start being inserted.
+              # All indexes are zero-based.
+            "rowIndex": 42, # The row index of the coordinate.
+            "columnIndex": 42, # The column index of the coordinate.
+            "sheetId": 42, # The sheet this coordinate is on.
+          },
+          "type": "A String", # How the data should be pasted.
+          "delimiter": "A String", # The delimiter in the data.
+          "html": True or False, # True if the data is HTML.
+          "data": "A String", # The data to insert.
+        },
+        "appendCells": { # Adds new cells to the last row with data in a sheet, # Appends cells to the last row with data in a sheet.
+            # inserting new rows into the sheet if necessary.
+          "fields": "A String", # The fields of CellData that should be updated.
+              # At least one field must be specified.
+              # The root is the CellData; 'row.values.' should not be specified.
+              # A single `"*"` can be used as short-hand for listing every field.
+          "rows": [ # The data to append.
+            { # Data about each cell in a row.
+              "values": [ # The values in the row, one per column.
+                { # Data about a specific cell.
+                  "pivotTable": { # A pivot table. # A pivot table anchored at this cell. The size of pivot table itself
+                      # is computed dynamically based on its data, grouping, filters, values,
+                      # etc... Only the top-left cell of the pivot table contains the pivot table
+                      # definition. The other cells will contain the calculated values of the
+                      # results of the pivot in their effectiveValue fields.
+                    "valueLayout": "A String", # Whether values should be listed horizontally (as columns)
+                        # or vertically (as rows).
+                    "rows": [ # Each row grouping in the pivot table.
+                      { # A single grouping (either row or column) in a pivot table.
+                        "showTotals": True or False, # True if the pivot table should include the totals for this grouping.
+                        "valueMetadata": [ # Metadata about values in the grouping.
+                          { # Metadata about a value in a pivot grouping.
+                            "collapsed": True or False, # True if the data corresponding to the value is collapsed.
+                            "value": { # The kinds of value that a cell in a spreadsheet can have. # The calculated value the metadata corresponds to.
+                                # (Note that formulaValue is not valid,
+                                #  because the values will be calculated.)
+                              "numberValue": 3.14, # Represents a double value.
+                                  # Note: Dates, Times and DateTimes are represented as doubles in
+                                  # "serial number" format.
+                              "boolValue": True or False, # Represents a boolean value.
+                              "formulaValue": "A String", # Represents a formula.
+                              "stringValue": "A String", # Represents a string value.
+                                  # Leading single quotes are not included. For example, if the user typed
+                                  # `'123` into the UI, this would be represented as a `stringValue` of
+                                  # `"123"`.
+                              "errorValue": { # An error in a cell. # Represents an error.
+                                  # This field is read-only.
+                                "message": "A String", # A message with more information about the error
+                                    # (in the spreadsheet's locale).
+                                "type": "A String", # The type of error.
+                              },
+                            },
+                          },
+                        ],
+                        "valueBucket": { # Information about which values in a pivot group should be used for sorting. # The bucket of the opposite pivot group to sort by.
+                            # If not specified, sorting is alphabetical by this group's values.
+                          "buckets": [ # Determines the bucket from which values are chosen to sort.
+                              #
+                              # For example, in a pivot table with one row group & two column groups,
+                              # the row group can list up to two values. The first value corresponds
+                              # to a value within the first column group, and the second value
+                              # corresponds to a value in the second column group.  If no values
+                              # are listed, this would indicate that the row should be sorted according
+                              # to the "Grand Total" over the column groups. If a single value is listed,
+                              # this would correspond to using the "Total" of that bucket.
+                            { # The kinds of value that a cell in a spreadsheet can have.
+                              "numberValue": 3.14, # Represents a double value.
+                                  # Note: Dates, Times and DateTimes are represented as doubles in
+                                  # "serial number" format.
+                              "boolValue": True or False, # Represents a boolean value.
+                              "formulaValue": "A String", # Represents a formula.
+                              "stringValue": "A String", # Represents a string value.
+                                  # Leading single quotes are not included. For example, if the user typed
+                                  # `'123` into the UI, this would be represented as a `stringValue` of
+                                  # `"123"`.
+                              "errorValue": { # An error in a cell. # Represents an error.
+                                  # This field is read-only.
+                                "message": "A String", # A message with more information about the error
+                                    # (in the spreadsheet's locale).
+                                "type": "A String", # The type of error.
+                              },
+                            },
+                          ],
+                          "valuesIndex": 42, # The offset in the [PivotTable.values] list which the values in this
+                              # grouping should be sorted by.
+                        },
+                        "sortOrder": "A String", # The order the values in this group should be sorted.
+                        "sourceColumnOffset": 42, # The column offset of the source range that this grouping is based on.
+                            #
+                            # For example, if the source was `C10:E15', a `sourceColumnOffset` of `0`
+                            # means this group refers to column `C`, whereas the offset `1` would refer
+                            # to column `D`.
+                      },
+                    ],
+                    "source": { # A range on a sheet. # The range the pivot table is reading data from.
+                        # All indexes are zero-based.
+                        # Indexes are half open, e.g the start index is inclusive
+                        # and the end index is exclusive -- [start_index, end_index).
+                        # Missing indexes indicate the range is unbounded on that side.
+                        #
+                        # For example, if "Sheet1" is grid ID 0, then:
+                        #
+                        #   Sheet1!A1:A1 == sheet_id: 0,
+                        #                   start_row_index: 0, end_row_index: 1,
+                        #                   start_column_index: 0, end_column_index: 1
+                        #
+                        #   Sheet1!A3:B4 == sheet_id: 0,
+                        #                   start_row_index: 2, end_row_index: 4,
+                        #                   start_column_index: 0, end_column_index: 2
+                        #
+                        #   Sheet1!A:B == sheet_id: 0,
+                        #                 start_column_index: 0, end_column_index: 2
+                        #
+                        #   Sheet1!A5:B == sheet_id: 0,
+                        #                  start_row_index: 4,
+                        #                  start_column_index: 0, end_column_index: 2
+                        #
+                        #   Sheet1 == sheet_id:0
+                        #
+                        # The start index must always be less than or equal to the end index.
+                        # If the start index equals the end index, then the range is empty.
+                        # Empty ranges are typically not meaningful and are usually rendered in the
+                        # UI as `#REF!`.
+                      "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+                      "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                      "sheetId": 42, # The sheet this range is on.
+                      "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+                      "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                    },
+                    "values": [ # A list of values to include in the pivot table.
+                      { # The definition of how a value in a pivot table should be calculated.
+                        "formula": "A String", # A custom formula to calculate the value.  The formula must start
+                            # with an `=` character.
+                        "summarizeFunction": "A String", # A function to summarize the value.
+                            # If formula is set, the only supported values are
+                            # SUM and
+                            # CUSTOM.
+                            # If sourceColumnOffset is set, then `CUSTOM`
+                            # is not supported.
+                        "sourceColumnOffset": 42, # The column offset of the source range that this value reads from.
+                            #
+                            # For example, if the source was `C10:E15', a `sourceColumnOffset` of `0`
+                            # means this value refers to column `C`, whereas the offset `1` would
+                            # refer to column `D`.
+                        "name": "A String", # A name to use for the value. This is only used if formula was set.
+                            # Otherwise, the column name is used.
+                      },
+                    ],
+                    "criteria": { # An optional mapping of filters per source column offset.
+                        #
+                        # The filters will be applied before aggregating data into the pivot table.
+                        # The map's key is the column offset of the source range that you want to
+                        # filter, and the value is the criteria for that column.
+                        #
+                        # For example, if the source was `C10:E15', a key of `0` will have the filter
+                        # for column `C`, whereas the key `1` is for column `D`.
+                      "a_key": { # Criteria for showing/hiding rows in a pivot table.
+                        "visibleValues": [ # Values that should be included.  Values not listed here are excluded.
+                          "A String",
+                        ],
+                      },
+                    },
+                    "columns": [ # Each column grouping in the pivot table.
+                      { # A single grouping (either row or column) in a pivot table.
+                        "showTotals": True or False, # True if the pivot table should include the totals for this grouping.
+                        "valueMetadata": [ # Metadata about values in the grouping.
+                          { # Metadata about a value in a pivot grouping.
+                            "collapsed": True or False, # True if the data corresponding to the value is collapsed.
+                            "value": { # The kinds of value that a cell in a spreadsheet can have. # The calculated value the metadata corresponds to.
+                                # (Note that formulaValue is not valid,
+                                #  because the values will be calculated.)
+                              "numberValue": 3.14, # Represents a double value.
+                                  # Note: Dates, Times and DateTimes are represented as doubles in
+                                  # "serial number" format.
+                              "boolValue": True or False, # Represents a boolean value.
+                              "formulaValue": "A String", # Represents a formula.
+                              "stringValue": "A String", # Represents a string value.
+                                  # Leading single quotes are not included. For example, if the user typed
+                                  # `'123` into the UI, this would be represented as a `stringValue` of
+                                  # `"123"`.
+                              "errorValue": { # An error in a cell. # Represents an error.
+                                  # This field is read-only.
+                                "message": "A String", # A message with more information about the error
+                                    # (in the spreadsheet's locale).
+                                "type": "A String", # The type of error.
+                              },
+                            },
+                          },
+                        ],
+                        "valueBucket": { # Information about which values in a pivot group should be used for sorting. # The bucket of the opposite pivot group to sort by.
+                            # If not specified, sorting is alphabetical by this group's values.
+                          "buckets": [ # Determines the bucket from which values are chosen to sort.
+                              #
+                              # For example, in a pivot table with one row group & two column groups,
+                              # the row group can list up to two values. The first value corresponds
+                              # to a value within the first column group, and the second value
+                              # corresponds to a value in the second column group.  If no values
+                              # are listed, this would indicate that the row should be sorted according
+                              # to the "Grand Total" over the column groups. If a single value is listed,
+                              # this would correspond to using the "Total" of that bucket.
+                            { # The kinds of value that a cell in a spreadsheet can have.
+                              "numberValue": 3.14, # Represents a double value.
+                                  # Note: Dates, Times and DateTimes are represented as doubles in
+                                  # "serial number" format.
+                              "boolValue": True or False, # Represents a boolean value.
+                              "formulaValue": "A String", # Represents a formula.
+                              "stringValue": "A String", # Represents a string value.
+                                  # Leading single quotes are not included. For example, if the user typed
+                                  # `'123` into the UI, this would be represented as a `stringValue` of
+                                  # `"123"`.
+                              "errorValue": { # An error in a cell. # Represents an error.
+                                  # This field is read-only.
+                                "message": "A String", # A message with more information about the error
+                                    # (in the spreadsheet's locale).
+                                "type": "A String", # The type of error.
+                              },
+                            },
+                          ],
+                          "valuesIndex": 42, # The offset in the [PivotTable.values] list which the values in this
+                              # grouping should be sorted by.
+                        },
+                        "sortOrder": "A String", # The order the values in this group should be sorted.
+                        "sourceColumnOffset": 42, # The column offset of the source range that this grouping is based on.
+                            #
+                            # For example, if the source was `C10:E15', a `sourceColumnOffset` of `0`
+                            # means this group refers to column `C`, whereas the offset `1` would refer
+                            # to column `D`.
+                      },
+                    ],
+                  },
+                  "hyperlink": "A String", # A hyperlink this cell points to, if any.
+                      # This field is read-only.  (To set it, use a `=HYPERLINK` formula.)
+                  "effectiveValue": { # The kinds of value that a cell in a spreadsheet can have. # The effective value of the cell. For cells with formulas, this will be
+                      # the calculated value.  For cells with literals, this will be
+                      # the same as the user_entered_value.
+                      # This field is read-only.
+                    "numberValue": 3.14, # Represents a double value.
+                        # Note: Dates, Times and DateTimes are represented as doubles in
+                        # "serial number" format.
+                    "boolValue": True or False, # Represents a boolean value.
+                    "formulaValue": "A String", # Represents a formula.
+                    "stringValue": "A String", # Represents a string value.
+                        # Leading single quotes are not included. For example, if the user typed
+                        # `'123` into the UI, this would be represented as a `stringValue` of
+                        # `"123"`.
+                    "errorValue": { # An error in a cell. # Represents an error.
+                        # This field is read-only.
+                      "message": "A String", # A message with more information about the error
+                          # (in the spreadsheet's locale).
+                      "type": "A String", # The type of error.
+                    },
+                  },
+                  "formattedValue": "A String", # The formatted value of the cell.
+                      # This is the value as it's shown to the user.
+                      # This field is read-only.
+                  "userEnteredValue": { # The kinds of value that a cell in a spreadsheet can have. # The value the user entered in the cell. e.g, `1234`, `'Hello'`, or `=NOW()`
+                      # Note: Dates, Times and DateTimes are represented as doubles in
+                      # serial number format.
+                    "numberValue": 3.14, # Represents a double value.
+                        # Note: Dates, Times and DateTimes are represented as doubles in
+                        # "serial number" format.
+                    "boolValue": True or False, # Represents a boolean value.
+                    "formulaValue": "A String", # Represents a formula.
+                    "stringValue": "A String", # Represents a string value.
+                        # Leading single quotes are not included. For example, if the user typed
+                        # `'123` into the UI, this would be represented as a `stringValue` of
+                        # `"123"`.
+                    "errorValue": { # An error in a cell. # Represents an error.
+                        # This field is read-only.
+                      "message": "A String", # A message with more information about the error
+                          # (in the spreadsheet's locale).
+                      "type": "A String", # The type of error.
+                    },
+                  },
+                  "note": "A String", # Any note on the cell.
+                  "effectiveFormat": { # The format of a cell. # The effective format being used by the cell.
+                      # This includes the results of applying any conditional formatting and,
+                      # if the cell contains a formula, the computed number format.
+                      # If the effective format is the default format, effective format will
+                      # not be written.
+                      # This field is read-only.
+                    "numberFormat": { # The number format of a cell. # A format describing how number values should be represented to the user.
+                        # When updating, all fields must be set.
+                      "pattern": "A String", # Pattern string used for formatting.
+                      "type": "A String", # The type of the number format.
+                    },
+                    "textDirection": "A String", # The direction of the text in the cell.
+                    "padding": { # The amount of padding around the cell, in pixels. # The padding of the cell.
+                        # When updating padding, every field must be specified.
+                      "top": 42, # The top padding of the cell.
+                      "right": 42, # The right padding of the cell.
+                      "bottom": 42, # The bottom padding of the cell.
+                      "left": 42, # The left padding of the cell.
+                    },
+                    "horizontalAlignment": "A String", # The horizontal alignment of the value in cell.
+                    "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                        # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha <= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!('alpha' in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(',');
+                        #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = ['#'];
+                        #       for (var i = 0; i < missingZeros; i++) {
+                        #          resultBuilder.push('0');
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join('');
+                        #     };
+                        #
+                        #     // ...
+                      "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                      "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    },
+                    "verticalAlignment": "A String", # The vertical alignment of the value in cell.
+                    "textFormat": { # The format of a run of text in a cell. # The format of the text in the cell (unless overridden by a format run).
+                        # Absent values indicate that the field isn't specified.
+                      "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
+                          # for simplicity of conversion to/from color representations in various
+                          # languages over compactness; for example, the fields of this representation
+                          # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                          # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                          # method in iOS; and, with just a little work, it can be easily formatted into
+                          # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                          #
+                          # Example (Java):
+                          #
+                          #      import com.google.type.Color;
+                          #
+                          #      // ...
+                          #      public static java.awt.Color fromProto(Color protocolor) {
+                          #        float alpha = protocolor.hasAlpha()
+                          #            ? protocolor.getAlpha().getValue()
+                          #            : 1.0;
+                          #
+                          #        return new java.awt.Color(
+                          #            protocolor.getRed(),
+                          #            protocolor.getGreen(),
+                          #            protocolor.getBlue(),
+                          #            alpha);
+                          #      }
+                          #
+                          #      public static Color toProto(java.awt.Color color) {
+                          #        float red = (float) color.getRed();
+                          #        float green = (float) color.getGreen();
+                          #        float blue = (float) color.getBlue();
+                          #        float denominator = 255.0;
+                          #        Color.Builder resultBuilder =
+                          #            Color
+                          #                .newBuilder()
+                          #                .setRed(red / denominator)
+                          #                .setGreen(green / denominator)
+                          #                .setBlue(blue / denominator);
+                          #        int alpha = color.getAlpha();
+                          #        if (alpha != 255) {
+                          #          result.setAlpha(
+                          #              FloatValue
+                          #                  .newBuilder()
+                          #                  .setValue(((float) alpha) / denominator)
+                          #                  .build());
+                          #        }
+                          #        return resultBuilder.build();
+                          #      }
+                          #      // ...
+                          #
+                          # Example (iOS / Obj-C):
+                          #
+                          #      // ...
+                          #      static UIColor* fromProto(Color* protocolor) {
+                          #         float red = [protocolor red];
+                          #         float green = [protocolor green];
+                          #         float blue = [protocolor blue];
+                          #         FloatValue* alpha_wrapper = [protocolor alpha];
+                          #         float alpha = 1.0;
+                          #         if (alpha_wrapper != nil) {
+                          #           alpha = [alpha_wrapper value];
+                          #         }
+                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                          #      }
+                          #
+                          #      static Color* toProto(UIColor* color) {
+                          #          CGFloat red, green, blue, alpha;
+                          #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                          #            return nil;
+                          #          }
+                          #          Color* result = [Color alloc] init];
+                          #          [result setRed:red];
+                          #          [result setGreen:green];
+                          #          [result setBlue:blue];
+                          #          if (alpha <= 0.9999) {
+                          #            [result setAlpha:floatWrapperWithValue(alpha)];
+                          #          }
+                          #          [result autorelease];
+                          #          return result;
+                          #     }
+                          #     // ...
+                          #
+                          #  Example (JavaScript):
+                          #
+                          #     // ...
+                          #
+                          #     var protoToCssColor = function(rgb_color) {
+                          #        var redFrac = rgb_color.red || 0.0;
+                          #        var greenFrac = rgb_color.green || 0.0;
+                          #        var blueFrac = rgb_color.blue || 0.0;
+                          #        var red = Math.floor(redFrac * 255);
+                          #        var green = Math.floor(greenFrac * 255);
+                          #        var blue = Math.floor(blueFrac * 255);
+                          #
+                          #        if (!('alpha' in rgb_color)) {
+                          #           return rgbToCssColor_(red, green, blue);
+                          #        }
+                          #
+                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                          #        var rgbParams = [red, green, blue].join(',');
+                          #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                          #     };
+                          #
+                          #     var rgbToCssColor_ = function(red, green, blue) {
+                          #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                          #       var hexString = rgbNumber.toString(16);
+                          #       var missingZeros = 6 - hexString.length;
+                          #       var resultBuilder = ['#'];
+                          #       for (var i = 0; i < missingZeros; i++) {
+                          #          resultBuilder.push('0');
+                          #       }
+                          #       resultBuilder.push(hexString);
+                          #       return resultBuilder.join('');
+                          #     };
+                          #
+                          #     // ...
+                        "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                        "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                            # the final pixel color is defined by the equation:
+                            #
+                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                            #
+                            # This means that a value of 1.0 corresponds to a solid color, whereas
+                            # a value of 0.0 corresponds to a completely transparent color. This
+                            # uses a wrapper message rather than a simple float scalar so that it is
+                            # possible to distinguish between a default value and the value being unset.
+                            # If omitted, this color object is to be rendered as a solid color
+                            # (as if the alpha value had been explicitly given with a value of 1.0).
+                        "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      },
+                      "bold": True or False, # True if the text is bold.
+                      "strikethrough": True or False, # True if the text has a strikethrough.
+                      "fontFamily": "A String", # The font family.
+                      "fontSize": 42, # The size of the font.
+                      "italic": True or False, # True if the text is italicized.
+                      "underline": True or False, # True if the text is underlined.
+                    },
+                    "hyperlinkDisplayType": "A String", # How a hyperlink, if it exists, should be displayed in the cell.
+                    "borders": { # The borders of the cell. # The borders of the cell.
+                      "top": { # A border along a cell. # The top border of the cell.
+                        "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                            # for simplicity of conversion to/from color representations in various
+                            # languages over compactness; for example, the fields of this representation
+                            # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                            # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                            # method in iOS; and, with just a little work, it can be easily formatted into
+                            # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                            #
+                            # Example (Java):
+                            #
+                            #      import com.google.type.Color;
+                            #
+                            #      // ...
+                            #      public static java.awt.Color fromProto(Color protocolor) {
+                            #        float alpha = protocolor.hasAlpha()
+                            #            ? protocolor.getAlpha().getValue()
+                            #            : 1.0;
+                            #
+                            #        return new java.awt.Color(
+                            #            protocolor.getRed(),
+                            #            protocolor.getGreen(),
+                            #            protocolor.getBlue(),
+                            #            alpha);
+                            #      }
+                            #
+                            #      public static Color toProto(java.awt.Color color) {
+                            #        float red = (float) color.getRed();
+                            #        float green = (float) color.getGreen();
+                            #        float blue = (float) color.getBlue();
+                            #        float denominator = 255.0;
+                            #        Color.Builder resultBuilder =
+                            #            Color
+                            #                .newBuilder()
+                            #                .setRed(red / denominator)
+                            #                .setGreen(green / denominator)
+                            #                .setBlue(blue / denominator);
+                            #        int alpha = color.getAlpha();
+                            #        if (alpha != 255) {
+                            #          result.setAlpha(
+                            #              FloatValue
+                            #                  .newBuilder()
+                            #                  .setValue(((float) alpha) / denominator)
+                            #                  .build());
+                            #        }
+                            #        return resultBuilder.build();
+                            #      }
+                            #      // ...
+                            #
+                            # Example (iOS / Obj-C):
+                            #
+                            #      // ...
+                            #      static UIColor* fromProto(Color* protocolor) {
+                            #         float red = [protocolor red];
+                            #         float green = [protocolor green];
+                            #         float blue = [protocolor blue];
+                            #         FloatValue* alpha_wrapper = [protocolor alpha];
+                            #         float alpha = 1.0;
+                            #         if (alpha_wrapper != nil) {
+                            #           alpha = [alpha_wrapper value];
+                            #         }
+                            #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                            #      }
+                            #
+                            #      static Color* toProto(UIColor* color) {
+                            #          CGFloat red, green, blue, alpha;
+                            #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                            #            return nil;
+                            #          }
+                            #          Color* result = [Color alloc] init];
+                            #          [result setRed:red];
+                            #          [result setGreen:green];
+                            #          [result setBlue:blue];
+                            #          if (alpha <= 0.9999) {
+                            #            [result setAlpha:floatWrapperWithValue(alpha)];
+                            #          }
+                            #          [result autorelease];
+                            #          return result;
+                            #     }
+                            #     // ...
+                            #
+                            #  Example (JavaScript):
+                            #
+                            #     // ...
+                            #
+                            #     var protoToCssColor = function(rgb_color) {
+                            #        var redFrac = rgb_color.red || 0.0;
+                            #        var greenFrac = rgb_color.green || 0.0;
+                            #        var blueFrac = rgb_color.blue || 0.0;
+                            #        var red = Math.floor(redFrac * 255);
+                            #        var green = Math.floor(greenFrac * 255);
+                            #        var blue = Math.floor(blueFrac * 255);
+                            #
+                            #        if (!('alpha' in rgb_color)) {
+                            #           return rgbToCssColor_(red, green, blue);
+                            #        }
+                            #
+                            #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                            #        var rgbParams = [red, green, blue].join(',');
+                            #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                            #     };
+                            #
+                            #     var rgbToCssColor_ = function(red, green, blue) {
+                            #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                            #       var hexString = rgbNumber.toString(16);
+                            #       var missingZeros = 6 - hexString.length;
+                            #       var resultBuilder = ['#'];
+                            #       for (var i = 0; i < missingZeros; i++) {
+                            #          resultBuilder.push('0');
+                            #       }
+                            #       resultBuilder.push(hexString);
+                            #       return resultBuilder.join('');
+                            #     };
+                            #
+                            #     // ...
+                          "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                          "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                              # the final pixel color is defined by the equation:
+                              #
+                              #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                              #
+                              # This means that a value of 1.0 corresponds to a solid color, whereas
+                              # a value of 0.0 corresponds to a completely transparent color. This
+                              # uses a wrapper message rather than a simple float scalar so that it is
+                              # possible to distinguish between a default value and the value being unset.
+                              # If omitted, this color object is to be rendered as a solid color
+                              # (as if the alpha value had been explicitly given with a value of 1.0).
+                          "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        },
+                        "width": 42, # The width of the border, in pixels.
+                            # Border widths must be between 0 and 3 pixels.
+                        "style": "A String", # The style of the border.
+                      },
+                      "right": { # A border along a cell. # The right border of the cell.
+                        "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                            # for simplicity of conversion to/from color representations in various
+                            # languages over compactness; for example, the fields of this representation
+                            # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                            # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                            # method in iOS; and, with just a little work, it can be easily formatted into
+                            # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                            #
+                            # Example (Java):
+                            #
+                            #      import com.google.type.Color;
+                            #
+                            #      // ...
+                            #      public static java.awt.Color fromProto(Color protocolor) {
+                            #        float alpha = protocolor.hasAlpha()
+                            #            ? protocolor.getAlpha().getValue()
+                            #            : 1.0;
+                            #
+                            #        return new java.awt.Color(
+                            #            protocolor.getRed(),
+                            #            protocolor.getGreen(),
+                            #            protocolor.getBlue(),
+                            #            alpha);
+                            #      }
+                            #
+                            #      public static Color toProto(java.awt.Color color) {
+                            #        float red = (float) color.getRed();
+                            #        float green = (float) color.getGreen();
+                            #        float blue = (float) color.getBlue();
+                            #        float denominator = 255.0;
+                            #        Color.Builder resultBuilder =
+                            #            Color
+                            #                .newBuilder()
+                            #                .setRed(red / denominator)
+                            #                .setGreen(green / denominator)
+                            #                .setBlue(blue / denominator);
+                            #        int alpha = color.getAlpha();
+                            #        if (alpha != 255) {
+                            #          result.setAlpha(
+                            #              FloatValue
+                            #                  .newBuilder()
+                            #                  .setValue(((float) alpha) / denominator)
+                            #                  .build());
+                            #        }
+                            #        return resultBuilder.build();
+                            #      }
+                            #      // ...
+                            #
+                            # Example (iOS / Obj-C):
+                            #
+                            #      // ...
+                            #      static UIColor* fromProto(Color* protocolor) {
+                            #         float red = [protocolor red];
+                            #         float green = [protocolor green];
+                            #         float blue = [protocolor blue];
+                            #         FloatValue* alpha_wrapper = [protocolor alpha];
+                            #         float alpha = 1.0;
+                            #         if (alpha_wrapper != nil) {
+                            #           alpha = [alpha_wrapper value];
+                            #         }
+                            #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                            #      }
+                            #
+                            #      static Color* toProto(UIColor* color) {
+                            #          CGFloat red, green, blue, alpha;
+                            #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                            #            return nil;
+                            #          }
+                            #          Color* result = [Color alloc] init];
+                            #          [result setRed:red];
+                            #          [result setGreen:green];
+                            #          [result setBlue:blue];
+                            #          if (alpha <= 0.9999) {
+                            #            [result setAlpha:floatWrapperWithValue(alpha)];
+                            #          }
+                            #          [result autorelease];
+                            #          return result;
+                            #     }
+                            #     // ...
+                            #
+                            #  Example (JavaScript):
+                            #
+                            #     // ...
+                            #
+                            #     var protoToCssColor = function(rgb_color) {
+                            #        var redFrac = rgb_color.red || 0.0;
+                            #        var greenFrac = rgb_color.green || 0.0;
+                            #        var blueFrac = rgb_color.blue || 0.0;
+                            #        var red = Math.floor(redFrac * 255);
+                            #        var green = Math.floor(greenFrac * 255);
+                            #        var blue = Math.floor(blueFrac * 255);
+                            #
+                            #        if (!('alpha' in rgb_color)) {
+                            #           return rgbToCssColor_(red, green, blue);
+                            #        }
+                            #
+                            #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                            #        var rgbParams = [red, green, blue].join(',');
+                            #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                            #     };
+                            #
+                            #     var rgbToCssColor_ = function(red, green, blue) {
+                            #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                            #       var hexString = rgbNumber.toString(16);
+                            #       var missingZeros = 6 - hexString.length;
+                            #       var resultBuilder = ['#'];
+                            #       for (var i = 0; i < missingZeros; i++) {
+                            #          resultBuilder.push('0');
+                            #       }
+                            #       resultBuilder.push(hexString);
+                            #       return resultBuilder.join('');
+                            #     };
+                            #
+                            #     // ...
+                          "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                          "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                              # the final pixel color is defined by the equation:
+                              #
+                              #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                              #
+                              # This means that a value of 1.0 corresponds to a solid color, whereas
+                              # a value of 0.0 corresponds to a completely transparent color. This
+                              # uses a wrapper message rather than a simple float scalar so that it is
+                              # possible to distinguish between a default value and the value being unset.
+                              # If omitted, this color object is to be rendered as a solid color
+                              # (as if the alpha value had been explicitly given with a value of 1.0).
+                          "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        },
+                        "width": 42, # The width of the border, in pixels.
+                            # Border widths must be between 0 and 3 pixels.
+                        "style": "A String", # The style of the border.
+                      },
+                      "bottom": { # A border along a cell. # The bottom border of the cell.
+                        "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                            # for simplicity of conversion to/from color representations in various
+                            # languages over compactness; for example, the fields of this representation
+                            # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                            # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                            # method in iOS; and, with just a little work, it can be easily formatted into
+                            # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                            #
+                            # Example (Java):
+                            #
+                            #      import com.google.type.Color;
+                            #
+                            #      // ...
+                            #      public static java.awt.Color fromProto(Color protocolor) {
+                            #        float alpha = protocolor.hasAlpha()
+                            #            ? protocolor.getAlpha().getValue()
+                            #            : 1.0;
+                            #
+                            #        return new java.awt.Color(
+                            #            protocolor.getRed(),
+                            #            protocolor.getGreen(),
+                            #            protocolor.getBlue(),
+                            #            alpha);
+                            #      }
+                            #
+                            #      public static Color toProto(java.awt.Color color) {
+                            #        float red = (float) color.getRed();
+                            #        float green = (float) color.getGreen();
+                            #        float blue = (float) color.getBlue();
+                            #        float denominator = 255.0;
+                            #        Color.Builder resultBuilder =
+                            #            Color
+                            #                .newBuilder()
+                            #                .setRed(red / denominator)
+                            #                .setGreen(green / denominator)
+                            #                .setBlue(blue / denominator);
+                            #        int alpha = color.getAlpha();
+                            #        if (alpha != 255) {
+                            #          result.setAlpha(
+                            #              FloatValue
+                            #                  .newBuilder()
+                            #                  .setValue(((float) alpha) / denominator)
+                            #                  .build());
+                            #        }
+                            #        return resultBuilder.build();
+                            #      }
+                            #      // ...
+                            #
+                            # Example (iOS / Obj-C):
+                            #
+                            #      // ...
+                            #      static UIColor* fromProto(Color* protocolor) {
+                            #         float red = [protocolor red];
+                            #         float green = [protocolor green];
+                            #         float blue = [protocolor blue];
+                            #         FloatValue* alpha_wrapper = [protocolor alpha];
+                            #         float alpha = 1.0;
+                            #         if (alpha_wrapper != nil) {
+                            #           alpha = [alpha_wrapper value];
+                            #         }
+                            #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                            #      }
+                            #
+                            #      static Color* toProto(UIColor* color) {
+                            #          CGFloat red, green, blue, alpha;
+                            #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                            #            return nil;
+                            #          }
+                            #          Color* result = [Color alloc] init];
+                            #          [result setRed:red];
+                            #          [result setGreen:green];
+                            #          [result setBlue:blue];
+                            #          if (alpha <= 0.9999) {
+                            #            [result setAlpha:floatWrapperWithValue(alpha)];
+                            #          }
+                            #          [result autorelease];
+                            #          return result;
+                            #     }
+                            #     // ...
+                            #
+                            #  Example (JavaScript):
+                            #
+                            #     // ...
+                            #
+                            #     var protoToCssColor = function(rgb_color) {
+                            #        var redFrac = rgb_color.red || 0.0;
+                            #        var greenFrac = rgb_color.green || 0.0;
+                            #        var blueFrac = rgb_color.blue || 0.0;
+                            #        var red = Math.floor(redFrac * 255);
+                            #        var green = Math.floor(greenFrac * 255);
+                            #        var blue = Math.floor(blueFrac * 255);
+                            #
+                            #        if (!('alpha' in rgb_color)) {
+                            #           return rgbToCssColor_(red, green, blue);
+                            #        }
+                            #
+                            #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                            #        var rgbParams = [red, green, blue].join(',');
+                            #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                            #     };
+                            #
+                            #     var rgbToCssColor_ = function(red, green, blue) {
+                            #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                            #       var hexString = rgbNumber.toString(16);
+                            #       var missingZeros = 6 - hexString.length;
+                            #       var resultBuilder = ['#'];
+                            #       for (var i = 0; i < missingZeros; i++) {
+                            #          resultBuilder.push('0');
+                            #       }
+                            #       resultBuilder.push(hexString);
+                            #       return resultBuilder.join('');
+                            #     };
+                            #
+                            #     // ...
+                          "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                          "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                              # the final pixel color is defined by the equation:
+                              #
+                              #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                              #
+                              # This means that a value of 1.0 corresponds to a solid color, whereas
+                              # a value of 0.0 corresponds to a completely transparent color. This
+                              # uses a wrapper message rather than a simple float scalar so that it is
+                              # possible to distinguish between a default value and the value being unset.
+                              # If omitted, this color object is to be rendered as a solid color
+                              # (as if the alpha value had been explicitly given with a value of 1.0).
+                          "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        },
+                        "width": 42, # The width of the border, in pixels.
+                            # Border widths must be between 0 and 3 pixels.
+                        "style": "A String", # The style of the border.
+                      },
+                      "left": { # A border along a cell. # The left border of the cell.
+                        "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                            # for simplicity of conversion to/from color representations in various
+                            # languages over compactness; for example, the fields of this representation
+                            # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                            # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                            # method in iOS; and, with just a little work, it can be easily formatted into
+                            # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                            #
+                            # Example (Java):
+                            #
+                            #      import com.google.type.Color;
+                            #
+                            #      // ...
+                            #      public static java.awt.Color fromProto(Color protocolor) {
+                            #        float alpha = protocolor.hasAlpha()
+                            #            ? protocolor.getAlpha().getValue()
+                            #            : 1.0;
+                            #
+                            #        return new java.awt.Color(
+                            #            protocolor.getRed(),
+                            #            protocolor.getGreen(),
+                            #            protocolor.getBlue(),
+                            #            alpha);
+                            #      }
+                            #
+                            #      public static Color toProto(java.awt.Color color) {
+                            #        float red = (float) color.getRed();
+                            #        float green = (float) color.getGreen();
+                            #        float blue = (float) color.getBlue();
+                            #        float denominator = 255.0;
+                            #        Color.Builder resultBuilder =
+                            #            Color
+                            #                .newBuilder()
+                            #                .setRed(red / denominator)
+                            #                .setGreen(green / denominator)
+                            #                .setBlue(blue / denominator);
+                            #        int alpha = color.getAlpha();
+                            #        if (alpha != 255) {
+                            #          result.setAlpha(
+                            #              FloatValue
+                            #                  .newBuilder()
+                            #                  .setValue(((float) alpha) / denominator)
+                            #                  .build());
+                            #        }
+                            #        return resultBuilder.build();
+                            #      }
+                            #      // ...
+                            #
+                            # Example (iOS / Obj-C):
+                            #
+                            #      // ...
+                            #      static UIColor* fromProto(Color* protocolor) {
+                            #         float red = [protocolor red];
+                            #         float green = [protocolor green];
+                            #         float blue = [protocolor blue];
+                            #         FloatValue* alpha_wrapper = [protocolor alpha];
+                            #         float alpha = 1.0;
+                            #         if (alpha_wrapper != nil) {
+                            #           alpha = [alpha_wrapper value];
+                            #         }
+                            #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                            #      }
+                            #
+                            #      static Color* toProto(UIColor* color) {
+                            #          CGFloat red, green, blue, alpha;
+                            #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                            #            return nil;
+                            #          }
+                            #          Color* result = [Color alloc] init];
+                            #          [result setRed:red];
+                            #          [result setGreen:green];
+                            #          [result setBlue:blue];
+                            #          if (alpha <= 0.9999) {
+                            #            [result setAlpha:floatWrapperWithValue(alpha)];
+                            #          }
+                            #          [result autorelease];
+                            #          return result;
+                            #     }
+                            #     // ...
+                            #
+                            #  Example (JavaScript):
+                            #
+                            #     // ...
+                            #
+                            #     var protoToCssColor = function(rgb_color) {
+                            #        var redFrac = rgb_color.red || 0.0;
+                            #        var greenFrac = rgb_color.green || 0.0;
+                            #        var blueFrac = rgb_color.blue || 0.0;
+                            #        var red = Math.floor(redFrac * 255);
+                            #        var green = Math.floor(greenFrac * 255);
+                            #        var blue = Math.floor(blueFrac * 255);
+                            #
+                            #        if (!('alpha' in rgb_color)) {
+                            #           return rgbToCssColor_(red, green, blue);
+                            #        }
+                            #
+                            #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                            #        var rgbParams = [red, green, blue].join(',');
+                            #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                            #     };
+                            #
+                            #     var rgbToCssColor_ = function(red, green, blue) {
+                            #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                            #       var hexString = rgbNumber.toString(16);
+                            #       var missingZeros = 6 - hexString.length;
+                            #       var resultBuilder = ['#'];
+                            #       for (var i = 0; i < missingZeros; i++) {
+                            #          resultBuilder.push('0');
+                            #       }
+                            #       resultBuilder.push(hexString);
+                            #       return resultBuilder.join('');
+                            #     };
+                            #
+                            #     // ...
+                          "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                          "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                              # the final pixel color is defined by the equation:
+                              #
+                              #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                              #
+                              # This means that a value of 1.0 corresponds to a solid color, whereas
+                              # a value of 0.0 corresponds to a completely transparent color. This
+                              # uses a wrapper message rather than a simple float scalar so that it is
+                              # possible to distinguish between a default value and the value being unset.
+                              # If omitted, this color object is to be rendered as a solid color
+                              # (as if the alpha value had been explicitly given with a value of 1.0).
+                          "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        },
+                        "width": 42, # The width of the border, in pixels.
+                            # Border widths must be between 0 and 3 pixels.
+                        "style": "A String", # The style of the border.
+                      },
+                    },
+                    "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
+                  },
+                  "userEnteredFormat": { # The format of a cell. # The format the user entered for the cell.
+                      #
+                      # When writing, the new format will be merged with the existing format.
+                    "numberFormat": { # The number format of a cell. # A format describing how number values should be represented to the user.
+                        # When updating, all fields must be set.
+                      "pattern": "A String", # Pattern string used for formatting.
+                      "type": "A String", # The type of the number format.
+                    },
+                    "textDirection": "A String", # The direction of the text in the cell.
+                    "padding": { # The amount of padding around the cell, in pixels. # The padding of the cell.
+                        # When updating padding, every field must be specified.
+                      "top": 42, # The top padding of the cell.
+                      "right": 42, # The right padding of the cell.
+                      "bottom": 42, # The bottom padding of the cell.
+                      "left": 42, # The left padding of the cell.
+                    },
+                    "horizontalAlignment": "A String", # The horizontal alignment of the value in cell.
+                    "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                        # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha <= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!('alpha' in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(',');
+                        #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = ['#'];
+                        #       for (var i = 0; i < missingZeros; i++) {
+                        #          resultBuilder.push('0');
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join('');
+                        #     };
+                        #
+                        #     // ...
+                      "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                      "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    },
+                    "verticalAlignment": "A String", # The vertical alignment of the value in cell.
+                    "textFormat": { # The format of a run of text in a cell. # The format of the text in the cell (unless overridden by a format run).
+                        # Absent values indicate that the field isn't specified.
+                      "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
+                          # for simplicity of conversion to/from color representations in various
+                          # languages over compactness; for example, the fields of this representation
+                          # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                          # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                          # method in iOS; and, with just a little work, it can be easily formatted into
+                          # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                          #
+                          # Example (Java):
+                          #
+                          #      import com.google.type.Color;
+                          #
+                          #      // ...
+                          #      public static java.awt.Color fromProto(Color protocolor) {
+                          #        float alpha = protocolor.hasAlpha()
+                          #            ? protocolor.getAlpha().getValue()
+                          #            : 1.0;
+                          #
+                          #        return new java.awt.Color(
+                          #            protocolor.getRed(),
+                          #            protocolor.getGreen(),
+                          #            protocolor.getBlue(),
+                          #            alpha);
+                          #      }
+                          #
+                          #      public static Color toProto(java.awt.Color color) {
+                          #        float red = (float) color.getRed();
+                          #        float green = (float) color.getGreen();
+                          #        float blue = (float) color.getBlue();
+                          #        float denominator = 255.0;
+                          #        Color.Builder resultBuilder =
+                          #            Color
+                          #                .newBuilder()
+                          #                .setRed(red / denominator)
+                          #                .setGreen(green / denominator)
+                          #                .setBlue(blue / denominator);
+                          #        int alpha = color.getAlpha();
+                          #        if (alpha != 255) {
+                          #          result.setAlpha(
+                          #              FloatValue
+                          #                  .newBuilder()
+                          #                  .setValue(((float) alpha) / denominator)
+                          #                  .build());
+                          #        }
+                          #        return resultBuilder.build();
+                          #      }
+                          #      // ...
+                          #
+                          # Example (iOS / Obj-C):
+                          #
+                          #      // ...
+                          #      static UIColor* fromProto(Color* protocolor) {
+                          #         float red = [protocolor red];
+                          #         float green = [protocolor green];
+                          #         float blue = [protocolor blue];
+                          #         FloatValue* alpha_wrapper = [protocolor alpha];
+                          #         float alpha = 1.0;
+                          #         if (alpha_wrapper != nil) {
+                          #           alpha = [alpha_wrapper value];
+                          #         }
+                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                          #      }
+                          #
+                          #      static Color* toProto(UIColor* color) {
+                          #          CGFloat red, green, blue, alpha;
+                          #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                          #            return nil;
+                          #          }
+                          #          Color* result = [Color alloc] init];
+                          #          [result setRed:red];
+                          #          [result setGreen:green];
+                          #          [result setBlue:blue];
+                          #          if (alpha <= 0.9999) {
+                          #            [result setAlpha:floatWrapperWithValue(alpha)];
+                          #          }
+                          #          [result autorelease];
+                          #          return result;
+                          #     }
+                          #     // ...
+                          #
+                          #  Example (JavaScript):
+                          #
+                          #     // ...
+                          #
+                          #     var protoToCssColor = function(rgb_color) {
+                          #        var redFrac = rgb_color.red || 0.0;
+                          #        var greenFrac = rgb_color.green || 0.0;
+                          #        var blueFrac = rgb_color.blue || 0.0;
+                          #        var red = Math.floor(redFrac * 255);
+                          #        var green = Math.floor(greenFrac * 255);
+                          #        var blue = Math.floor(blueFrac * 255);
+                          #
+                          #        if (!('alpha' in rgb_color)) {
+                          #           return rgbToCssColor_(red, green, blue);
+                          #        }
+                          #
+                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                          #        var rgbParams = [red, green, blue].join(',');
+                          #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                          #     };
+                          #
+                          #     var rgbToCssColor_ = function(red, green, blue) {
+                          #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                          #       var hexString = rgbNumber.toString(16);
+                          #       var missingZeros = 6 - hexString.length;
+                          #       var resultBuilder = ['#'];
+                          #       for (var i = 0; i < missingZeros; i++) {
+                          #          resultBuilder.push('0');
+                          #       }
+                          #       resultBuilder.push(hexString);
+                          #       return resultBuilder.join('');
+                          #     };
+                          #
+                          #     // ...
+                        "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                        "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                            # the final pixel color is defined by the equation:
+                            #
+                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                            #
+                            # This means that a value of 1.0 corresponds to a solid color, whereas
+                            # a value of 0.0 corresponds to a completely transparent color. This
+                            # uses a wrapper message rather than a simple float scalar so that it is
+                            # possible to distinguish between a default value and the value being unset.
+                            # If omitted, this color object is to be rendered as a solid color
+                            # (as if the alpha value had been explicitly given with a value of 1.0).
+                        "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      },
+                      "bold": True or False, # True if the text is bold.
+                      "strikethrough": True or False, # True if the text has a strikethrough.
+                      "fontFamily": "A String", # The font family.
+                      "fontSize": 42, # The size of the font.
+                      "italic": True or False, # True if the text is italicized.
+                      "underline": True or False, # True if the text is underlined.
+                    },
+                    "hyperlinkDisplayType": "A String", # How a hyperlink, if it exists, should be displayed in the cell.
+                    "borders": { # The borders of the cell. # The borders of the cell.
+                      "top": { # A border along a cell. # The top border of the cell.
+                        "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                            # for simplicity of conversion to/from color representations in various
+                            # languages over compactness; for example, the fields of this representation
+                            # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                            # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                            # method in iOS; and, with just a little work, it can be easily formatted into
+                            # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                            #
+                            # Example (Java):
+                            #
+                            #      import com.google.type.Color;
+                            #
+                            #      // ...
+                            #      public static java.awt.Color fromProto(Color protocolor) {
+                            #        float alpha = protocolor.hasAlpha()
+                            #            ? protocolor.getAlpha().getValue()
+                            #            : 1.0;
+                            #
+                            #        return new java.awt.Color(
+                            #            protocolor.getRed(),
+                            #            protocolor.getGreen(),
+                            #            protocolor.getBlue(),
+                            #            alpha);
+                            #      }
+                            #
+                            #      public static Color toProto(java.awt.Color color) {
+                            #        float red = (float) color.getRed();
+                            #        float green = (float) color.getGreen();
+                            #        float blue = (float) color.getBlue();
+                            #        float denominator = 255.0;
+                            #        Color.Builder resultBuilder =
+                            #            Color
+                            #                .newBuilder()
+                            #                .setRed(red / denominator)
+                            #                .setGreen(green / denominator)
+                            #                .setBlue(blue / denominator);
+                            #        int alpha = color.getAlpha();
+                            #        if (alpha != 255) {
+                            #          result.setAlpha(
+                            #              FloatValue
+                            #                  .newBuilder()
+                            #                  .setValue(((float) alpha) / denominator)
+                            #                  .build());
+                            #        }
+                            #        return resultBuilder.build();
+                            #      }
+                            #      // ...
+                            #
+                            # Example (iOS / Obj-C):
+                            #
+                            #      // ...
+                            #      static UIColor* fromProto(Color* protocolor) {
+                            #         float red = [protocolor red];
+                            #         float green = [protocolor green];
+                            #         float blue = [protocolor blue];
+                            #         FloatValue* alpha_wrapper = [protocolor alpha];
+                            #         float alpha = 1.0;
+                            #         if (alpha_wrapper != nil) {
+                            #           alpha = [alpha_wrapper value];
+                            #         }
+                            #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                            #      }
+                            #
+                            #      static Color* toProto(UIColor* color) {
+                            #          CGFloat red, green, blue, alpha;
+                            #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                            #            return nil;
+                            #          }
+                            #          Color* result = [Color alloc] init];
+                            #          [result setRed:red];
+                            #          [result setGreen:green];
+                            #          [result setBlue:blue];
+                            #          if (alpha <= 0.9999) {
+                            #            [result setAlpha:floatWrapperWithValue(alpha)];
+                            #          }
+                            #          [result autorelease];
+                            #          return result;
+                            #     }
+                            #     // ...
+                            #
+                            #  Example (JavaScript):
+                            #
+                            #     // ...
+                            #
+                            #     var protoToCssColor = function(rgb_color) {
+                            #        var redFrac = rgb_color.red || 0.0;
+                            #        var greenFrac = rgb_color.green || 0.0;
+                            #        var blueFrac = rgb_color.blue || 0.0;
+                            #        var red = Math.floor(redFrac * 255);
+                            #        var green = Math.floor(greenFrac * 255);
+                            #        var blue = Math.floor(blueFrac * 255);
+                            #
+                            #        if (!('alpha' in rgb_color)) {
+                            #           return rgbToCssColor_(red, green, blue);
+                            #        }
+                            #
+                            #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                            #        var rgbParams = [red, green, blue].join(',');
+                            #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                            #     };
+                            #
+                            #     var rgbToCssColor_ = function(red, green, blue) {
+                            #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                            #       var hexString = rgbNumber.toString(16);
+                            #       var missingZeros = 6 - hexString.length;
+                            #       var resultBuilder = ['#'];
+                            #       for (var i = 0; i < missingZeros; i++) {
+                            #          resultBuilder.push('0');
+                            #       }
+                            #       resultBuilder.push(hexString);
+                            #       return resultBuilder.join('');
+                            #     };
+                            #
+                            #     // ...
+                          "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                          "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                              # the final pixel color is defined by the equation:
+                              #
+                              #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                              #
+                              # This means that a value of 1.0 corresponds to a solid color, whereas
+                              # a value of 0.0 corresponds to a completely transparent color. This
+                              # uses a wrapper message rather than a simple float scalar so that it is
+                              # possible to distinguish between a default value and the value being unset.
+                              # If omitted, this color object is to be rendered as a solid color
+                              # (as if the alpha value had been explicitly given with a value of 1.0).
+                          "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        },
+                        "width": 42, # The width of the border, in pixels.
+                            # Border widths must be between 0 and 3 pixels.
+                        "style": "A String", # The style of the border.
+                      },
+                      "right": { # A border along a cell. # The right border of the cell.
+                        "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                            # for simplicity of conversion to/from color representations in various
+                            # languages over compactness; for example, the fields of this representation
+                            # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                            # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                            # method in iOS; and, with just a little work, it can be easily formatted into
+                            # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                            #
+                            # Example (Java):
+                            #
+                            #      import com.google.type.Color;
+                            #
+                            #      // ...
+                            #      public static java.awt.Color fromProto(Color protocolor) {
+                            #        float alpha = protocolor.hasAlpha()
+                            #            ? protocolor.getAlpha().getValue()
+                            #            : 1.0;
+                            #
+                            #        return new java.awt.Color(
+                            #            protocolor.getRed(),
+                            #            protocolor.getGreen(),
+                            #            protocolor.getBlue(),
+                            #            alpha);
+                            #      }
+                            #
+                            #      public static Color toProto(java.awt.Color color) {
+                            #        float red = (float) color.getRed();
+                            #        float green = (float) color.getGreen();
+                            #        float blue = (float) color.getBlue();
+                            #        float denominator = 255.0;
+                            #        Color.Builder resultBuilder =
+                            #            Color
+                            #                .newBuilder()
+                            #                .setRed(red / denominator)
+                            #                .setGreen(green / denominator)
+                            #                .setBlue(blue / denominator);
+                            #        int alpha = color.getAlpha();
+                            #        if (alpha != 255) {
+                            #          result.setAlpha(
+                            #              FloatValue
+                            #                  .newBuilder()
+                            #                  .setValue(((float) alpha) / denominator)
+                            #                  .build());
+                            #        }
+                            #        return resultBuilder.build();
+                            #      }
+                            #      // ...
+                            #
+                            # Example (iOS / Obj-C):
+                            #
+                            #      // ...
+                            #      static UIColor* fromProto(Color* protocolor) {
+                            #         float red = [protocolor red];
+                            #         float green = [protocolor green];
+                            #         float blue = [protocolor blue];
+                            #         FloatValue* alpha_wrapper = [protocolor alpha];
+                            #         float alpha = 1.0;
+                            #         if (alpha_wrapper != nil) {
+                            #           alpha = [alpha_wrapper value];
+                            #         }
+                            #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                            #      }
+                            #
+                            #      static Color* toProto(UIColor* color) {
+                            #          CGFloat red, green, blue, alpha;
+                            #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                            #            return nil;
+                            #          }
+                            #          Color* result = [Color alloc] init];
+                            #          [result setRed:red];
+                            #          [result setGreen:green];
+                            #          [result setBlue:blue];
+                            #          if (alpha <= 0.9999) {
+                            #            [result setAlpha:floatWrapperWithValue(alpha)];
+                            #          }
+                            #          [result autorelease];
+                            #          return result;
+                            #     }
+                            #     // ...
+                            #
+                            #  Example (JavaScript):
+                            #
+                            #     // ...
+                            #
+                            #     var protoToCssColor = function(rgb_color) {
+                            #        var redFrac = rgb_color.red || 0.0;
+                            #        var greenFrac = rgb_color.green || 0.0;
+                            #        var blueFrac = rgb_color.blue || 0.0;
+                            #        var red = Math.floor(redFrac * 255);
+                            #        var green = Math.floor(greenFrac * 255);
+                            #        var blue = Math.floor(blueFrac * 255);
+                            #
+                            #        if (!('alpha' in rgb_color)) {
+                            #           return rgbToCssColor_(red, green, blue);
+                            #        }
+                            #
+                            #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                            #        var rgbParams = [red, green, blue].join(',');
+                            #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                            #     };
+                            #
+                            #     var rgbToCssColor_ = function(red, green, blue) {
+                            #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                            #       var hexString = rgbNumber.toString(16);
+                            #       var missingZeros = 6 - hexString.length;
+                            #       var resultBuilder = ['#'];
+                            #       for (var i = 0; i < missingZeros; i++) {
+                            #          resultBuilder.push('0');
+                            #       }
+                            #       resultBuilder.push(hexString);
+                            #       return resultBuilder.join('');
+                            #     };
+                            #
+                            #     // ...
+                          "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                          "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                              # the final pixel color is defined by the equation:
+                              #
+                              #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                              #
+                              # This means that a value of 1.0 corresponds to a solid color, whereas
+                              # a value of 0.0 corresponds to a completely transparent color. This
+                              # uses a wrapper message rather than a simple float scalar so that it is
+                              # possible to distinguish between a default value and the value being unset.
+                              # If omitted, this color object is to be rendered as a solid color
+                              # (as if the alpha value had been explicitly given with a value of 1.0).
+                          "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        },
+                        "width": 42, # The width of the border, in pixels.
+                            # Border widths must be between 0 and 3 pixels.
+                        "style": "A String", # The style of the border.
+                      },
+                      "bottom": { # A border along a cell. # The bottom border of the cell.
+                        "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                            # for simplicity of conversion to/from color representations in various
+                            # languages over compactness; for example, the fields of this representation
+                            # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                            # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                            # method in iOS; and, with just a little work, it can be easily formatted into
+                            # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                            #
+                            # Example (Java):
+                            #
+                            #      import com.google.type.Color;
+                            #
+                            #      // ...
+                            #      public static java.awt.Color fromProto(Color protocolor) {
+                            #        float alpha = protocolor.hasAlpha()
+                            #            ? protocolor.getAlpha().getValue()
+                            #            : 1.0;
+                            #
+                            #        return new java.awt.Color(
+                            #            protocolor.getRed(),
+                            #            protocolor.getGreen(),
+                            #            protocolor.getBlue(),
+                            #            alpha);
+                            #      }
+                            #
+                            #      public static Color toProto(java.awt.Color color) {
+                            #        float red = (float) color.getRed();
+                            #        float green = (float) color.getGreen();
+                            #        float blue = (float) color.getBlue();
+                            #        float denominator = 255.0;
+                            #        Color.Builder resultBuilder =
+                            #            Color
+                            #                .newBuilder()
+                            #                .setRed(red / denominator)
+                            #                .setGreen(green / denominator)
+                            #                .setBlue(blue / denominator);
+                            #        int alpha = color.getAlpha();
+                            #        if (alpha != 255) {
+                            #          result.setAlpha(
+                            #              FloatValue
+                            #                  .newBuilder()
+                            #                  .setValue(((float) alpha) / denominator)
+                            #                  .build());
+                            #        }
+                            #        return resultBuilder.build();
+                            #      }
+                            #      // ...
+                            #
+                            # Example (iOS / Obj-C):
+                            #
+                            #      // ...
+                            #      static UIColor* fromProto(Color* protocolor) {
+                            #         float red = [protocolor red];
+                            #         float green = [protocolor green];
+                            #         float blue = [protocolor blue];
+                            #         FloatValue* alpha_wrapper = [protocolor alpha];
+                            #         float alpha = 1.0;
+                            #         if (alpha_wrapper != nil) {
+                            #           alpha = [alpha_wrapper value];
+                            #         }
+                            #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                            #      }
+                            #
+                            #      static Color* toProto(UIColor* color) {
+                            #          CGFloat red, green, blue, alpha;
+                            #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                            #            return nil;
+                            #          }
+                            #          Color* result = [Color alloc] init];
+                            #          [result setRed:red];
+                            #          [result setGreen:green];
+                            #          [result setBlue:blue];
+                            #          if (alpha <= 0.9999) {
+                            #            [result setAlpha:floatWrapperWithValue(alpha)];
+                            #          }
+                            #          [result autorelease];
+                            #          return result;
+                            #     }
+                            #     // ...
+                            #
+                            #  Example (JavaScript):
+                            #
+                            #     // ...
+                            #
+                            #     var protoToCssColor = function(rgb_color) {
+                            #        var redFrac = rgb_color.red || 0.0;
+                            #        var greenFrac = rgb_color.green || 0.0;
+                            #        var blueFrac = rgb_color.blue || 0.0;
+                            #        var red = Math.floor(redFrac * 255);
+                            #        var green = Math.floor(greenFrac * 255);
+                            #        var blue = Math.floor(blueFrac * 255);
+                            #
+                            #        if (!('alpha' in rgb_color)) {
+                            #           return rgbToCssColor_(red, green, blue);
+                            #        }
+                            #
+                            #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                            #        var rgbParams = [red, green, blue].join(',');
+                            #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                            #     };
+                            #
+                            #     var rgbToCssColor_ = function(red, green, blue) {
+                            #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                            #       var hexString = rgbNumber.toString(16);
+                            #       var missingZeros = 6 - hexString.length;
+                            #       var resultBuilder = ['#'];
+                            #       for (var i = 0; i < missingZeros; i++) {
+                            #          resultBuilder.push('0');
+                            #       }
+                            #       resultBuilder.push(hexString);
+                            #       return resultBuilder.join('');
+                            #     };
+                            #
+                            #     // ...
+                          "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                          "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                              # the final pixel color is defined by the equation:
+                              #
+                              #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                              #
+                              # This means that a value of 1.0 corresponds to a solid color, whereas
+                              # a value of 0.0 corresponds to a completely transparent color. This
+                              # uses a wrapper message rather than a simple float scalar so that it is
+                              # possible to distinguish between a default value and the value being unset.
+                              # If omitted, this color object is to be rendered as a solid color
+                              # (as if the alpha value had been explicitly given with a value of 1.0).
+                          "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        },
+                        "width": 42, # The width of the border, in pixels.
+                            # Border widths must be between 0 and 3 pixels.
+                        "style": "A String", # The style of the border.
+                      },
+                      "left": { # A border along a cell. # The left border of the cell.
+                        "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                            # for simplicity of conversion to/from color representations in various
+                            # languages over compactness; for example, the fields of this representation
+                            # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                            # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                            # method in iOS; and, with just a little work, it can be easily formatted into
+                            # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                            #
+                            # Example (Java):
+                            #
+                            #      import com.google.type.Color;
+                            #
+                            #      // ...
+                            #      public static java.awt.Color fromProto(Color protocolor) {
+                            #        float alpha = protocolor.hasAlpha()
+                            #            ? protocolor.getAlpha().getValue()
+                            #            : 1.0;
+                            #
+                            #        return new java.awt.Color(
+                            #            protocolor.getRed(),
+                            #            protocolor.getGreen(),
+                            #            protocolor.getBlue(),
+                            #            alpha);
+                            #      }
+                            #
+                            #      public static Color toProto(java.awt.Color color) {
+                            #        float red = (float) color.getRed();
+                            #        float green = (float) color.getGreen();
+                            #        float blue = (float) color.getBlue();
+                            #        float denominator = 255.0;
+                            #        Color.Builder resultBuilder =
+                            #            Color
+                            #                .newBuilder()
+                            #                .setRed(red / denominator)
+                            #                .setGreen(green / denominator)
+                            #                .setBlue(blue / denominator);
+                            #        int alpha = color.getAlpha();
+                            #        if (alpha != 255) {
+                            #          result.setAlpha(
+                            #              FloatValue
+                            #                  .newBuilder()
+                            #                  .setValue(((float) alpha) / denominator)
+                            #                  .build());
+                            #        }
+                            #        return resultBuilder.build();
+                            #      }
+                            #      // ...
+                            #
+                            # Example (iOS / Obj-C):
+                            #
+                            #      // ...
+                            #      static UIColor* fromProto(Color* protocolor) {
+                            #         float red = [protocolor red];
+                            #         float green = [protocolor green];
+                            #         float blue = [protocolor blue];
+                            #         FloatValue* alpha_wrapper = [protocolor alpha];
+                            #         float alpha = 1.0;
+                            #         if (alpha_wrapper != nil) {
+                            #           alpha = [alpha_wrapper value];
+                            #         }
+                            #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                            #      }
+                            #
+                            #      static Color* toProto(UIColor* color) {
+                            #          CGFloat red, green, blue, alpha;
+                            #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                            #            return nil;
+                            #          }
+                            #          Color* result = [Color alloc] init];
+                            #          [result setRed:red];
+                            #          [result setGreen:green];
+                            #          [result setBlue:blue];
+                            #          if (alpha <= 0.9999) {
+                            #            [result setAlpha:floatWrapperWithValue(alpha)];
+                            #          }
+                            #          [result autorelease];
+                            #          return result;
+                            #     }
+                            #     // ...
+                            #
+                            #  Example (JavaScript):
+                            #
+                            #     // ...
+                            #
+                            #     var protoToCssColor = function(rgb_color) {
+                            #        var redFrac = rgb_color.red || 0.0;
+                            #        var greenFrac = rgb_color.green || 0.0;
+                            #        var blueFrac = rgb_color.blue || 0.0;
+                            #        var red = Math.floor(redFrac * 255);
+                            #        var green = Math.floor(greenFrac * 255);
+                            #        var blue = Math.floor(blueFrac * 255);
+                            #
+                            #        if (!('alpha' in rgb_color)) {
+                            #           return rgbToCssColor_(red, green, blue);
+                            #        }
+                            #
+                            #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                            #        var rgbParams = [red, green, blue].join(',');
+                            #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                            #     };
+                            #
+                            #     var rgbToCssColor_ = function(red, green, blue) {
+                            #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                            #       var hexString = rgbNumber.toString(16);
+                            #       var missingZeros = 6 - hexString.length;
+                            #       var resultBuilder = ['#'];
+                            #       for (var i = 0; i < missingZeros; i++) {
+                            #          resultBuilder.push('0');
+                            #       }
+                            #       resultBuilder.push(hexString);
+                            #       return resultBuilder.join('');
+                            #     };
+                            #
+                            #     // ...
+                          "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                          "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                              # the final pixel color is defined by the equation:
+                              #
+                              #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                              #
+                              # This means that a value of 1.0 corresponds to a solid color, whereas
+                              # a value of 0.0 corresponds to a completely transparent color. This
+                              # uses a wrapper message rather than a simple float scalar so that it is
+                              # possible to distinguish between a default value and the value being unset.
+                              # If omitted, this color object is to be rendered as a solid color
+                              # (as if the alpha value had been explicitly given with a value of 1.0).
+                          "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        },
+                        "width": 42, # The width of the border, in pixels.
+                            # Border widths must be between 0 and 3 pixels.
+                        "style": "A String", # The style of the border.
+                      },
+                    },
+                    "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
+                  },
+                  "dataValidation": { # A data validation rule. # A data validation rule on the cell, if any.
+                      #
+                      # When writing, the new data validation rule will overwrite any prior rule.
+                    "showCustomUi": True or False, # True if the UI should be customized based on the kind of condition.
+                        # If true, "List" conditions will show a dropdown.
+                    "strict": True or False, # True if invalid data should be rejected.
+                    "inputMessage": "A String", # A message to show the user when adding data to the cell.
+                    "condition": { # A condition that can evaluate to true or false. # The condition that data in the cell must match.
+                        # BooleanConditions are used by conditional formatting,
+                        # data validation, and the criteria in filters.
+                      "type": "A String", # The type of condition.
+                      "values": [ # The values of the condition. The number of supported values depends
+                          # on the condition type.  Some support zero values,
+                          # others one or two values,
+                          # and ConditionType.ONE_OF_LIST supports an arbitrary number of values.
+                        { # The value of the condition.
+                          "relativeDate": "A String", # A relative date (based on the current date).
+                              # Valid only if the type is
+                              # DATE_BEFORE,
+                              # DATE_AFTER,
+                              # DATE_ON_OR_BEFORE or
+                              # DATE_ON_OR_AFTER.
+                              #
+                              # Relative dates are not supported in data validation.
+                              # They are supported only in conditional formatting and
+                              # conditional filters.
+                          "userEnteredValue": "A String", # A value the condition is based on.
+                              # The value will be parsed as if the user typed into a cell.
+                              # Formulas are supported (and must begin with an `=`).
+                        },
+                      ],
+                    },
+                  },
+                  "textFormatRuns": [ # Runs of rich text applied to subsections of the cell.
+                      # Runs start at specific indexes in the text and continue until the next
+                      # run. Properties of a run will continue unless explicitly changed
+                      # in a subsequent run (and properties of the first run will continue
+                      # the properties of the cell unless explicitly changed).
+                      #
+                      # When writing, the new runs will overwrite any prior runs.
+                    { # A run of a text format. The format of this run continues until explicitly
+                        # overridden in the next run.
+                        # When updating, all fields must be set.
+                      "startIndex": 42, # The character index where this run starts.
+                      "format": { # The format of a run of text in a cell. # The format of this run.  Absent values inherit the cell's format.
+                          # Absent values indicate that the field isn't specified.
+                        "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
+                            # for simplicity of conversion to/from color representations in various
+                            # languages over compactness; for example, the fields of this representation
+                            # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                            # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                            # method in iOS; and, with just a little work, it can be easily formatted into
+                            # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                            #
+                            # Example (Java):
+                            #
+                            #      import com.google.type.Color;
+                            #
+                            #      // ...
+                            #      public static java.awt.Color fromProto(Color protocolor) {
+                            #        float alpha = protocolor.hasAlpha()
+                            #            ? protocolor.getAlpha().getValue()
+                            #            : 1.0;
+                            #
+                            #        return new java.awt.Color(
+                            #            protocolor.getRed(),
+                            #            protocolor.getGreen(),
+                            #            protocolor.getBlue(),
+                            #            alpha);
+                            #      }
+                            #
+                            #      public static Color toProto(java.awt.Color color) {
+                            #        float red = (float) color.getRed();
+                            #        float green = (float) color.getGreen();
+                            #        float blue = (float) color.getBlue();
+                            #        float denominator = 255.0;
+                            #        Color.Builder resultBuilder =
+                            #            Color
+                            #                .newBuilder()
+                            #                .setRed(red / denominator)
+                            #                .setGreen(green / denominator)
+                            #                .setBlue(blue / denominator);
+                            #        int alpha = color.getAlpha();
+                            #        if (alpha != 255) {
+                            #          result.setAlpha(
+                            #              FloatValue
+                            #                  .newBuilder()
+                            #                  .setValue(((float) alpha) / denominator)
+                            #                  .build());
+                            #        }
+                            #        return resultBuilder.build();
+                            #      }
+                            #      // ...
+                            #
+                            # Example (iOS / Obj-C):
+                            #
+                            #      // ...
+                            #      static UIColor* fromProto(Color* protocolor) {
+                            #         float red = [protocolor red];
+                            #         float green = [protocolor green];
+                            #         float blue = [protocolor blue];
+                            #         FloatValue* alpha_wrapper = [protocolor alpha];
+                            #         float alpha = 1.0;
+                            #         if (alpha_wrapper != nil) {
+                            #           alpha = [alpha_wrapper value];
+                            #         }
+                            #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                            #      }
+                            #
+                            #      static Color* toProto(UIColor* color) {
+                            #          CGFloat red, green, blue, alpha;
+                            #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                            #            return nil;
+                            #          }
+                            #          Color* result = [Color alloc] init];
+                            #          [result setRed:red];
+                            #          [result setGreen:green];
+                            #          [result setBlue:blue];
+                            #          if (alpha <= 0.9999) {
+                            #            [result setAlpha:floatWrapperWithValue(alpha)];
+                            #          }
+                            #          [result autorelease];
+                            #          return result;
+                            #     }
+                            #     // ...
+                            #
+                            #  Example (JavaScript):
+                            #
+                            #     // ...
+                            #
+                            #     var protoToCssColor = function(rgb_color) {
+                            #        var redFrac = rgb_color.red || 0.0;
+                            #        var greenFrac = rgb_color.green || 0.0;
+                            #        var blueFrac = rgb_color.blue || 0.0;
+                            #        var red = Math.floor(redFrac * 255);
+                            #        var green = Math.floor(greenFrac * 255);
+                            #        var blue = Math.floor(blueFrac * 255);
+                            #
+                            #        if (!('alpha' in rgb_color)) {
+                            #           return rgbToCssColor_(red, green, blue);
+                            #        }
+                            #
+                            #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                            #        var rgbParams = [red, green, blue].join(',');
+                            #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                            #     };
+                            #
+                            #     var rgbToCssColor_ = function(red, green, blue) {
+                            #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                            #       var hexString = rgbNumber.toString(16);
+                            #       var missingZeros = 6 - hexString.length;
+                            #       var resultBuilder = ['#'];
+                            #       for (var i = 0; i < missingZeros; i++) {
+                            #          resultBuilder.push('0');
+                            #       }
+                            #       resultBuilder.push(hexString);
+                            #       return resultBuilder.join('');
+                            #     };
+                            #
+                            #     // ...
+                          "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                          "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                              # the final pixel color is defined by the equation:
+                              #
+                              #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                              #
+                              # This means that a value of 1.0 corresponds to a solid color, whereas
+                              # a value of 0.0 corresponds to a completely transparent color. This
+                              # uses a wrapper message rather than a simple float scalar so that it is
+                              # possible to distinguish between a default value and the value being unset.
+                              # If omitted, this color object is to be rendered as a solid color
+                              # (as if the alpha value had been explicitly given with a value of 1.0).
+                          "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        },
+                        "bold": True or False, # True if the text is bold.
+                        "strikethrough": True or False, # True if the text has a strikethrough.
+                        "fontFamily": "A String", # The font family.
+                        "fontSize": 42, # The size of the font.
+                        "italic": True or False, # True if the text is italicized.
+                        "underline": True or False, # True if the text is underlined.
+                      },
+                    },
+                  ],
+                },
+              ],
+            },
+          ],
+          "sheetId": 42, # The sheet ID to append the data to.
+        },
+        "duplicateSheet": { # Duplicates the contents of a sheet. # Duplicates a sheet.
+          "sourceSheetId": 42, # The sheet to duplicate.
+          "insertSheetIndex": 42, # The zero-based index where the new sheet should be inserted.
+              # The index of all sheets after this are incremented.
+          "newSheetName": "A String", # The name of the new sheet.  If empty, a new name is chosen for you.
+          "newSheetId": 42, # If set, the ID of the new sheet. If not set, an ID is chosen.
+              # If set, the ID must not conflict with any existing sheet ID.
+              # If set, it must be non-negative.
+        },
+        "updateSheetProperties": { # Updates properties of the sheet with the specified # Updates a sheet's properties.
+            # sheetId.
+            # It is an error to specify read only fields in the field mask.
+          "fields": "A String", # The fields that should be updated.  At least one field must be specified.
+              # The root `properties` is implied and should not be specified.
+              # A single `"*"` can be used as short-hand for listing every field.
+          "properties": { # Properties of a sheet. # The properties to update.
+            "sheetType": "A String", # The type of sheet. Defaults to GRID.
+                # This field cannot be changed once set.
+            "index": 42, # The index of the sheet within the spreadsheet.
+                # When adding or updating sheet properties, if this field
+                # is excluded then the sheet will be added or moved to the end
+                # of the sheet list.
+            "title": "A String", # The name of the sheet.
+            "gridProperties": { # Properties of a grid. # Additional properties of the sheet if this sheet is a grid.
+                # (If the sheet is an object sheet, containing a chart or image, then
+                # this field will be absent.)
+                # When writing it is an error to set any grid properties on non-grid sheets.
+              "columnCount": 42, # The number of columns in the grid.
+              "rowCount": 42, # The number of rows in the grid.
+              "frozenColumnCount": 42, # The number of columns that are frozen in the grid.
+              "hideGridlines": True or False, # True if the grid isn't showing gridlines in the UI.
+              "frozenRowCount": 42, # The number of rows that are frozen in the grid.
+            },
+            "rightToLeft": True or False, # True if the sheet is an RTL sheet instead of an LTR sheet.
+            "tabColor": { # Represents a color in the RGBA color space. This representation is designed # The color of the tab in the UI.
+                # for simplicity of conversion to/from color representations in various
+                # languages over compactness; for example, the fields of this representation
+                # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                # method in iOS; and, with just a little work, it can be easily formatted into
+                # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                #
+                # Example (Java):
+                #
+                #      import com.google.type.Color;
+                #
+                #      // ...
+                #      public static java.awt.Color fromProto(Color protocolor) {
+                #        float alpha = protocolor.hasAlpha()
+                #            ? protocolor.getAlpha().getValue()
+                #            : 1.0;
+                #
+                #        return new java.awt.Color(
+                #            protocolor.getRed(),
+                #            protocolor.getGreen(),
+                #            protocolor.getBlue(),
+                #            alpha);
+                #      }
+                #
+                #      public static Color toProto(java.awt.Color color) {
+                #        float red = (float) color.getRed();
+                #        float green = (float) color.getGreen();
+                #        float blue = (float) color.getBlue();
+                #        float denominator = 255.0;
+                #        Color.Builder resultBuilder =
+                #            Color
+                #                .newBuilder()
+                #                .setRed(red / denominator)
+                #                .setGreen(green / denominator)
+                #                .setBlue(blue / denominator);
+                #        int alpha = color.getAlpha();
+                #        if (alpha != 255) {
+                #          result.setAlpha(
+                #              FloatValue
+                #                  .newBuilder()
+                #                  .setValue(((float) alpha) / denominator)
+                #                  .build());
+                #        }
+                #        return resultBuilder.build();
+                #      }
+                #      // ...
+                #
+                # Example (iOS / Obj-C):
+                #
+                #      // ...
+                #      static UIColor* fromProto(Color* protocolor) {
+                #         float red = [protocolor red];
+                #         float green = [protocolor green];
+                #         float blue = [protocolor blue];
+                #         FloatValue* alpha_wrapper = [protocolor alpha];
+                #         float alpha = 1.0;
+                #         if (alpha_wrapper != nil) {
+                #           alpha = [alpha_wrapper value];
+                #         }
+                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                #      }
+                #
+                #      static Color* toProto(UIColor* color) {
+                #          CGFloat red, green, blue, alpha;
+                #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                #            return nil;
+                #          }
+                #          Color* result = [Color alloc] init];
+                #          [result setRed:red];
+                #          [result setGreen:green];
+                #          [result setBlue:blue];
+                #          if (alpha <= 0.9999) {
+                #            [result setAlpha:floatWrapperWithValue(alpha)];
+                #          }
+                #          [result autorelease];
+                #          return result;
+                #     }
+                #     // ...
+                #
+                #  Example (JavaScript):
+                #
+                #     // ...
+                #
+                #     var protoToCssColor = function(rgb_color) {
+                #        var redFrac = rgb_color.red || 0.0;
+                #        var greenFrac = rgb_color.green || 0.0;
+                #        var blueFrac = rgb_color.blue || 0.0;
+                #        var red = Math.floor(redFrac * 255);
+                #        var green = Math.floor(greenFrac * 255);
+                #        var blue = Math.floor(blueFrac * 255);
+                #
+                #        if (!('alpha' in rgb_color)) {
+                #           return rgbToCssColor_(red, green, blue);
+                #        }
+                #
+                #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                #        var rgbParams = [red, green, blue].join(',');
+                #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                #     };
+                #
+                #     var rgbToCssColor_ = function(red, green, blue) {
+                #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                #       var hexString = rgbNumber.toString(16);
+                #       var missingZeros = 6 - hexString.length;
+                #       var resultBuilder = ['#'];
+                #       for (var i = 0; i < missingZeros; i++) {
+                #          resultBuilder.push('0');
+                #       }
+                #       resultBuilder.push(hexString);
+                #       return resultBuilder.join('');
+                #     };
+                #
+                #     // ...
+              "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+              "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                  # the final pixel color is defined by the equation:
+                  #
+                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                  #
+                  # This means that a value of 1.0 corresponds to a solid color, whereas
+                  # a value of 0.0 corresponds to a completely transparent color. This
+                  # uses a wrapper message rather than a simple float scalar so that it is
+                  # possible to distinguish between a default value and the value being unset.
+                  # If omitted, this color object is to be rendered as a solid color
+                  # (as if the alpha value had been explicitly given with a value of 1.0).
+              "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+            },
+            "hidden": True or False, # True if the sheet is hidden in the UI, false if it's visible.
+            "sheetId": 42, # The ID of the sheet. Must be non-negative.
+                # This field cannot be changed once set.
+          },
+        },
+        "addChart": { # Adds a chart to a sheet in the spreadsheet. # Adds a chart.
+          "chart": { # A chart embedded in a sheet. # The chart that should be added to the spreadsheet, including the position
+              # where it should be placed.
+            "chartId": 42, # The ID of the chart.
+            "position": { # The position of an embedded object such as a chart. # The position of the chart.
+              "newSheet": True or False, # If true, the embedded object will be put on a new sheet whose ID
+                  # is chosen for you. Used only when writing.
+              "sheetId": 42, # The sheet this is on. Set only if the embedded object
+                  # is on its own sheet. Must be non-negative.
+              "overlayPosition": { # The location an object is overlaid on top of a grid. # The position the object is overlaid on top of a grid.
+                "anchorCell": { # A coordinate in a sheet. # The cell the object is anchored to.
+                    # All indexes are zero-based.
+                  "rowIndex": 42, # The row index of the coordinate.
+                  "columnIndex": 42, # The column index of the coordinate.
+                  "sheetId": 42, # The sheet this coordinate is on.
+                },
+                "offsetYPixels": 42, # The vertical offset, in pixels, that the object is offset
+                    # from the anchor cell.
+                "widthPixels": 42, # The width of the object, in pixels. Defaults to 600.
+                "offsetXPixels": 42, # The horizontal offset, in pixels, that the object is offset
+                    # from the anchor cell.
+                "heightPixels": 42, # The height of the object, in pixels. Defaults to 371.
+              },
+            },
+            "spec": { # The specifications of a chart. # The specification of the chart.
+              "hiddenDimensionStrategy": "A String", # Determines how the charts will use hidden rows or columns.
+                  # This value is only meaningful if the
+                  # ChartData.sourceRange
+                  # is used for a domain or series.
+              "pieChart": { # A pie chart. # A pie chart specification.
+                "series": { # The data included in a domain or series. # The data that covers the one and only series of the pie chart.
+                  "sourceRange": { # Source ranges for a chart. # The source ranges of the data.
+                    "sources": [ # The ranges of data for a series or domain.
+                        # Exactly one dimension must have a length of 1,
+                        # and all sources in the list must have the same dimension
+                        # with length 1.
+                        # The domain (if it exists) & all series must have the same number
+                        # of source ranges. If using more than one source range, then the source
+                        # range at a given offset must be contiguous across the domain and series.
+                        #
+                        # For example, these are valid configurations:
+                        #
+                        #     domain sources: A1:A5
+                        #     series1 sources: B1:B5
+                        #     series2 sources: D6:D10
+                        #
+                        #     domain sources: A1:A5, C10:C12
+                        #     series1 sources: B1:B5, D10:D12
+                        #     series2 sources: C1:C5, E10:E12
+                      { # A range on a sheet.
+                          # All indexes are zero-based.
+                          # Indexes are half open, e.g the start index is inclusive
+                          # and the end index is exclusive -- [start_index, end_index).
+                          # Missing indexes indicate the range is unbounded on that side.
+                          #
+                          # For example, if "Sheet1" is grid ID 0, then:
+                          #
+                          #   Sheet1!A1:A1 == sheet_id: 0,
+                          #                   start_row_index: 0, end_row_index: 1,
+                          #                   start_column_index: 0, end_column_index: 1
+                          #
+                          #   Sheet1!A3:B4 == sheet_id: 0,
+                          #                   start_row_index: 2, end_row_index: 4,
+                          #                   start_column_index: 0, end_column_index: 2
+                          #
+                          #   Sheet1!A:B == sheet_id: 0,
+                          #                 start_column_index: 0, end_column_index: 2
+                          #
+                          #   Sheet1!A5:B == sheet_id: 0,
+                          #                  start_row_index: 4,
+                          #                  start_column_index: 0, end_column_index: 2
+                          #
+                          #   Sheet1 == sheet_id:0
+                          #
+                          # The start index must always be less than or equal to the end index.
+                          # If the start index equals the end index, then the range is empty.
+                          # Empty ranges are typically not meaningful and are usually rendered in the
+                          # UI as `#REF!`.
+                        "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        "sheetId": 42, # The sheet this range is on.
+                        "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+                        "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                      },
+                    ],
+                  },
+                },
+                "domain": { # The data included in a domain or series. # The data that covers the domain of the pie chart.
+                  "sourceRange": { # Source ranges for a chart. # The source ranges of the data.
+                    "sources": [ # The ranges of data for a series or domain.
+                        # Exactly one dimension must have a length of 1,
+                        # and all sources in the list must have the same dimension
+                        # with length 1.
+                        # The domain (if it exists) & all series must have the same number
+                        # of source ranges. If using more than one source range, then the source
+                        # range at a given offset must be contiguous across the domain and series.
+                        #
+                        # For example, these are valid configurations:
+                        #
+                        #     domain sources: A1:A5
+                        #     series1 sources: B1:B5
+                        #     series2 sources: D6:D10
+                        #
+                        #     domain sources: A1:A5, C10:C12
+                        #     series1 sources: B1:B5, D10:D12
+                        #     series2 sources: C1:C5, E10:E12
+                      { # A range on a sheet.
+                          # All indexes are zero-based.
+                          # Indexes are half open, e.g the start index is inclusive
+                          # and the end index is exclusive -- [start_index, end_index).
+                          # Missing indexes indicate the range is unbounded on that side.
+                          #
+                          # For example, if "Sheet1" is grid ID 0, then:
+                          #
+                          #   Sheet1!A1:A1 == sheet_id: 0,
+                          #                   start_row_index: 0, end_row_index: 1,
+                          #                   start_column_index: 0, end_column_index: 1
+                          #
+                          #   Sheet1!A3:B4 == sheet_id: 0,
+                          #                   start_row_index: 2, end_row_index: 4,
+                          #                   start_column_index: 0, end_column_index: 2
+                          #
+                          #   Sheet1!A:B == sheet_id: 0,
+                          #                 start_column_index: 0, end_column_index: 2
+                          #
+                          #   Sheet1!A5:B == sheet_id: 0,
+                          #                  start_row_index: 4,
+                          #                  start_column_index: 0, end_column_index: 2
+                          #
+                          #   Sheet1 == sheet_id:0
+                          #
+                          # The start index must always be less than or equal to the end index.
+                          # If the start index equals the end index, then the range is empty.
+                          # Empty ranges are typically not meaningful and are usually rendered in the
+                          # UI as `#REF!`.
+                        "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        "sheetId": 42, # The sheet this range is on.
+                        "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+                        "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                      },
+                    ],
+                  },
+                },
+                "threeDimensional": True or False, # True if the pie is three dimensional.
+                "legendPosition": "A String", # Where the legend of the pie chart should be drawn.
+                "pieHole": 3.14, # The size of the hole in the pie chart.
+              },
+              "basicChart": { # The specification for a basic chart.  See BasicChartType for the list # A basic chart specification, can be one of many kinds of charts.
+                  # See BasicChartType for the list of all charts this supports.
+                  # of charts this supports.
+                "headerCount": 42, # The number of rows or columns in the data that are "headers".
+                    # If not set, Google Sheets will guess how many rows are headers based
+                    # on the data.
+                    #
+                    # (Note that BasicChartAxis.title may override the axis title
+                    #  inferred from the header values.)
+                "series": [ # The data this chart is visualizing.
+                  { # A single series of data in a chart.
+                      # For example, if charting stock prices over time, multiple series may exist,
+                      # one for the "Open Price", "High Price", "Low Price" and "Close Price".
+                    "series": { # The data included in a domain or series. # The data being visualized in this chart series.
+                      "sourceRange": { # Source ranges for a chart. # The source ranges of the data.
+                        "sources": [ # The ranges of data for a series or domain.
+                            # Exactly one dimension must have a length of 1,
+                            # and all sources in the list must have the same dimension
+                            # with length 1.
+                            # The domain (if it exists) & all series must have the same number
+                            # of source ranges. If using more than one source range, then the source
+                            # range at a given offset must be contiguous across the domain and series.
+                            #
+                            # For example, these are valid configurations:
+                            #
+                            #     domain sources: A1:A5
+                            #     series1 sources: B1:B5
+                            #     series2 sources: D6:D10
+                            #
+                            #     domain sources: A1:A5, C10:C12
+                            #     series1 sources: B1:B5, D10:D12
+                            #     series2 sources: C1:C5, E10:E12
+                          { # A range on a sheet.
+                              # All indexes are zero-based.
+                              # Indexes are half open, e.g the start index is inclusive
+                              # and the end index is exclusive -- [start_index, end_index).
+                              # Missing indexes indicate the range is unbounded on that side.
+                              #
+                              # For example, if "Sheet1" is grid ID 0, then:
+                              #
+                              #   Sheet1!A1:A1 == sheet_id: 0,
+                              #                   start_row_index: 0, end_row_index: 1,
+                              #                   start_column_index: 0, end_column_index: 1
+                              #
+                              #   Sheet1!A3:B4 == sheet_id: 0,
+                              #                   start_row_index: 2, end_row_index: 4,
+                              #                   start_column_index: 0, end_column_index: 2
+                              #
+                              #   Sheet1!A:B == sheet_id: 0,
+                              #                 start_column_index: 0, end_column_index: 2
+                              #
+                              #   Sheet1!A5:B == sheet_id: 0,
+                              #                  start_row_index: 4,
+                              #                  start_column_index: 0, end_column_index: 2
+                              #
+                              #   Sheet1 == sheet_id:0
+                              #
+                              # The start index must always be less than or equal to the end index.
+                              # If the start index equals the end index, then the range is empty.
+                              # Empty ranges are typically not meaningful and are usually rendered in the
+                              # UI as `#REF!`.
+                            "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+                            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                            "sheetId": 42, # The sheet this range is on.
+                            "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+                            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                          },
+                        ],
+                      },
+                    },
+                    "targetAxis": "A String", # The minor axis that will specify the range of values for this series.
+                        # For example, if charting stocks over time, the "Volume" series
+                        # may want to be pinned to the right with the prices pinned to the left,
+                        # because the scale of trading volume is different than the scale of
+                        # prices.
+                        # It is an error to specify an axis that isn't a valid minor axis
+                        # for the chart's type.
+                    "type": "A String", # The type of this series. Valid only if the
+                        # chartType is
+                        # COMBO.
+                        # Different types will change the way the series is visualized.
+                        # Only LINE, AREA,
+                        # and COLUMN are supported.
+                  },
+                ],
+                "legendPosition": "A String", # The position of the chart legend.
+                "domains": [ # The domain of data this is charting.
+                    # Only a single domain is currently supported.
+                  { # The domain of a chart.
+                      # For example, if charting stock prices over time, this would be the date.
+                    "domain": { # The data included in a domain or series. # The data of the domain. For example, if charting stock prices over time,
+                        # this be the data representing the dates.
+                      "sourceRange": { # Source ranges for a chart. # The source ranges of the data.
+                        "sources": [ # The ranges of data for a series or domain.
+                            # Exactly one dimension must have a length of 1,
+                            # and all sources in the list must have the same dimension
+                            # with length 1.
+                            # The domain (if it exists) & all series must have the same number
+                            # of source ranges. If using more than one source range, then the source
+                            # range at a given offset must be contiguous across the domain and series.
+                            #
+                            # For example, these are valid configurations:
+                            #
+                            #     domain sources: A1:A5
+                            #     series1 sources: B1:B5
+                            #     series2 sources: D6:D10
+                            #
+                            #     domain sources: A1:A5, C10:C12
+                            #     series1 sources: B1:B5, D10:D12
+                            #     series2 sources: C1:C5, E10:E12
+                          { # A range on a sheet.
+                              # All indexes are zero-based.
+                              # Indexes are half open, e.g the start index is inclusive
+                              # and the end index is exclusive -- [start_index, end_index).
+                              # Missing indexes indicate the range is unbounded on that side.
+                              #
+                              # For example, if "Sheet1" is grid ID 0, then:
+                              #
+                              #   Sheet1!A1:A1 == sheet_id: 0,
+                              #                   start_row_index: 0, end_row_index: 1,
+                              #                   start_column_index: 0, end_column_index: 1
+                              #
+                              #   Sheet1!A3:B4 == sheet_id: 0,
+                              #                   start_row_index: 2, end_row_index: 4,
+                              #                   start_column_index: 0, end_column_index: 2
+                              #
+                              #   Sheet1!A:B == sheet_id: 0,
+                              #                 start_column_index: 0, end_column_index: 2
+                              #
+                              #   Sheet1!A5:B == sheet_id: 0,
+                              #                  start_row_index: 4,
+                              #                  start_column_index: 0, end_column_index: 2
+                              #
+                              #   Sheet1 == sheet_id:0
+                              #
+                              # The start index must always be less than or equal to the end index.
+                              # If the start index equals the end index, then the range is empty.
+                              # Empty ranges are typically not meaningful and are usually rendered in the
+                              # UI as `#REF!`.
+                            "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+                            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                            "sheetId": 42, # The sheet this range is on.
+                            "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+                            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                          },
+                        ],
+                      },
+                    },
+                  },
+                ],
+                "chartType": "A String", # The type of the chart.
+                "axis": [ # The axis on the chart.
+                  { # An axis of the chart.
+                      # A chart may not have more than one axis per
+                      # axis position.
+                    "position": "A String", # The position of this axis.
+                    "format": { # The format of a run of text in a cell. # The format of the title.
+                        # Only valid if the axis is not associated with the domain.
+                        # Absent values indicate that the field isn't specified.
+                      "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
+                          # for simplicity of conversion to/from color representations in various
+                          # languages over compactness; for example, the fields of this representation
+                          # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                          # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                          # method in iOS; and, with just a little work, it can be easily formatted into
+                          # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                          #
+                          # Example (Java):
+                          #
+                          #      import com.google.type.Color;
+                          #
+                          #      // ...
+                          #      public static java.awt.Color fromProto(Color protocolor) {
+                          #        float alpha = protocolor.hasAlpha()
+                          #            ? protocolor.getAlpha().getValue()
+                          #            : 1.0;
+                          #
+                          #        return new java.awt.Color(
+                          #            protocolor.getRed(),
+                          #            protocolor.getGreen(),
+                          #            protocolor.getBlue(),
+                          #            alpha);
+                          #      }
+                          #
+                          #      public static Color toProto(java.awt.Color color) {
+                          #        float red = (float) color.getRed();
+                          #        float green = (float) color.getGreen();
+                          #        float blue = (float) color.getBlue();
+                          #        float denominator = 255.0;
+                          #        Color.Builder resultBuilder =
+                          #            Color
+                          #                .newBuilder()
+                          #                .setRed(red / denominator)
+                          #                .setGreen(green / denominator)
+                          #                .setBlue(blue / denominator);
+                          #        int alpha = color.getAlpha();
+                          #        if (alpha != 255) {
+                          #          result.setAlpha(
+                          #              FloatValue
+                          #                  .newBuilder()
+                          #                  .setValue(((float) alpha) / denominator)
+                          #                  .build());
+                          #        }
+                          #        return resultBuilder.build();
+                          #      }
+                          #      // ...
+                          #
+                          # Example (iOS / Obj-C):
+                          #
+                          #      // ...
+                          #      static UIColor* fromProto(Color* protocolor) {
+                          #         float red = [protocolor red];
+                          #         float green = [protocolor green];
+                          #         float blue = [protocolor blue];
+                          #         FloatValue* alpha_wrapper = [protocolor alpha];
+                          #         float alpha = 1.0;
+                          #         if (alpha_wrapper != nil) {
+                          #           alpha = [alpha_wrapper value];
+                          #         }
+                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                          #      }
+                          #
+                          #      static Color* toProto(UIColor* color) {
+                          #          CGFloat red, green, blue, alpha;
+                          #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                          #            return nil;
+                          #          }
+                          #          Color* result = [Color alloc] init];
+                          #          [result setRed:red];
+                          #          [result setGreen:green];
+                          #          [result setBlue:blue];
+                          #          if (alpha <= 0.9999) {
+                          #            [result setAlpha:floatWrapperWithValue(alpha)];
+                          #          }
+                          #          [result autorelease];
+                          #          return result;
+                          #     }
+                          #     // ...
+                          #
+                          #  Example (JavaScript):
+                          #
+                          #     // ...
+                          #
+                          #     var protoToCssColor = function(rgb_color) {
+                          #        var redFrac = rgb_color.red || 0.0;
+                          #        var greenFrac = rgb_color.green || 0.0;
+                          #        var blueFrac = rgb_color.blue || 0.0;
+                          #        var red = Math.floor(redFrac * 255);
+                          #        var green = Math.floor(greenFrac * 255);
+                          #        var blue = Math.floor(blueFrac * 255);
+                          #
+                          #        if (!('alpha' in rgb_color)) {
+                          #           return rgbToCssColor_(red, green, blue);
+                          #        }
+                          #
+                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                          #        var rgbParams = [red, green, blue].join(',');
+                          #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                          #     };
+                          #
+                          #     var rgbToCssColor_ = function(red, green, blue) {
+                          #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                          #       var hexString = rgbNumber.toString(16);
+                          #       var missingZeros = 6 - hexString.length;
+                          #       var resultBuilder = ['#'];
+                          #       for (var i = 0; i < missingZeros; i++) {
+                          #          resultBuilder.push('0');
+                          #       }
+                          #       resultBuilder.push(hexString);
+                          #       return resultBuilder.join('');
+                          #     };
+                          #
+                          #     // ...
+                        "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                        "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                            # the final pixel color is defined by the equation:
+                            #
+                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                            #
+                            # This means that a value of 1.0 corresponds to a solid color, whereas
+                            # a value of 0.0 corresponds to a completely transparent color. This
+                            # uses a wrapper message rather than a simple float scalar so that it is
+                            # possible to distinguish between a default value and the value being unset.
+                            # If omitted, this color object is to be rendered as a solid color
+                            # (as if the alpha value had been explicitly given with a value of 1.0).
+                        "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      },
+                      "bold": True or False, # True if the text is bold.
+                      "strikethrough": True or False, # True if the text has a strikethrough.
+                      "fontFamily": "A String", # The font family.
+                      "fontSize": 42, # The size of the font.
+                      "italic": True or False, # True if the text is italicized.
+                      "underline": True or False, # True if the text is underlined.
+                    },
+                    "title": "A String", # The title of this axis. If set, this overrides any title inferred
+                        # from headers of the data.
+                  },
+                ],
+              },
+              "title": "A String", # The title of the chart.
+            },
+          },
+        },
+        "addConditionalFormatRule": { # Adds a new conditional format rule at the given index. # Adds a new conditional format rule.
+            # All subsequent rules' indexes are incremented.
+          "index": 42, # The zero-based index where the rule should be inserted.
+          "rule": { # A rule describing a conditional format. # The rule to add.
+            "ranges": [ # The ranges that will be formatted if the condition is true.
+                # All the ranges must be on the same grid.
+              { # A range on a sheet.
+                  # All indexes are zero-based.
+                  # Indexes are half open, e.g the start index is inclusive
+                  # and the end index is exclusive -- [start_index, end_index).
+                  # Missing indexes indicate the range is unbounded on that side.
+                  #
+                  # For example, if "Sheet1" is grid ID 0, then:
+                  #
+                  #   Sheet1!A1:A1 == sheet_id: 0,
+                  #                   start_row_index: 0, end_row_index: 1,
+                  #                   start_column_index: 0, end_column_index: 1
+                  #
+                  #   Sheet1!A3:B4 == sheet_id: 0,
+                  #                   start_row_index: 2, end_row_index: 4,
+                  #                   start_column_index: 0, end_column_index: 2
+                  #
+                  #   Sheet1!A:B == sheet_id: 0,
+                  #                 start_column_index: 0, end_column_index: 2
+                  #
+                  #   Sheet1!A5:B == sheet_id: 0,
+                  #                  start_row_index: 4,
+                  #                  start_column_index: 0, end_column_index: 2
+                  #
+                  #   Sheet1 == sheet_id:0
+                  #
+                  # The start index must always be less than or equal to the end index.
+                  # If the start index equals the end index, then the range is empty.
+                  # Empty ranges are typically not meaningful and are usually rendered in the
+                  # UI as `#REF!`.
+                "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                "sheetId": 42, # The sheet this range is on.
+                "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+              },
+            ],
+            "booleanRule": { # A rule that may or may not match, depending on the condition. # The formatting is either "on" or "off" according to the rule.
+              "condition": { # A condition that can evaluate to true or false. # The condition of the rule. If the condition evaluates to true,
+                  # the format will be applied.
+                  # BooleanConditions are used by conditional formatting,
+                  # data validation, and the criteria in filters.
+                "type": "A String", # The type of condition.
+                "values": [ # The values of the condition. The number of supported values depends
+                    # on the condition type.  Some support zero values,
+                    # others one or two values,
+                    # and ConditionType.ONE_OF_LIST supports an arbitrary number of values.
+                  { # The value of the condition.
+                    "relativeDate": "A String", # A relative date (based on the current date).
+                        # Valid only if the type is
+                        # DATE_BEFORE,
+                        # DATE_AFTER,
+                        # DATE_ON_OR_BEFORE or
+                        # DATE_ON_OR_AFTER.
+                        #
+                        # Relative dates are not supported in data validation.
+                        # They are supported only in conditional formatting and
+                        # conditional filters.
+                    "userEnteredValue": "A String", # A value the condition is based on.
+                        # The value will be parsed as if the user typed into a cell.
+                        # Formulas are supported (and must begin with an `=`).
+                  },
+                ],
+              },
+              "format": { # The format of a cell. # The format to apply.
+                  # Conditional formatting can only apply a subset of formatting:
+                  # bold, italic,
+                  # strikethrough,
+                  # foreground color &
+                  # background color.
+                "numberFormat": { # The number format of a cell. # A format describing how number values should be represented to the user.
+                    # When updating, all fields must be set.
+                  "pattern": "A String", # Pattern string used for formatting.
+                  "type": "A String", # The type of the number format.
+                },
+                "textDirection": "A String", # The direction of the text in the cell.
+                "padding": { # The amount of padding around the cell, in pixels. # The padding of the cell.
+                    # When updating padding, every field must be specified.
+                  "top": 42, # The top padding of the cell.
+                  "right": 42, # The right padding of the cell.
+                  "bottom": 42, # The bottom padding of the cell.
+                  "left": 42, # The left padding of the cell.
+                },
+                "horizontalAlignment": "A String", # The horizontal alignment of the value in cell.
+                "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                    # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha <= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!('alpha' in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(',');
+                    #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = ['#'];
+                    #       for (var i = 0; i < missingZeros; i++) {
+                    #          resultBuilder.push('0');
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join('');
+                    #     };
+                    #
+                    #     // ...
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+                "verticalAlignment": "A String", # The vertical alignment of the value in cell.
+                "textFormat": { # The format of a run of text in a cell. # The format of the text in the cell (unless overridden by a format run).
+                    # Absent values indicate that the field isn't specified.
+                  "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                      # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha <= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!('alpha' in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(',');
+                      #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = ['#'];
+                      #       for (var i = 0; i < missingZeros; i++) {
+                      #          resultBuilder.push('0');
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join('');
+                      #     };
+                      #
+                      #     // ...
+                    "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                    "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  },
+                  "bold": True or False, # True if the text is bold.
+                  "strikethrough": True or False, # True if the text has a strikethrough.
+                  "fontFamily": "A String", # The font family.
+                  "fontSize": 42, # The size of the font.
+                  "italic": True or False, # True if the text is italicized.
+                  "underline": True or False, # True if the text is underlined.
+                },
+                "hyperlinkDisplayType": "A String", # How a hyperlink, if it exists, should be displayed in the cell.
+                "borders": { # The borders of the cell. # The borders of the cell.
+                  "top": { # A border along a cell. # The top border of the cell.
+                    "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                        # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha <= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!('alpha' in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(',');
+                        #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = ['#'];
+                        #       for (var i = 0; i < missingZeros; i++) {
+                        #          resultBuilder.push('0');
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join('');
+                        #     };
+                        #
+                        #     // ...
+                      "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                      "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    },
+                    "width": 42, # The width of the border, in pixels.
+                        # Border widths must be between 0 and 3 pixels.
+                    "style": "A String", # The style of the border.
+                  },
+                  "right": { # A border along a cell. # The right border of the cell.
+                    "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                        # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha <= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!('alpha' in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(',');
+                        #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = ['#'];
+                        #       for (var i = 0; i < missingZeros; i++) {
+                        #          resultBuilder.push('0');
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join('');
+                        #     };
+                        #
+                        #     // ...
+                      "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                      "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    },
+                    "width": 42, # The width of the border, in pixels.
+                        # Border widths must be between 0 and 3 pixels.
+                    "style": "A String", # The style of the border.
+                  },
+                  "bottom": { # A border along a cell. # The bottom border of the cell.
+                    "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                        # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha <= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!('alpha' in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(',');
+                        #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = ['#'];
+                        #       for (var i = 0; i < missingZeros; i++) {
+                        #          resultBuilder.push('0');
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join('');
+                        #     };
+                        #
+                        #     // ...
+                      "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                      "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    },
+                    "width": 42, # The width of the border, in pixels.
+                        # Border widths must be between 0 and 3 pixels.
+                    "style": "A String", # The style of the border.
+                  },
+                  "left": { # A border along a cell. # The left border of the cell.
+                    "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                        # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha <= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!('alpha' in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(',');
+                        #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = ['#'];
+                        #       for (var i = 0; i < missingZeros; i++) {
+                        #          resultBuilder.push('0');
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join('');
+                        #     };
+                        #
+                        #     // ...
+                      "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                      "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    },
+                    "width": 42, # The width of the border, in pixels.
+                        # Border widths must be between 0 and 3 pixels.
+                    "style": "A String", # The style of the border.
+                  },
+                },
+                "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
+              },
+            },
+            "gradientRule": { # A rule that applies a gradient color scale format, based on # The formatting will vary based on the gradients in the rule.
+                # the interpolation points listed. The format of a cell will vary
+                # based on its contents as compared to the values of the interpolation
+                # points.
+              "maxpoint": { # A single interpolation point a gradient conditional format. # The final interpolation point.
+                  # These pin the gradient color scale according to the color,
+                  # type and value chosen.
+                "color": { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                    # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha <= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!('alpha' in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(',');
+                    #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = ['#'];
+                    #       for (var i = 0; i < missingZeros; i++) {
+                    #          resultBuilder.push('0');
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join('');
+                    #     };
+                    #
+                    #     // ...
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+                "type": "A String", # How the value should be interpreted.
+                "value": "A String", # The value this interpolation point uses.  May be a formula.
+                    # Unused if type is MIN or
+                    # MAX.
+              },
+              "midpoint": { # A single interpolation point a gradient conditional format. # An optional midway interpolation point.
+                  # These pin the gradient color scale according to the color,
+                  # type and value chosen.
+                "color": { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                    # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha <= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!('alpha' in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(',');
+                    #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = ['#'];
+                    #       for (var i = 0; i < missingZeros; i++) {
+                    #          resultBuilder.push('0');
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join('');
+                    #     };
+                    #
+                    #     // ...
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+                "type": "A String", # How the value should be interpreted.
+                "value": "A String", # The value this interpolation point uses.  May be a formula.
+                    # Unused if type is MIN or
+                    # MAX.
+              },
+              "minpoint": { # A single interpolation point a gradient conditional format. # The starting interpolation point.
+                  # These pin the gradient color scale according to the color,
+                  # type and value chosen.
+                "color": { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                    # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha <= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!('alpha' in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(',');
+                    #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = ['#'];
+                    #       for (var i = 0; i < missingZeros; i++) {
+                    #          resultBuilder.push('0');
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join('');
+                    #     };
+                    #
+                    #     // ...
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+                "type": "A String", # How the value should be interpreted.
+                "value": "A String", # The value this interpolation point uses.  May be a formula.
+                    # Unused if type is MIN or
+                    # MAX.
+              },
+            },
+          },
+        },
+        "repeatCell": { # Updates all cells in the range to the values in the given Cell object. # Repeats a single cell across a range.
+            # Only the fields listed in the fields field are updated; others are
+            # unchanged.
+            #
+            # If writing a cell with a formula, the formula's ranges will automatically
+            # increment for each field in the range.
+            # For example, if writing a cell with formula `=A1` into range B2:C4,
+            # B2 would be `=A1`, B3 would be `=A2`, B4 would be `=A3`,
+            # C2 would be `=B1`, C3 would be `=B2`, C4 would be `=B3`.
+            #
+            # To keep the formula's ranges static, use the `$` indicator.
+            # For example, using the formula was `=$A$1`, neither
+            # the row nor column would increment.
+          "cell": { # Data about a specific cell. # The data to write.
+            "pivotTable": { # A pivot table. # A pivot table anchored at this cell. The size of pivot table itself
+                # is computed dynamically based on its data, grouping, filters, values,
+                # etc... Only the top-left cell of the pivot table contains the pivot table
+                # definition. The other cells will contain the calculated values of the
+                # results of the pivot in their effectiveValue fields.
+              "valueLayout": "A String", # Whether values should be listed horizontally (as columns)
+                  # or vertically (as rows).
+              "rows": [ # Each row grouping in the pivot table.
+                { # A single grouping (either row or column) in a pivot table.
+                  "showTotals": True or False, # True if the pivot table should include the totals for this grouping.
+                  "valueMetadata": [ # Metadata about values in the grouping.
+                    { # Metadata about a value in a pivot grouping.
+                      "collapsed": True or False, # True if the data corresponding to the value is collapsed.
+                      "value": { # The kinds of value that a cell in a spreadsheet can have. # The calculated value the metadata corresponds to.
+                          # (Note that formulaValue is not valid,
+                          #  because the values will be calculated.)
+                        "numberValue": 3.14, # Represents a double value.
+                            # Note: Dates, Times and DateTimes are represented as doubles in
+                            # "serial number" format.
+                        "boolValue": True or False, # Represents a boolean value.
+                        "formulaValue": "A String", # Represents a formula.
+                        "stringValue": "A String", # Represents a string value.
+                            # Leading single quotes are not included. For example, if the user typed
+                            # `'123` into the UI, this would be represented as a `stringValue` of
+                            # `"123"`.
+                        "errorValue": { # An error in a cell. # Represents an error.
+                            # This field is read-only.
+                          "message": "A String", # A message with more information about the error
+                              # (in the spreadsheet's locale).
+                          "type": "A String", # The type of error.
+                        },
+                      },
+                    },
+                  ],
+                  "valueBucket": { # Information about which values in a pivot group should be used for sorting. # The bucket of the opposite pivot group to sort by.
+                      # If not specified, sorting is alphabetical by this group's values.
+                    "buckets": [ # Determines the bucket from which values are chosen to sort.
+                        #
+                        # For example, in a pivot table with one row group & two column groups,
+                        # the row group can list up to two values. The first value corresponds
+                        # to a value within the first column group, and the second value
+                        # corresponds to a value in the second column group.  If no values
+                        # are listed, this would indicate that the row should be sorted according
+                        # to the "Grand Total" over the column groups. If a single value is listed,
+                        # this would correspond to using the "Total" of that bucket.
+                      { # The kinds of value that a cell in a spreadsheet can have.
+                        "numberValue": 3.14, # Represents a double value.
+                            # Note: Dates, Times and DateTimes are represented as doubles in
+                            # "serial number" format.
+                        "boolValue": True or False, # Represents a boolean value.
+                        "formulaValue": "A String", # Represents a formula.
+                        "stringValue": "A String", # Represents a string value.
+                            # Leading single quotes are not included. For example, if the user typed
+                            # `'123` into the UI, this would be represented as a `stringValue` of
+                            # `"123"`.
+                        "errorValue": { # An error in a cell. # Represents an error.
+                            # This field is read-only.
+                          "message": "A String", # A message with more information about the error
+                              # (in the spreadsheet's locale).
+                          "type": "A String", # The type of error.
+                        },
+                      },
+                    ],
+                    "valuesIndex": 42, # The offset in the [PivotTable.values] list which the values in this
+                        # grouping should be sorted by.
+                  },
+                  "sortOrder": "A String", # The order the values in this group should be sorted.
+                  "sourceColumnOffset": 42, # The column offset of the source range that this grouping is based on.
+                      #
+                      # For example, if the source was `C10:E15', a `sourceColumnOffset` of `0`
+                      # means this group refers to column `C`, whereas the offset `1` would refer
+                      # to column `D`.
+                },
+              ],
+              "source": { # A range on a sheet. # The range the pivot table is reading data from.
+                  # All indexes are zero-based.
+                  # Indexes are half open, e.g the start index is inclusive
+                  # and the end index is exclusive -- [start_index, end_index).
+                  # Missing indexes indicate the range is unbounded on that side.
+                  #
+                  # For example, if "Sheet1" is grid ID 0, then:
+                  #
+                  #   Sheet1!A1:A1 == sheet_id: 0,
+                  #                   start_row_index: 0, end_row_index: 1,
+                  #                   start_column_index: 0, end_column_index: 1
+                  #
+                  #   Sheet1!A3:B4 == sheet_id: 0,
+                  #                   start_row_index: 2, end_row_index: 4,
+                  #                   start_column_index: 0, end_column_index: 2
+                  #
+                  #   Sheet1!A:B == sheet_id: 0,
+                  #                 start_column_index: 0, end_column_index: 2
+                  #
+                  #   Sheet1!A5:B == sheet_id: 0,
+                  #                  start_row_index: 4,
+                  #                  start_column_index: 0, end_column_index: 2
+                  #
+                  #   Sheet1 == sheet_id:0
+                  #
+                  # The start index must always be less than or equal to the end index.
+                  # If the start index equals the end index, then the range is empty.
+                  # Empty ranges are typically not meaningful and are usually rendered in the
+                  # UI as `#REF!`.
+                "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                "sheetId": 42, # The sheet this range is on.
+                "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+              },
+              "values": [ # A list of values to include in the pivot table.
+                { # The definition of how a value in a pivot table should be calculated.
+                  "formula": "A String", # A custom formula to calculate the value.  The formula must start
+                      # with an `=` character.
+                  "summarizeFunction": "A String", # A function to summarize the value.
+                      # If formula is set, the only supported values are
+                      # SUM and
+                      # CUSTOM.
+                      # If sourceColumnOffset is set, then `CUSTOM`
+                      # is not supported.
+                  "sourceColumnOffset": 42, # The column offset of the source range that this value reads from.
+                      #
+                      # For example, if the source was `C10:E15', a `sourceColumnOffset` of `0`
+                      # means this value refers to column `C`, whereas the offset `1` would
+                      # refer to column `D`.
+                  "name": "A String", # A name to use for the value. This is only used if formula was set.
+                      # Otherwise, the column name is used.
+                },
+              ],
+              "criteria": { # An optional mapping of filters per source column offset.
+                  #
+                  # The filters will be applied before aggregating data into the pivot table.
+                  # The map's key is the column offset of the source range that you want to
+                  # filter, and the value is the criteria for that column.
+                  #
+                  # For example, if the source was `C10:E15', a key of `0` will have the filter
+                  # for column `C`, whereas the key `1` is for column `D`.
+                "a_key": { # Criteria for showing/hiding rows in a pivot table.
+                  "visibleValues": [ # Values that should be included.  Values not listed here are excluded.
+                    "A String",
+                  ],
+                },
+              },
+              "columns": [ # Each column grouping in the pivot table.
+                { # A single grouping (either row or column) in a pivot table.
+                  "showTotals": True or False, # True if the pivot table should include the totals for this grouping.
+                  "valueMetadata": [ # Metadata about values in the grouping.
+                    { # Metadata about a value in a pivot grouping.
+                      "collapsed": True or False, # True if the data corresponding to the value is collapsed.
+                      "value": { # The kinds of value that a cell in a spreadsheet can have. # The calculated value the metadata corresponds to.
+                          # (Note that formulaValue is not valid,
+                          #  because the values will be calculated.)
+                        "numberValue": 3.14, # Represents a double value.
+                            # Note: Dates, Times and DateTimes are represented as doubles in
+                            # "serial number" format.
+                        "boolValue": True or False, # Represents a boolean value.
+                        "formulaValue": "A String", # Represents a formula.
+                        "stringValue": "A String", # Represents a string value.
+                            # Leading single quotes are not included. For example, if the user typed
+                            # `'123` into the UI, this would be represented as a `stringValue` of
+                            # `"123"`.
+                        "errorValue": { # An error in a cell. # Represents an error.
+                            # This field is read-only.
+                          "message": "A String", # A message with more information about the error
+                              # (in the spreadsheet's locale).
+                          "type": "A String", # The type of error.
+                        },
+                      },
+                    },
+                  ],
+                  "valueBucket": { # Information about which values in a pivot group should be used for sorting. # The bucket of the opposite pivot group to sort by.
+                      # If not specified, sorting is alphabetical by this group's values.
+                    "buckets": [ # Determines the bucket from which values are chosen to sort.
+                        #
+                        # For example, in a pivot table with one row group & two column groups,
+                        # the row group can list up to two values. The first value corresponds
+                        # to a value within the first column group, and the second value
+                        # corresponds to a value in the second column group.  If no values
+                        # are listed, this would indicate that the row should be sorted according
+                        # to the "Grand Total" over the column groups. If a single value is listed,
+                        # this would correspond to using the "Total" of that bucket.
+                      { # The kinds of value that a cell in a spreadsheet can have.
+                        "numberValue": 3.14, # Represents a double value.
+                            # Note: Dates, Times and DateTimes are represented as doubles in
+                            # "serial number" format.
+                        "boolValue": True or False, # Represents a boolean value.
+                        "formulaValue": "A String", # Represents a formula.
+                        "stringValue": "A String", # Represents a string value.
+                            # Leading single quotes are not included. For example, if the user typed
+                            # `'123` into the UI, this would be represented as a `stringValue` of
+                            # `"123"`.
+                        "errorValue": { # An error in a cell. # Represents an error.
+                            # This field is read-only.
+                          "message": "A String", # A message with more information about the error
+                              # (in the spreadsheet's locale).
+                          "type": "A String", # The type of error.
+                        },
+                      },
+                    ],
+                    "valuesIndex": 42, # The offset in the [PivotTable.values] list which the values in this
+                        # grouping should be sorted by.
+                  },
+                  "sortOrder": "A String", # The order the values in this group should be sorted.
+                  "sourceColumnOffset": 42, # The column offset of the source range that this grouping is based on.
+                      #
+                      # For example, if the source was `C10:E15', a `sourceColumnOffset` of `0`
+                      # means this group refers to column `C`, whereas the offset `1` would refer
+                      # to column `D`.
+                },
+              ],
+            },
+            "hyperlink": "A String", # A hyperlink this cell points to, if any.
+                # This field is read-only.  (To set it, use a `=HYPERLINK` formula.)
+            "effectiveValue": { # The kinds of value that a cell in a spreadsheet can have. # The effective value of the cell. For cells with formulas, this will be
+                # the calculated value.  For cells with literals, this will be
+                # the same as the user_entered_value.
+                # This field is read-only.
+              "numberValue": 3.14, # Represents a double value.
+                  # Note: Dates, Times and DateTimes are represented as doubles in
+                  # "serial number" format.
+              "boolValue": True or False, # Represents a boolean value.
+              "formulaValue": "A String", # Represents a formula.
+              "stringValue": "A String", # Represents a string value.
+                  # Leading single quotes are not included. For example, if the user typed
+                  # `'123` into the UI, this would be represented as a `stringValue` of
+                  # `"123"`.
+              "errorValue": { # An error in a cell. # Represents an error.
+                  # This field is read-only.
+                "message": "A String", # A message with more information about the error
+                    # (in the spreadsheet's locale).
+                "type": "A String", # The type of error.
+              },
+            },
+            "formattedValue": "A String", # The formatted value of the cell.
+                # This is the value as it's shown to the user.
+                # This field is read-only.
+            "userEnteredValue": { # The kinds of value that a cell in a spreadsheet can have. # The value the user entered in the cell. e.g, `1234`, `'Hello'`, or `=NOW()`
+                # Note: Dates, Times and DateTimes are represented as doubles in
+                # serial number format.
+              "numberValue": 3.14, # Represents a double value.
+                  # Note: Dates, Times and DateTimes are represented as doubles in
+                  # "serial number" format.
+              "boolValue": True or False, # Represents a boolean value.
+              "formulaValue": "A String", # Represents a formula.
+              "stringValue": "A String", # Represents a string value.
+                  # Leading single quotes are not included. For example, if the user typed
+                  # `'123` into the UI, this would be represented as a `stringValue` of
+                  # `"123"`.
+              "errorValue": { # An error in a cell. # Represents an error.
+                  # This field is read-only.
+                "message": "A String", # A message with more information about the error
+                    # (in the spreadsheet's locale).
+                "type": "A String", # The type of error.
+              },
+            },
+            "note": "A String", # Any note on the cell.
+            "effectiveFormat": { # The format of a cell. # The effective format being used by the cell.
+                # This includes the results of applying any conditional formatting and,
+                # if the cell contains a formula, the computed number format.
+                # If the effective format is the default format, effective format will
+                # not be written.
+                # This field is read-only.
+              "numberFormat": { # The number format of a cell. # A format describing how number values should be represented to the user.
+                  # When updating, all fields must be set.
+                "pattern": "A String", # Pattern string used for formatting.
+                "type": "A String", # The type of the number format.
+              },
+              "textDirection": "A String", # The direction of the text in the cell.
+              "padding": { # The amount of padding around the cell, in pixels. # The padding of the cell.
+                  # When updating padding, every field must be specified.
+                "top": 42, # The top padding of the cell.
+                "right": 42, # The right padding of the cell.
+                "bottom": 42, # The bottom padding of the cell.
+                "left": 42, # The left padding of the cell.
+              },
+              "horizontalAlignment": "A String", # The horizontal alignment of the value in cell.
+              "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                  # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha <= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!('alpha' in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(',');
+                  #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = ['#'];
+                  #       for (var i = 0; i < missingZeros; i++) {
+                  #          resultBuilder.push('0');
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join('');
+                  #     };
+                  #
+                  #     // ...
+                "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+                "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              },
+              "verticalAlignment": "A String", # The vertical alignment of the value in cell.
+              "textFormat": { # The format of a run of text in a cell. # The format of the text in the cell (unless overridden by a format run).
+                  # Absent values indicate that the field isn't specified.
+                "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                    # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha <= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!('alpha' in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(',');
+                    #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = ['#'];
+                    #       for (var i = 0; i < missingZeros; i++) {
+                    #          resultBuilder.push('0');
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join('');
+                    #     };
+                    #
+                    #     // ...
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+                "bold": True or False, # True if the text is bold.
+                "strikethrough": True or False, # True if the text has a strikethrough.
+                "fontFamily": "A String", # The font family.
+                "fontSize": 42, # The size of the font.
+                "italic": True or False, # True if the text is italicized.
+                "underline": True or False, # True if the text is underlined.
+              },
+              "hyperlinkDisplayType": "A String", # How a hyperlink, if it exists, should be displayed in the cell.
+              "borders": { # The borders of the cell. # The borders of the cell.
+                "top": { # A border along a cell. # The top border of the cell.
+                  "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                      # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha <= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!('alpha' in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(',');
+                      #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = ['#'];
+                      #       for (var i = 0; i < missingZeros; i++) {
+                      #          resultBuilder.push('0');
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join('');
+                      #     };
+                      #
+                      #     // ...
+                    "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                    "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  },
+                  "width": 42, # The width of the border, in pixels.
+                      # Border widths must be between 0 and 3 pixels.
+                  "style": "A String", # The style of the border.
+                },
+                "right": { # A border along a cell. # The right border of the cell.
+                  "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                      # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha <= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!('alpha' in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(',');
+                      #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = ['#'];
+                      #       for (var i = 0; i < missingZeros; i++) {
+                      #          resultBuilder.push('0');
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join('');
+                      #     };
+                      #
+                      #     // ...
+                    "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                    "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  },
+                  "width": 42, # The width of the border, in pixels.
+                      # Border widths must be between 0 and 3 pixels.
+                  "style": "A String", # The style of the border.
+                },
+                "bottom": { # A border along a cell. # The bottom border of the cell.
+                  "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                      # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha <= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!('alpha' in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(',');
+                      #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = ['#'];
+                      #       for (var i = 0; i < missingZeros; i++) {
+                      #          resultBuilder.push('0');
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join('');
+                      #     };
+                      #
+                      #     // ...
+                    "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                    "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  },
+                  "width": 42, # The width of the border, in pixels.
+                      # Border widths must be between 0 and 3 pixels.
+                  "style": "A String", # The style of the border.
+                },
+                "left": { # A border along a cell. # The left border of the cell.
+                  "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                      # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha <= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!('alpha' in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(',');
+                      #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = ['#'];
+                      #       for (var i = 0; i < missingZeros; i++) {
+                      #          resultBuilder.push('0');
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join('');
+                      #     };
+                      #
+                      #     // ...
+                    "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                    "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  },
+                  "width": 42, # The width of the border, in pixels.
+                      # Border widths must be between 0 and 3 pixels.
+                  "style": "A String", # The style of the border.
+                },
+              },
+              "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
+            },
+            "userEnteredFormat": { # The format of a cell. # The format the user entered for the cell.
+                #
+                # When writing, the new format will be merged with the existing format.
+              "numberFormat": { # The number format of a cell. # A format describing how number values should be represented to the user.
+                  # When updating, all fields must be set.
+                "pattern": "A String", # Pattern string used for formatting.
+                "type": "A String", # The type of the number format.
+              },
+              "textDirection": "A String", # The direction of the text in the cell.
+              "padding": { # The amount of padding around the cell, in pixels. # The padding of the cell.
+                  # When updating padding, every field must be specified.
+                "top": 42, # The top padding of the cell.
+                "right": 42, # The right padding of the cell.
+                "bottom": 42, # The bottom padding of the cell.
+                "left": 42, # The left padding of the cell.
+              },
+              "horizontalAlignment": "A String", # The horizontal alignment of the value in cell.
+              "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                  # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha <= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!('alpha' in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(',');
+                  #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = ['#'];
+                  #       for (var i = 0; i < missingZeros; i++) {
+                  #          resultBuilder.push('0');
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join('');
+                  #     };
+                  #
+                  #     // ...
+                "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+                "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              },
+              "verticalAlignment": "A String", # The vertical alignment of the value in cell.
+              "textFormat": { # The format of a run of text in a cell. # The format of the text in the cell (unless overridden by a format run).
+                  # Absent values indicate that the field isn't specified.
+                "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                    # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha <= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!('alpha' in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(',');
+                    #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = ['#'];
+                    #       for (var i = 0; i < missingZeros; i++) {
+                    #          resultBuilder.push('0');
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join('');
+                    #     };
+                    #
+                    #     // ...
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+                "bold": True or False, # True if the text is bold.
+                "strikethrough": True or False, # True if the text has a strikethrough.
+                "fontFamily": "A String", # The font family.
+                "fontSize": 42, # The size of the font.
+                "italic": True or False, # True if the text is italicized.
+                "underline": True or False, # True if the text is underlined.
+              },
+              "hyperlinkDisplayType": "A String", # How a hyperlink, if it exists, should be displayed in the cell.
+              "borders": { # The borders of the cell. # The borders of the cell.
+                "top": { # A border along a cell. # The top border of the cell.
+                  "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                      # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha <= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!('alpha' in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(',');
+                      #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = ['#'];
+                      #       for (var i = 0; i < missingZeros; i++) {
+                      #          resultBuilder.push('0');
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join('');
+                      #     };
+                      #
+                      #     // ...
+                    "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                    "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  },
+                  "width": 42, # The width of the border, in pixels.
+                      # Border widths must be between 0 and 3 pixels.
+                  "style": "A String", # The style of the border.
+                },
+                "right": { # A border along a cell. # The right border of the cell.
+                  "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                      # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha <= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!('alpha' in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(',');
+                      #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = ['#'];
+                      #       for (var i = 0; i < missingZeros; i++) {
+                      #          resultBuilder.push('0');
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join('');
+                      #     };
+                      #
+                      #     // ...
+                    "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                    "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  },
+                  "width": 42, # The width of the border, in pixels.
+                      # Border widths must be between 0 and 3 pixels.
+                  "style": "A String", # The style of the border.
+                },
+                "bottom": { # A border along a cell. # The bottom border of the cell.
+                  "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                      # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha <= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!('alpha' in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(',');
+                      #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = ['#'];
+                      #       for (var i = 0; i < missingZeros; i++) {
+                      #          resultBuilder.push('0');
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join('');
+                      #     };
+                      #
+                      #     // ...
+                    "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                    "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  },
+                  "width": 42, # The width of the border, in pixels.
+                      # Border widths must be between 0 and 3 pixels.
+                  "style": "A String", # The style of the border.
+                },
+                "left": { # A border along a cell. # The left border of the cell.
+                  "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                      # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha <= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!('alpha' in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(',');
+                      #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = ['#'];
+                      #       for (var i = 0; i < missingZeros; i++) {
+                      #          resultBuilder.push('0');
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join('');
+                      #     };
+                      #
+                      #     // ...
+                    "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                    "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  },
+                  "width": 42, # The width of the border, in pixels.
+                      # Border widths must be between 0 and 3 pixels.
+                  "style": "A String", # The style of the border.
+                },
+              },
+              "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
+            },
+            "dataValidation": { # A data validation rule. # A data validation rule on the cell, if any.
+                #
+                # When writing, the new data validation rule will overwrite any prior rule.
+              "showCustomUi": True or False, # True if the UI should be customized based on the kind of condition.
+                  # If true, "List" conditions will show a dropdown.
+              "strict": True or False, # True if invalid data should be rejected.
+              "inputMessage": "A String", # A message to show the user when adding data to the cell.
+              "condition": { # A condition that can evaluate to true or false. # The condition that data in the cell must match.
+                  # BooleanConditions are used by conditional formatting,
+                  # data validation, and the criteria in filters.
+                "type": "A String", # The type of condition.
+                "values": [ # The values of the condition. The number of supported values depends
+                    # on the condition type.  Some support zero values,
+                    # others one or two values,
+                    # and ConditionType.ONE_OF_LIST supports an arbitrary number of values.
+                  { # The value of the condition.
+                    "relativeDate": "A String", # A relative date (based on the current date).
+                        # Valid only if the type is
+                        # DATE_BEFORE,
+                        # DATE_AFTER,
+                        # DATE_ON_OR_BEFORE or
+                        # DATE_ON_OR_AFTER.
+                        #
+                        # Relative dates are not supported in data validation.
+                        # They are supported only in conditional formatting and
+                        # conditional filters.
+                    "userEnteredValue": "A String", # A value the condition is based on.
+                        # The value will be parsed as if the user typed into a cell.
+                        # Formulas are supported (and must begin with an `=`).
+                  },
+                ],
+              },
+            },
+            "textFormatRuns": [ # Runs of rich text applied to subsections of the cell.
+                # Runs start at specific indexes in the text and continue until the next
+                # run. Properties of a run will continue unless explicitly changed
+                # in a subsequent run (and properties of the first run will continue
+                # the properties of the cell unless explicitly changed).
+                #
+                # When writing, the new runs will overwrite any prior runs.
+              { # A run of a text format. The format of this run continues until explicitly
+                  # overridden in the next run.
+                  # When updating, all fields must be set.
+                "startIndex": 42, # The character index where this run starts.
+                "format": { # The format of a run of text in a cell. # The format of this run.  Absent values inherit the cell's format.
+                    # Absent values indicate that the field isn't specified.
+                  "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                      # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha <= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!('alpha' in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(',');
+                      #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = ['#'];
+                      #       for (var i = 0; i < missingZeros; i++) {
+                      #          resultBuilder.push('0');
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join('');
+                      #     };
+                      #
+                      #     // ...
+                    "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                    "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  },
+                  "bold": True or False, # True if the text is bold.
+                  "strikethrough": True or False, # True if the text has a strikethrough.
+                  "fontFamily": "A String", # The font family.
+                  "fontSize": 42, # The size of the font.
+                  "italic": True or False, # True if the text is italicized.
+                  "underline": True or False, # True if the text is underlined.
+                },
+              },
+            ],
+          },
+          "fields": "A String", # The fields that should be updated.  At least one field must be specified.
+              # The root `cell` is implied and should not be specified.
+              # A single `"*"` can be used as short-hand for listing every field.
+          "range": { # A range on a sheet. # The range to repeat the cell in.
+              # All indexes are zero-based.
+              # Indexes are half open, e.g the start index is inclusive
+              # and the end index is exclusive -- [start_index, end_index).
+              # Missing indexes indicate the range is unbounded on that side.
+              #
+              # For example, if "Sheet1" is grid ID 0, then:
+              #
+              #   Sheet1!A1:A1 == sheet_id: 0,
+              #                   start_row_index: 0, end_row_index: 1,
+              #                   start_column_index: 0, end_column_index: 1
+              #
+              #   Sheet1!A3:B4 == sheet_id: 0,
+              #                   start_row_index: 2, end_row_index: 4,
+              #                   start_column_index: 0, end_column_index: 2
+              #
+              #   Sheet1!A:B == sheet_id: 0,
+              #                 start_column_index: 0, end_column_index: 2
+              #
+              #   Sheet1!A5:B == sheet_id: 0,
+              #                  start_row_index: 4,
+              #                  start_column_index: 0, end_column_index: 2
+              #
+              #   Sheet1 == sheet_id:0
+              #
+              # The start index must always be less than or equal to the end index.
+              # If the start index equals the end index, then the range is empty.
+              # Empty ranges are typically not meaningful and are usually rendered in the
+              # UI as `#REF!`.
+            "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+            "sheetId": 42, # The sheet this range is on.
+            "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+          },
+        },
+        "findReplace": { # Finds and replaces data in cells over a range, sheet, or all sheets. # Finds and replace occurrences of some text with other text.
+          "includeFormulas": True or False, # True if the search should include cells with formulas.
+              # False to skip cells with formulas.
+          "matchEntireCell": True or False, # True if the find value should match the entire cell.
+          "allSheets": True or False, # True to find/replace over all sheets.
+          "matchCase": True or False, # True if the search is case sensitive.
+          "sheetId": 42, # The sheet to find/replace over.
+          "range": { # A range on a sheet. # The range to find/replace over.
+              # All indexes are zero-based.
+              # Indexes are half open, e.g the start index is inclusive
+              # and the end index is exclusive -- [start_index, end_index).
+              # Missing indexes indicate the range is unbounded on that side.
+              #
+              # For example, if "Sheet1" is grid ID 0, then:
+              #
+              #   Sheet1!A1:A1 == sheet_id: 0,
+              #                   start_row_index: 0, end_row_index: 1,
+              #                   start_column_index: 0, end_column_index: 1
+              #
+              #   Sheet1!A3:B4 == sheet_id: 0,
+              #                   start_row_index: 2, end_row_index: 4,
+              #                   start_column_index: 0, end_column_index: 2
+              #
+              #   Sheet1!A:B == sheet_id: 0,
+              #                 start_column_index: 0, end_column_index: 2
+              #
+              #   Sheet1!A5:B == sheet_id: 0,
+              #                  start_row_index: 4,
+              #                  start_column_index: 0, end_column_index: 2
+              #
+              #   Sheet1 == sheet_id:0
+              #
+              # The start index must always be less than or equal to the end index.
+              # If the start index equals the end index, then the range is empty.
+              # Empty ranges are typically not meaningful and are usually rendered in the
+              # UI as `#REF!`.
+            "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+            "sheetId": 42, # The sheet this range is on.
+            "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+          },
+          "searchByRegex": True or False, # True if the find value is a regex.
+              # The regular expression and replacement should follow Java regex rules
+              # at https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html.
+              # The replacement string is allowed to refer to capturing groups.
+              # For example, if one cell has the contents "`Google Sheets`" and another
+              # has "`Google Docs`", then searching for `"o.* (.*)"` with a replacement of
+              # `"$1 Rocks`"` would change the contents of the cells to
+              # "`GSheets Rocks`" and "`GDocs Rocks`" respectively.
+          "find": "A String", # The value to search.
+          "replacement": "A String", # The value to use as the replacement.
+        },
+        "setBasicFilter": { # Sets the basic filter associated with a sheet. # Sets the basic filter on a sheet.
+          "filter": { # The default filter associated with a sheet. # The filter to set.
+            "range": { # A range on a sheet. # The range the filter covers.
+                # All indexes are zero-based.
+                # Indexes are half open, e.g the start index is inclusive
+                # and the end index is exclusive -- [start_index, end_index).
+                # Missing indexes indicate the range is unbounded on that side.
+                #
+                # For example, if "Sheet1" is grid ID 0, then:
+                #
+                #   Sheet1!A1:A1 == sheet_id: 0,
+                #                   start_row_index: 0, end_row_index: 1,
+                #                   start_column_index: 0, end_column_index: 1
+                #
+                #   Sheet1!A3:B4 == sheet_id: 0,
+                #                   start_row_index: 2, end_row_index: 4,
+                #                   start_column_index: 0, end_column_index: 2
+                #
+                #   Sheet1!A:B == sheet_id: 0,
+                #                 start_column_index: 0, end_column_index: 2
+                #
+                #   Sheet1!A5:B == sheet_id: 0,
+                #                  start_row_index: 4,
+                #                  start_column_index: 0, end_column_index: 2
+                #
+                #   Sheet1 == sheet_id:0
+                #
+                # The start index must always be less than or equal to the end index.
+                # If the start index equals the end index, then the range is empty.
+                # Empty ranges are typically not meaningful and are usually rendered in the
+                # UI as `#REF!`.
+              "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "sheetId": 42, # The sheet this range is on.
+              "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+            },
+            "sortSpecs": [ # The sort order per column. Later specifications are used when values
+                # are equal in the earlier specifications.
+              { # A sort order associated with a specific column or row.
+                "sortOrder": "A String", # The order data should be sorted.
+                "dimensionIndex": 42, # The dimension the sort should be applied to.
+              },
+            ],
+            "criteria": { # The criteria for showing/hiding values per column.
+                # The map's key is the column index, and the value is the criteria for
+                # that column.
+              "a_key": { # Criteria for showing/hiding rows in a filter, filter view.
+                "hiddenValues": [ # Values that should be hidden.
+                  "A String",
+                ],
+                "condition": { # A condition that can evaluate to true or false. # A condition that must be true for values to be shown.
+                    # (This does not override hiddenValues -- if a value is listed there,
+                    #  it will still be hidden.)
+                    # BooleanConditions are used by conditional formatting,
+                    # data validation, and the criteria in filters.
+                  "type": "A String", # The type of condition.
+                  "values": [ # The values of the condition. The number of supported values depends
+                      # on the condition type.  Some support zero values,
+                      # others one or two values,
+                      # and ConditionType.ONE_OF_LIST supports an arbitrary number of values.
+                    { # The value of the condition.
+                      "relativeDate": "A String", # A relative date (based on the current date).
+                          # Valid only if the type is
+                          # DATE_BEFORE,
+                          # DATE_AFTER,
+                          # DATE_ON_OR_BEFORE or
+                          # DATE_ON_OR_AFTER.
+                          #
+                          # Relative dates are not supported in data validation.
+                          # They are supported only in conditional formatting and
+                          # conditional filters.
+                      "userEnteredValue": "A String", # A value the condition is based on.
+                          # The value will be parsed as if the user typed into a cell.
+                          # Formulas are supported (and must begin with an `=`).
+                    },
+                  ],
+                },
+              },
+            },
+          },
+        },
+        "updateSpreadsheetProperties": { # Updates properties of a spreadsheet. # Updates the spreadsheet's properties.
+            # It is an error to specify read only fields in the field mask.
+          "fields": "A String", # The fields that should be updated.  At least one field must be specified.
+              # The root 'properties' is implied and should not be specified.
+              # A single `"*"` can be used as short-hand for listing every field.
+          "properties": { # Properties of a spreadsheet. # The properties to update.
+            "locale": "A String", # The locale of the spreadsheet in one of the following formats:
+                # * an ISO 639-1 language code such as `en`
+                # * an ISO 639-2 language code such as `fil`, if no 639-1 code exists
+                # * a combination of the ISO language code and country code, such as `en_US`
+                # Note: when updating this field, not all locales/languages are supported.
+            "timeZone": "A String", # The time zone of the spreadsheet, in CLDR format such as
+                # `America/New_York`. If the time zone isn't recognized, this may
+                # be a custom time zone such as `GMT-07:00`.
+            "autoRecalc": "A String", # The amount of time to wait before volatile functions are recalculated.
+            "defaultFormat": { # The format of a cell. # The default format of all cells in the spreadsheet.
+                # CellData.effectiveFormat will not be set if the cell's format is equal
+                # to this default format.
+                # This field is read-only.
+              "numberFormat": { # The number format of a cell. # A format describing how number values should be represented to the user.
+                  # When updating, all fields must be set.
+                "pattern": "A String", # Pattern string used for formatting.
+                "type": "A String", # The type of the number format.
+              },
+              "textDirection": "A String", # The direction of the text in the cell.
+              "padding": { # The amount of padding around the cell, in pixels. # The padding of the cell.
+                  # When updating padding, every field must be specified.
+                "top": 42, # The top padding of the cell.
+                "right": 42, # The right padding of the cell.
+                "bottom": 42, # The bottom padding of the cell.
+                "left": 42, # The left padding of the cell.
+              },
+              "horizontalAlignment": "A String", # The horizontal alignment of the value in cell.
+              "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                  # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha <= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!('alpha' in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(',');
+                  #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = ['#'];
+                  #       for (var i = 0; i < missingZeros; i++) {
+                  #          resultBuilder.push('0');
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join('');
+                  #     };
+                  #
+                  #     // ...
+                "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+                "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              },
+              "verticalAlignment": "A String", # The vertical alignment of the value in cell.
+              "textFormat": { # The format of a run of text in a cell. # The format of the text in the cell (unless overridden by a format run).
+                  # Absent values indicate that the field isn't specified.
+                "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                    # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha <= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!('alpha' in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(',');
+                    #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = ['#'];
+                    #       for (var i = 0; i < missingZeros; i++) {
+                    #          resultBuilder.push('0');
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join('');
+                    #     };
+                    #
+                    #     // ...
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+                "bold": True or False, # True if the text is bold.
+                "strikethrough": True or False, # True if the text has a strikethrough.
+                "fontFamily": "A String", # The font family.
+                "fontSize": 42, # The size of the font.
+                "italic": True or False, # True if the text is italicized.
+                "underline": True or False, # True if the text is underlined.
+              },
+              "hyperlinkDisplayType": "A String", # How a hyperlink, if it exists, should be displayed in the cell.
+              "borders": { # The borders of the cell. # The borders of the cell.
+                "top": { # A border along a cell. # The top border of the cell.
+                  "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                      # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha <= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!('alpha' in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(',');
+                      #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = ['#'];
+                      #       for (var i = 0; i < missingZeros; i++) {
+                      #          resultBuilder.push('0');
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join('');
+                      #     };
+                      #
+                      #     // ...
+                    "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                    "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  },
+                  "width": 42, # The width of the border, in pixels.
+                      # Border widths must be between 0 and 3 pixels.
+                  "style": "A String", # The style of the border.
+                },
+                "right": { # A border along a cell. # The right border of the cell.
+                  "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                      # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha <= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!('alpha' in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(',');
+                      #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = ['#'];
+                      #       for (var i = 0; i < missingZeros; i++) {
+                      #          resultBuilder.push('0');
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join('');
+                      #     };
+                      #
+                      #     // ...
+                    "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                    "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  },
+                  "width": 42, # The width of the border, in pixels.
+                      # Border widths must be between 0 and 3 pixels.
+                  "style": "A String", # The style of the border.
+                },
+                "bottom": { # A border along a cell. # The bottom border of the cell.
+                  "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                      # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha <= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!('alpha' in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(',');
+                      #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = ['#'];
+                      #       for (var i = 0; i < missingZeros; i++) {
+                      #          resultBuilder.push('0');
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join('');
+                      #     };
+                      #
+                      #     // ...
+                    "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                    "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  },
+                  "width": 42, # The width of the border, in pixels.
+                      # Border widths must be between 0 and 3 pixels.
+                  "style": "A String", # The style of the border.
+                },
+                "left": { # A border along a cell. # The left border of the cell.
+                  "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                      # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha <= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!('alpha' in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(',');
+                      #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = ['#'];
+                      #       for (var i = 0; i < missingZeros; i++) {
+                      #          resultBuilder.push('0');
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join('');
+                      #     };
+                      #
+                      #     // ...
+                    "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                    "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  },
+                  "width": 42, # The width of the border, in pixels.
+                      # Border widths must be between 0 and 3 pixels.
+                  "style": "A String", # The style of the border.
+                },
+              },
+              "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
+            },
+            "title": "A String", # The title of the spreadsheet.
+          },
+        },
+        "updateCells": { # Updates all cells in a range with new data. # Updates many cells at once.
+          "fields": "A String", # The fields of CellData that should be updated.
+              # At least one field must be specified.
+              # The root is the CellData; 'row.values.' should not be specified.
+              # A single `"*"` can be used as short-hand for listing every field.
+          "range": { # A range on a sheet. # The range to write data to.
+              #
+              # If the data in rows does not cover the entire requested range,
+              # the fields matching those set in fields will be cleared.
+              # All indexes are zero-based.
+              # Indexes are half open, e.g the start index is inclusive
+              # and the end index is exclusive -- [start_index, end_index).
+              # Missing indexes indicate the range is unbounded on that side.
+              #
+              # For example, if "Sheet1" is grid ID 0, then:
+              #
+              #   Sheet1!A1:A1 == sheet_id: 0,
+              #                   start_row_index: 0, end_row_index: 1,
+              #                   start_column_index: 0, end_column_index: 1
+              #
+              #   Sheet1!A3:B4 == sheet_id: 0,
+              #                   start_row_index: 2, end_row_index: 4,
+              #                   start_column_index: 0, end_column_index: 2
+              #
+              #   Sheet1!A:B == sheet_id: 0,
+              #                 start_column_index: 0, end_column_index: 2
+              #
+              #   Sheet1!A5:B == sheet_id: 0,
+              #                  start_row_index: 4,
+              #                  start_column_index: 0, end_column_index: 2
+              #
+              #   Sheet1 == sheet_id:0
+              #
+              # The start index must always be less than or equal to the end index.
+              # If the start index equals the end index, then the range is empty.
+              # Empty ranges are typically not meaningful and are usually rendered in the
+              # UI as `#REF!`.
+            "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+            "sheetId": 42, # The sheet this range is on.
+            "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+          },
+          "rows": [ # The data to write.
+            { # Data about each cell in a row.
+              "values": [ # The values in the row, one per column.
+                { # Data about a specific cell.
+                  "pivotTable": { # A pivot table. # A pivot table anchored at this cell. The size of pivot table itself
+                      # is computed dynamically based on its data, grouping, filters, values,
+                      # etc... Only the top-left cell of the pivot table contains the pivot table
+                      # definition. The other cells will contain the calculated values of the
+                      # results of the pivot in their effectiveValue fields.
+                    "valueLayout": "A String", # Whether values should be listed horizontally (as columns)
+                        # or vertically (as rows).
+                    "rows": [ # Each row grouping in the pivot table.
+                      { # A single grouping (either row or column) in a pivot table.
+                        "showTotals": True or False, # True if the pivot table should include the totals for this grouping.
+                        "valueMetadata": [ # Metadata about values in the grouping.
+                          { # Metadata about a value in a pivot grouping.
+                            "collapsed": True or False, # True if the data corresponding to the value is collapsed.
+                            "value": { # The kinds of value that a cell in a spreadsheet can have. # The calculated value the metadata corresponds to.
+                                # (Note that formulaValue is not valid,
+                                #  because the values will be calculated.)
+                              "numberValue": 3.14, # Represents a double value.
+                                  # Note: Dates, Times and DateTimes are represented as doubles in
+                                  # "serial number" format.
+                              "boolValue": True or False, # Represents a boolean value.
+                              "formulaValue": "A String", # Represents a formula.
+                              "stringValue": "A String", # Represents a string value.
+                                  # Leading single quotes are not included. For example, if the user typed
+                                  # `'123` into the UI, this would be represented as a `stringValue` of
+                                  # `"123"`.
+                              "errorValue": { # An error in a cell. # Represents an error.
+                                  # This field is read-only.
+                                "message": "A String", # A message with more information about the error
+                                    # (in the spreadsheet's locale).
+                                "type": "A String", # The type of error.
+                              },
+                            },
+                          },
+                        ],
+                        "valueBucket": { # Information about which values in a pivot group should be used for sorting. # The bucket of the opposite pivot group to sort by.
+                            # If not specified, sorting is alphabetical by this group's values.
+                          "buckets": [ # Determines the bucket from which values are chosen to sort.
+                              #
+                              # For example, in a pivot table with one row group & two column groups,
+                              # the row group can list up to two values. The first value corresponds
+                              # to a value within the first column group, and the second value
+                              # corresponds to a value in the second column group.  If no values
+                              # are listed, this would indicate that the row should be sorted according
+                              # to the "Grand Total" over the column groups. If a single value is listed,
+                              # this would correspond to using the "Total" of that bucket.
+                            { # The kinds of value that a cell in a spreadsheet can have.
+                              "numberValue": 3.14, # Represents a double value.
+                                  # Note: Dates, Times and DateTimes are represented as doubles in
+                                  # "serial number" format.
+                              "boolValue": True or False, # Represents a boolean value.
+                              "formulaValue": "A String", # Represents a formula.
+                              "stringValue": "A String", # Represents a string value.
+                                  # Leading single quotes are not included. For example, if the user typed
+                                  # `'123` into the UI, this would be represented as a `stringValue` of
+                                  # `"123"`.
+                              "errorValue": { # An error in a cell. # Represents an error.
+                                  # This field is read-only.
+                                "message": "A String", # A message with more information about the error
+                                    # (in the spreadsheet's locale).
+                                "type": "A String", # The type of error.
+                              },
+                            },
+                          ],
+                          "valuesIndex": 42, # The offset in the [PivotTable.values] list which the values in this
+                              # grouping should be sorted by.
+                        },
+                        "sortOrder": "A String", # The order the values in this group should be sorted.
+                        "sourceColumnOffset": 42, # The column offset of the source range that this grouping is based on.
+                            #
+                            # For example, if the source was `C10:E15', a `sourceColumnOffset` of `0`
+                            # means this group refers to column `C`, whereas the offset `1` would refer
+                            # to column `D`.
+                      },
+                    ],
+                    "source": { # A range on a sheet. # The range the pivot table is reading data from.
+                        # All indexes are zero-based.
+                        # Indexes are half open, e.g the start index is inclusive
+                        # and the end index is exclusive -- [start_index, end_index).
+                        # Missing indexes indicate the range is unbounded on that side.
+                        #
+                        # For example, if "Sheet1" is grid ID 0, then:
+                        #
+                        #   Sheet1!A1:A1 == sheet_id: 0,
+                        #                   start_row_index: 0, end_row_index: 1,
+                        #                   start_column_index: 0, end_column_index: 1
+                        #
+                        #   Sheet1!A3:B4 == sheet_id: 0,
+                        #                   start_row_index: 2, end_row_index: 4,
+                        #                   start_column_index: 0, end_column_index: 2
+                        #
+                        #   Sheet1!A:B == sheet_id: 0,
+                        #                 start_column_index: 0, end_column_index: 2
+                        #
+                        #   Sheet1!A5:B == sheet_id: 0,
+                        #                  start_row_index: 4,
+                        #                  start_column_index: 0, end_column_index: 2
+                        #
+                        #   Sheet1 == sheet_id:0
+                        #
+                        # The start index must always be less than or equal to the end index.
+                        # If the start index equals the end index, then the range is empty.
+                        # Empty ranges are typically not meaningful and are usually rendered in the
+                        # UI as `#REF!`.
+                      "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+                      "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                      "sheetId": 42, # The sheet this range is on.
+                      "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+                      "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                    },
+                    "values": [ # A list of values to include in the pivot table.
+                      { # The definition of how a value in a pivot table should be calculated.
+                        "formula": "A String", # A custom formula to calculate the value.  The formula must start
+                            # with an `=` character.
+                        "summarizeFunction": "A String", # A function to summarize the value.
+                            # If formula is set, the only supported values are
+                            # SUM and
+                            # CUSTOM.
+                            # If sourceColumnOffset is set, then `CUSTOM`
+                            # is not supported.
+                        "sourceColumnOffset": 42, # The column offset of the source range that this value reads from.
+                            #
+                            # For example, if the source was `C10:E15', a `sourceColumnOffset` of `0`
+                            # means this value refers to column `C`, whereas the offset `1` would
+                            # refer to column `D`.
+                        "name": "A String", # A name to use for the value. This is only used if formula was set.
+                            # Otherwise, the column name is used.
+                      },
+                    ],
+                    "criteria": { # An optional mapping of filters per source column offset.
+                        #
+                        # The filters will be applied before aggregating data into the pivot table.
+                        # The map's key is the column offset of the source range that you want to
+                        # filter, and the value is the criteria for that column.
+                        #
+                        # For example, if the source was `C10:E15', a key of `0` will have the filter
+                        # for column `C`, whereas the key `1` is for column `D`.
+                      "a_key": { # Criteria for showing/hiding rows in a pivot table.
+                        "visibleValues": [ # Values that should be included.  Values not listed here are excluded.
+                          "A String",
+                        ],
+                      },
+                    },
+                    "columns": [ # Each column grouping in the pivot table.
+                      { # A single grouping (either row or column) in a pivot table.
+                        "showTotals": True or False, # True if the pivot table should include the totals for this grouping.
+                        "valueMetadata": [ # Metadata about values in the grouping.
+                          { # Metadata about a value in a pivot grouping.
+                            "collapsed": True or False, # True if the data corresponding to the value is collapsed.
+                            "value": { # The kinds of value that a cell in a spreadsheet can have. # The calculated value the metadata corresponds to.
+                                # (Note that formulaValue is not valid,
+                                #  because the values will be calculated.)
+                              "numberValue": 3.14, # Represents a double value.
+                                  # Note: Dates, Times and DateTimes are represented as doubles in
+                                  # "serial number" format.
+                              "boolValue": True or False, # Represents a boolean value.
+                              "formulaValue": "A String", # Represents a formula.
+                              "stringValue": "A String", # Represents a string value.
+                                  # Leading single quotes are not included. For example, if the user typed
+                                  # `'123` into the UI, this would be represented as a `stringValue` of
+                                  # `"123"`.
+                              "errorValue": { # An error in a cell. # Represents an error.
+                                  # This field is read-only.
+                                "message": "A String", # A message with more information about the error
+                                    # (in the spreadsheet's locale).
+                                "type": "A String", # The type of error.
+                              },
+                            },
+                          },
+                        ],
+                        "valueBucket": { # Information about which values in a pivot group should be used for sorting. # The bucket of the opposite pivot group to sort by.
+                            # If not specified, sorting is alphabetical by this group's values.
+                          "buckets": [ # Determines the bucket from which values are chosen to sort.
+                              #
+                              # For example, in a pivot table with one row group & two column groups,
+                              # the row group can list up to two values. The first value corresponds
+                              # to a value within the first column group, and the second value
+                              # corresponds to a value in the second column group.  If no values
+                              # are listed, this would indicate that the row should be sorted according
+                              # to the "Grand Total" over the column groups. If a single value is listed,
+                              # this would correspond to using the "Total" of that bucket.
+                            { # The kinds of value that a cell in a spreadsheet can have.
+                              "numberValue": 3.14, # Represents a double value.
+                                  # Note: Dates, Times and DateTimes are represented as doubles in
+                                  # "serial number" format.
+                              "boolValue": True or False, # Represents a boolean value.
+                              "formulaValue": "A String", # Represents a formula.
+                              "stringValue": "A String", # Represents a string value.
+                                  # Leading single quotes are not included. For example, if the user typed
+                                  # `'123` into the UI, this would be represented as a `stringValue` of
+                                  # `"123"`.
+                              "errorValue": { # An error in a cell. # Represents an error.
+                                  # This field is read-only.
+                                "message": "A String", # A message with more information about the error
+                                    # (in the spreadsheet's locale).
+                                "type": "A String", # The type of error.
+                              },
+                            },
+                          ],
+                          "valuesIndex": 42, # The offset in the [PivotTable.values] list which the values in this
+                              # grouping should be sorted by.
+                        },
+                        "sortOrder": "A String", # The order the values in this group should be sorted.
+                        "sourceColumnOffset": 42, # The column offset of the source range that this grouping is based on.
+                            #
+                            # For example, if the source was `C10:E15', a `sourceColumnOffset` of `0`
+                            # means this group refers to column `C`, whereas the offset `1` would refer
+                            # to column `D`.
+                      },
+                    ],
+                  },
+                  "hyperlink": "A String", # A hyperlink this cell points to, if any.
+                      # This field is read-only.  (To set it, use a `=HYPERLINK` formula.)
+                  "effectiveValue": { # The kinds of value that a cell in a spreadsheet can have. # The effective value of the cell. For cells with formulas, this will be
+                      # the calculated value.  For cells with literals, this will be
+                      # the same as the user_entered_value.
+                      # This field is read-only.
+                    "numberValue": 3.14, # Represents a double value.
+                        # Note: Dates, Times and DateTimes are represented as doubles in
+                        # "serial number" format.
+                    "boolValue": True or False, # Represents a boolean value.
+                    "formulaValue": "A String", # Represents a formula.
+                    "stringValue": "A String", # Represents a string value.
+                        # Leading single quotes are not included. For example, if the user typed
+                        # `'123` into the UI, this would be represented as a `stringValue` of
+                        # `"123"`.
+                    "errorValue": { # An error in a cell. # Represents an error.
+                        # This field is read-only.
+                      "message": "A String", # A message with more information about the error
+                          # (in the spreadsheet's locale).
+                      "type": "A String", # The type of error.
+                    },
+                  },
+                  "formattedValue": "A String", # The formatted value of the cell.
+                      # This is the value as it's shown to the user.
+                      # This field is read-only.
+                  "userEnteredValue": { # The kinds of value that a cell in a spreadsheet can have. # The value the user entered in the cell. e.g, `1234`, `'Hello'`, or `=NOW()`
+                      # Note: Dates, Times and DateTimes are represented as doubles in
+                      # serial number format.
+                    "numberValue": 3.14, # Represents a double value.
+                        # Note: Dates, Times and DateTimes are represented as doubles in
+                        # "serial number" format.
+                    "boolValue": True or False, # Represents a boolean value.
+                    "formulaValue": "A String", # Represents a formula.
+                    "stringValue": "A String", # Represents a string value.
+                        # Leading single quotes are not included. For example, if the user typed
+                        # `'123` into the UI, this would be represented as a `stringValue` of
+                        # `"123"`.
+                    "errorValue": { # An error in a cell. # Represents an error.
+                        # This field is read-only.
+                      "message": "A String", # A message with more information about the error
+                          # (in the spreadsheet's locale).
+                      "type": "A String", # The type of error.
+                    },
+                  },
+                  "note": "A String", # Any note on the cell.
+                  "effectiveFormat": { # The format of a cell. # The effective format being used by the cell.
+                      # This includes the results of applying any conditional formatting and,
+                      # if the cell contains a formula, the computed number format.
+                      # If the effective format is the default format, effective format will
+                      # not be written.
+                      # This field is read-only.
+                    "numberFormat": { # The number format of a cell. # A format describing how number values should be represented to the user.
+                        # When updating, all fields must be set.
+                      "pattern": "A String", # Pattern string used for formatting.
+                      "type": "A String", # The type of the number format.
+                    },
+                    "textDirection": "A String", # The direction of the text in the cell.
+                    "padding": { # The amount of padding around the cell, in pixels. # The padding of the cell.
+                        # When updating padding, every field must be specified.
+                      "top": 42, # The top padding of the cell.
+                      "right": 42, # The right padding of the cell.
+                      "bottom": 42, # The bottom padding of the cell.
+                      "left": 42, # The left padding of the cell.
+                    },
+                    "horizontalAlignment": "A String", # The horizontal alignment of the value in cell.
+                    "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                        # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha <= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!('alpha' in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(',');
+                        #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = ['#'];
+                        #       for (var i = 0; i < missingZeros; i++) {
+                        #          resultBuilder.push('0');
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join('');
+                        #     };
+                        #
+                        #     // ...
+                      "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                      "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    },
+                    "verticalAlignment": "A String", # The vertical alignment of the value in cell.
+                    "textFormat": { # The format of a run of text in a cell. # The format of the text in the cell (unless overridden by a format run).
+                        # Absent values indicate that the field isn't specified.
+                      "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
+                          # for simplicity of conversion to/from color representations in various
+                          # languages over compactness; for example, the fields of this representation
+                          # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                          # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                          # method in iOS; and, with just a little work, it can be easily formatted into
+                          # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                          #
+                          # Example (Java):
+                          #
+                          #      import com.google.type.Color;
+                          #
+                          #      // ...
+                          #      public static java.awt.Color fromProto(Color protocolor) {
+                          #        float alpha = protocolor.hasAlpha()
+                          #            ? protocolor.getAlpha().getValue()
+                          #            : 1.0;
+                          #
+                          #        return new java.awt.Color(
+                          #            protocolor.getRed(),
+                          #            protocolor.getGreen(),
+                          #            protocolor.getBlue(),
+                          #            alpha);
+                          #      }
+                          #
+                          #      public static Color toProto(java.awt.Color color) {
+                          #        float red = (float) color.getRed();
+                          #        float green = (float) color.getGreen();
+                          #        float blue = (float) color.getBlue();
+                          #        float denominator = 255.0;
+                          #        Color.Builder resultBuilder =
+                          #            Color
+                          #                .newBuilder()
+                          #                .setRed(red / denominator)
+                          #                .setGreen(green / denominator)
+                          #                .setBlue(blue / denominator);
+                          #        int alpha = color.getAlpha();
+                          #        if (alpha != 255) {
+                          #          result.setAlpha(
+                          #              FloatValue
+                          #                  .newBuilder()
+                          #                  .setValue(((float) alpha) / denominator)
+                          #                  .build());
+                          #        }
+                          #        return resultBuilder.build();
+                          #      }
+                          #      // ...
+                          #
+                          # Example (iOS / Obj-C):
+                          #
+                          #      // ...
+                          #      static UIColor* fromProto(Color* protocolor) {
+                          #         float red = [protocolor red];
+                          #         float green = [protocolor green];
+                          #         float blue = [protocolor blue];
+                          #         FloatValue* alpha_wrapper = [protocolor alpha];
+                          #         float alpha = 1.0;
+                          #         if (alpha_wrapper != nil) {
+                          #           alpha = [alpha_wrapper value];
+                          #         }
+                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                          #      }
+                          #
+                          #      static Color* toProto(UIColor* color) {
+                          #          CGFloat red, green, blue, alpha;
+                          #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                          #            return nil;
+                          #          }
+                          #          Color* result = [Color alloc] init];
+                          #          [result setRed:red];
+                          #          [result setGreen:green];
+                          #          [result setBlue:blue];
+                          #          if (alpha <= 0.9999) {
+                          #            [result setAlpha:floatWrapperWithValue(alpha)];
+                          #          }
+                          #          [result autorelease];
+                          #          return result;
+                          #     }
+                          #     // ...
+                          #
+                          #  Example (JavaScript):
+                          #
+                          #     // ...
+                          #
+                          #     var protoToCssColor = function(rgb_color) {
+                          #        var redFrac = rgb_color.red || 0.0;
+                          #        var greenFrac = rgb_color.green || 0.0;
+                          #        var blueFrac = rgb_color.blue || 0.0;
+                          #        var red = Math.floor(redFrac * 255);
+                          #        var green = Math.floor(greenFrac * 255);
+                          #        var blue = Math.floor(blueFrac * 255);
+                          #
+                          #        if (!('alpha' in rgb_color)) {
+                          #           return rgbToCssColor_(red, green, blue);
+                          #        }
+                          #
+                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                          #        var rgbParams = [red, green, blue].join(',');
+                          #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                          #     };
+                          #
+                          #     var rgbToCssColor_ = function(red, green, blue) {
+                          #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                          #       var hexString = rgbNumber.toString(16);
+                          #       var missingZeros = 6 - hexString.length;
+                          #       var resultBuilder = ['#'];
+                          #       for (var i = 0; i < missingZeros; i++) {
+                          #          resultBuilder.push('0');
+                          #       }
+                          #       resultBuilder.push(hexString);
+                          #       return resultBuilder.join('');
+                          #     };
+                          #
+                          #     // ...
+                        "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                        "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                            # the final pixel color is defined by the equation:
+                            #
+                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                            #
+                            # This means that a value of 1.0 corresponds to a solid color, whereas
+                            # a value of 0.0 corresponds to a completely transparent color. This
+                            # uses a wrapper message rather than a simple float scalar so that it is
+                            # possible to distinguish between a default value and the value being unset.
+                            # If omitted, this color object is to be rendered as a solid color
+                            # (as if the alpha value had been explicitly given with a value of 1.0).
+                        "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      },
+                      "bold": True or False, # True if the text is bold.
+                      "strikethrough": True or False, # True if the text has a strikethrough.
+                      "fontFamily": "A String", # The font family.
+                      "fontSize": 42, # The size of the font.
+                      "italic": True or False, # True if the text is italicized.
+                      "underline": True or False, # True if the text is underlined.
+                    },
+                    "hyperlinkDisplayType": "A String", # How a hyperlink, if it exists, should be displayed in the cell.
+                    "borders": { # The borders of the cell. # The borders of the cell.
+                      "top": { # A border along a cell. # The top border of the cell.
+                        "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                            # for simplicity of conversion to/from color representations in various
+                            # languages over compactness; for example, the fields of this representation
+                            # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                            # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                            # method in iOS; and, with just a little work, it can be easily formatted into
+                            # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                            #
+                            # Example (Java):
+                            #
+                            #      import com.google.type.Color;
+                            #
+                            #      // ...
+                            #      public static java.awt.Color fromProto(Color protocolor) {
+                            #        float alpha = protocolor.hasAlpha()
+                            #            ? protocolor.getAlpha().getValue()
+                            #            : 1.0;
+                            #
+                            #        return new java.awt.Color(
+                            #            protocolor.getRed(),
+                            #            protocolor.getGreen(),
+                            #            protocolor.getBlue(),
+                            #            alpha);
+                            #      }
+                            #
+                            #      public static Color toProto(java.awt.Color color) {
+                            #        float red = (float) color.getRed();
+                            #        float green = (float) color.getGreen();
+                            #        float blue = (float) color.getBlue();
+                            #        float denominator = 255.0;
+                            #        Color.Builder resultBuilder =
+                            #            Color
+                            #                .newBuilder()
+                            #                .setRed(red / denominator)
+                            #                .setGreen(green / denominator)
+                            #                .setBlue(blue / denominator);
+                            #        int alpha = color.getAlpha();
+                            #        if (alpha != 255) {
+                            #          result.setAlpha(
+                            #              FloatValue
+                            #                  .newBuilder()
+                            #                  .setValue(((float) alpha) / denominator)
+                            #                  .build());
+                            #        }
+                            #        return resultBuilder.build();
+                            #      }
+                            #      // ...
+                            #
+                            # Example (iOS / Obj-C):
+                            #
+                            #      // ...
+                            #      static UIColor* fromProto(Color* protocolor) {
+                            #         float red = [protocolor red];
+                            #         float green = [protocolor green];
+                            #         float blue = [protocolor blue];
+                            #         FloatValue* alpha_wrapper = [protocolor alpha];
+                            #         float alpha = 1.0;
+                            #         if (alpha_wrapper != nil) {
+                            #           alpha = [alpha_wrapper value];
+                            #         }
+                            #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                            #      }
+                            #
+                            #      static Color* toProto(UIColor* color) {
+                            #          CGFloat red, green, blue, alpha;
+                            #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                            #            return nil;
+                            #          }
+                            #          Color* result = [Color alloc] init];
+                            #          [result setRed:red];
+                            #          [result setGreen:green];
+                            #          [result setBlue:blue];
+                            #          if (alpha <= 0.9999) {
+                            #            [result setAlpha:floatWrapperWithValue(alpha)];
+                            #          }
+                            #          [result autorelease];
+                            #          return result;
+                            #     }
+                            #     // ...
+                            #
+                            #  Example (JavaScript):
+                            #
+                            #     // ...
+                            #
+                            #     var protoToCssColor = function(rgb_color) {
+                            #        var redFrac = rgb_color.red || 0.0;
+                            #        var greenFrac = rgb_color.green || 0.0;
+                            #        var blueFrac = rgb_color.blue || 0.0;
+                            #        var red = Math.floor(redFrac * 255);
+                            #        var green = Math.floor(greenFrac * 255);
+                            #        var blue = Math.floor(blueFrac * 255);
+                            #
+                            #        if (!('alpha' in rgb_color)) {
+                            #           return rgbToCssColor_(red, green, blue);
+                            #        }
+                            #
+                            #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                            #        var rgbParams = [red, green, blue].join(',');
+                            #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                            #     };
+                            #
+                            #     var rgbToCssColor_ = function(red, green, blue) {
+                            #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                            #       var hexString = rgbNumber.toString(16);
+                            #       var missingZeros = 6 - hexString.length;
+                            #       var resultBuilder = ['#'];
+                            #       for (var i = 0; i < missingZeros; i++) {
+                            #          resultBuilder.push('0');
+                            #       }
+                            #       resultBuilder.push(hexString);
+                            #       return resultBuilder.join('');
+                            #     };
+                            #
+                            #     // ...
+                          "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                          "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                              # the final pixel color is defined by the equation:
+                              #
+                              #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                              #
+                              # This means that a value of 1.0 corresponds to a solid color, whereas
+                              # a value of 0.0 corresponds to a completely transparent color. This
+                              # uses a wrapper message rather than a simple float scalar so that it is
+                              # possible to distinguish between a default value and the value being unset.
+                              # If omitted, this color object is to be rendered as a solid color
+                              # (as if the alpha value had been explicitly given with a value of 1.0).
+                          "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        },
+                        "width": 42, # The width of the border, in pixels.
+                            # Border widths must be between 0 and 3 pixels.
+                        "style": "A String", # The style of the border.
+                      },
+                      "right": { # A border along a cell. # The right border of the cell.
+                        "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                            # for simplicity of conversion to/from color representations in various
+                            # languages over compactness; for example, the fields of this representation
+                            # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                            # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                            # method in iOS; and, with just a little work, it can be easily formatted into
+                            # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                            #
+                            # Example (Java):
+                            #
+                            #      import com.google.type.Color;
+                            #
+                            #      // ...
+                            #      public static java.awt.Color fromProto(Color protocolor) {
+                            #        float alpha = protocolor.hasAlpha()
+                            #            ? protocolor.getAlpha().getValue()
+                            #            : 1.0;
+                            #
+                            #        return new java.awt.Color(
+                            #            protocolor.getRed(),
+                            #            protocolor.getGreen(),
+                            #            protocolor.getBlue(),
+                            #            alpha);
+                            #      }
+                            #
+                            #      public static Color toProto(java.awt.Color color) {
+                            #        float red = (float) color.getRed();
+                            #        float green = (float) color.getGreen();
+                            #        float blue = (float) color.getBlue();
+                            #        float denominator = 255.0;
+                            #        Color.Builder resultBuilder =
+                            #            Color
+                            #                .newBuilder()
+                            #                .setRed(red / denominator)
+                            #                .setGreen(green / denominator)
+                            #                .setBlue(blue / denominator);
+                            #        int alpha = color.getAlpha();
+                            #        if (alpha != 255) {
+                            #          result.setAlpha(
+                            #              FloatValue
+                            #                  .newBuilder()
+                            #                  .setValue(((float) alpha) / denominator)
+                            #                  .build());
+                            #        }
+                            #        return resultBuilder.build();
+                            #      }
+                            #      // ...
+                            #
+                            # Example (iOS / Obj-C):
+                            #
+                            #      // ...
+                            #      static UIColor* fromProto(Color* protocolor) {
+                            #         float red = [protocolor red];
+                            #         float green = [protocolor green];
+                            #         float blue = [protocolor blue];
+                            #         FloatValue* alpha_wrapper = [protocolor alpha];
+                            #         float alpha = 1.0;
+                            #         if (alpha_wrapper != nil) {
+                            #           alpha = [alpha_wrapper value];
+                            #         }
+                            #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                            #      }
+                            #
+                            #      static Color* toProto(UIColor* color) {
+                            #          CGFloat red, green, blue, alpha;
+                            #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                            #            return nil;
+                            #          }
+                            #          Color* result = [Color alloc] init];
+                            #          [result setRed:red];
+                            #          [result setGreen:green];
+                            #          [result setBlue:blue];
+                            #          if (alpha <= 0.9999) {
+                            #            [result setAlpha:floatWrapperWithValue(alpha)];
+                            #          }
+                            #          [result autorelease];
+                            #          return result;
+                            #     }
+                            #     // ...
+                            #
+                            #  Example (JavaScript):
+                            #
+                            #     // ...
+                            #
+                            #     var protoToCssColor = function(rgb_color) {
+                            #        var redFrac = rgb_color.red || 0.0;
+                            #        var greenFrac = rgb_color.green || 0.0;
+                            #        var blueFrac = rgb_color.blue || 0.0;
+                            #        var red = Math.floor(redFrac * 255);
+                            #        var green = Math.floor(greenFrac * 255);
+                            #        var blue = Math.floor(blueFrac * 255);
+                            #
+                            #        if (!('alpha' in rgb_color)) {
+                            #           return rgbToCssColor_(red, green, blue);
+                            #        }
+                            #
+                            #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                            #        var rgbParams = [red, green, blue].join(',');
+                            #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                            #     };
+                            #
+                            #     var rgbToCssColor_ = function(red, green, blue) {
+                            #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                            #       var hexString = rgbNumber.toString(16);
+                            #       var missingZeros = 6 - hexString.length;
+                            #       var resultBuilder = ['#'];
+                            #       for (var i = 0; i < missingZeros; i++) {
+                            #          resultBuilder.push('0');
+                            #       }
+                            #       resultBuilder.push(hexString);
+                            #       return resultBuilder.join('');
+                            #     };
+                            #
+                            #     // ...
+                          "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                          "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                              # the final pixel color is defined by the equation:
+                              #
+                              #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                              #
+                              # This means that a value of 1.0 corresponds to a solid color, whereas
+                              # a value of 0.0 corresponds to a completely transparent color. This
+                              # uses a wrapper message rather than a simple float scalar so that it is
+                              # possible to distinguish between a default value and the value being unset.
+                              # If omitted, this color object is to be rendered as a solid color
+                              # (as if the alpha value had been explicitly given with a value of 1.0).
+                          "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        },
+                        "width": 42, # The width of the border, in pixels.
+                            # Border widths must be between 0 and 3 pixels.
+                        "style": "A String", # The style of the border.
+                      },
+                      "bottom": { # A border along a cell. # The bottom border of the cell.
+                        "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                            # for simplicity of conversion to/from color representations in various
+                            # languages over compactness; for example, the fields of this representation
+                            # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                            # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                            # method in iOS; and, with just a little work, it can be easily formatted into
+                            # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                            #
+                            # Example (Java):
+                            #
+                            #      import com.google.type.Color;
+                            #
+                            #      // ...
+                            #      public static java.awt.Color fromProto(Color protocolor) {
+                            #        float alpha = protocolor.hasAlpha()
+                            #            ? protocolor.getAlpha().getValue()
+                            #            : 1.0;
+                            #
+                            #        return new java.awt.Color(
+                            #            protocolor.getRed(),
+                            #            protocolor.getGreen(),
+                            #            protocolor.getBlue(),
+                            #            alpha);
+                            #      }
+                            #
+                            #      public static Color toProto(java.awt.Color color) {
+                            #        float red = (float) color.getRed();
+                            #        float green = (float) color.getGreen();
+                            #        float blue = (float) color.getBlue();
+                            #        float denominator = 255.0;
+                            #        Color.Builder resultBuilder =
+                            #            Color
+                            #                .newBuilder()
+                            #                .setRed(red / denominator)
+                            #                .setGreen(green / denominator)
+                            #                .setBlue(blue / denominator);
+                            #        int alpha = color.getAlpha();
+                            #        if (alpha != 255) {
+                            #          result.setAlpha(
+                            #              FloatValue
+                            #                  .newBuilder()
+                            #                  .setValue(((float) alpha) / denominator)
+                            #                  .build());
+                            #        }
+                            #        return resultBuilder.build();
+                            #      }
+                            #      // ...
+                            #
+                            # Example (iOS / Obj-C):
+                            #
+                            #      // ...
+                            #      static UIColor* fromProto(Color* protocolor) {
+                            #         float red = [protocolor red];
+                            #         float green = [protocolor green];
+                            #         float blue = [protocolor blue];
+                            #         FloatValue* alpha_wrapper = [protocolor alpha];
+                            #         float alpha = 1.0;
+                            #         if (alpha_wrapper != nil) {
+                            #           alpha = [alpha_wrapper value];
+                            #         }
+                            #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                            #      }
+                            #
+                            #      static Color* toProto(UIColor* color) {
+                            #          CGFloat red, green, blue, alpha;
+                            #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                            #            return nil;
+                            #          }
+                            #          Color* result = [Color alloc] init];
+                            #          [result setRed:red];
+                            #          [result setGreen:green];
+                            #          [result setBlue:blue];
+                            #          if (alpha <= 0.9999) {
+                            #            [result setAlpha:floatWrapperWithValue(alpha)];
+                            #          }
+                            #          [result autorelease];
+                            #          return result;
+                            #     }
+                            #     // ...
+                            #
+                            #  Example (JavaScript):
+                            #
+                            #     // ...
+                            #
+                            #     var protoToCssColor = function(rgb_color) {
+                            #        var redFrac = rgb_color.red || 0.0;
+                            #        var greenFrac = rgb_color.green || 0.0;
+                            #        var blueFrac = rgb_color.blue || 0.0;
+                            #        var red = Math.floor(redFrac * 255);
+                            #        var green = Math.floor(greenFrac * 255);
+                            #        var blue = Math.floor(blueFrac * 255);
+                            #
+                            #        if (!('alpha' in rgb_color)) {
+                            #           return rgbToCssColor_(red, green, blue);
+                            #        }
+                            #
+                            #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                            #        var rgbParams = [red, green, blue].join(',');
+                            #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                            #     };
+                            #
+                            #     var rgbToCssColor_ = function(red, green, blue) {
+                            #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                            #       var hexString = rgbNumber.toString(16);
+                            #       var missingZeros = 6 - hexString.length;
+                            #       var resultBuilder = ['#'];
+                            #       for (var i = 0; i < missingZeros; i++) {
+                            #          resultBuilder.push('0');
+                            #       }
+                            #       resultBuilder.push(hexString);
+                            #       return resultBuilder.join('');
+                            #     };
+                            #
+                            #     // ...
+                          "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                          "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                              # the final pixel color is defined by the equation:
+                              #
+                              #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                              #
+                              # This means that a value of 1.0 corresponds to a solid color, whereas
+                              # a value of 0.0 corresponds to a completely transparent color. This
+                              # uses a wrapper message rather than a simple float scalar so that it is
+                              # possible to distinguish between a default value and the value being unset.
+                              # If omitted, this color object is to be rendered as a solid color
+                              # (as if the alpha value had been explicitly given with a value of 1.0).
+                          "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        },
+                        "width": 42, # The width of the border, in pixels.
+                            # Border widths must be between 0 and 3 pixels.
+                        "style": "A String", # The style of the border.
+                      },
+                      "left": { # A border along a cell. # The left border of the cell.
+                        "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                            # for simplicity of conversion to/from color representations in various
+                            # languages over compactness; for example, the fields of this representation
+                            # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                            # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                            # method in iOS; and, with just a little work, it can be easily formatted into
+                            # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                            #
+                            # Example (Java):
+                            #
+                            #      import com.google.type.Color;
+                            #
+                            #      // ...
+                            #      public static java.awt.Color fromProto(Color protocolor) {
+                            #        float alpha = protocolor.hasAlpha()
+                            #            ? protocolor.getAlpha().getValue()
+                            #            : 1.0;
+                            #
+                            #        return new java.awt.Color(
+                            #            protocolor.getRed(),
+                            #            protocolor.getGreen(),
+                            #            protocolor.getBlue(),
+                            #            alpha);
+                            #      }
+                            #
+                            #      public static Color toProto(java.awt.Color color) {
+                            #        float red = (float) color.getRed();
+                            #        float green = (float) color.getGreen();
+                            #        float blue = (float) color.getBlue();
+                            #        float denominator = 255.0;
+                            #        Color.Builder resultBuilder =
+                            #            Color
+                            #                .newBuilder()
+                            #                .setRed(red / denominator)
+                            #                .setGreen(green / denominator)
+                            #                .setBlue(blue / denominator);
+                            #        int alpha = color.getAlpha();
+                            #        if (alpha != 255) {
+                            #          result.setAlpha(
+                            #              FloatValue
+                            #                  .newBuilder()
+                            #                  .setValue(((float) alpha) / denominator)
+                            #                  .build());
+                            #        }
+                            #        return resultBuilder.build();
+                            #      }
+                            #      // ...
+                            #
+                            # Example (iOS / Obj-C):
+                            #
+                            #      // ...
+                            #      static UIColor* fromProto(Color* protocolor) {
+                            #         float red = [protocolor red];
+                            #         float green = [protocolor green];
+                            #         float blue = [protocolor blue];
+                            #         FloatValue* alpha_wrapper = [protocolor alpha];
+                            #         float alpha = 1.0;
+                            #         if (alpha_wrapper != nil) {
+                            #           alpha = [alpha_wrapper value];
+                            #         }
+                            #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                            #      }
+                            #
+                            #      static Color* toProto(UIColor* color) {
+                            #          CGFloat red, green, blue, alpha;
+                            #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                            #            return nil;
+                            #          }
+                            #          Color* result = [Color alloc] init];
+                            #          [result setRed:red];
+                            #          [result setGreen:green];
+                            #          [result setBlue:blue];
+                            #          if (alpha <= 0.9999) {
+                            #            [result setAlpha:floatWrapperWithValue(alpha)];
+                            #          }
+                            #          [result autorelease];
+                            #          return result;
+                            #     }
+                            #     // ...
+                            #
+                            #  Example (JavaScript):
+                            #
+                            #     // ...
+                            #
+                            #     var protoToCssColor = function(rgb_color) {
+                            #        var redFrac = rgb_color.red || 0.0;
+                            #        var greenFrac = rgb_color.green || 0.0;
+                            #        var blueFrac = rgb_color.blue || 0.0;
+                            #        var red = Math.floor(redFrac * 255);
+                            #        var green = Math.floor(greenFrac * 255);
+                            #        var blue = Math.floor(blueFrac * 255);
+                            #
+                            #        if (!('alpha' in rgb_color)) {
+                            #           return rgbToCssColor_(red, green, blue);
+                            #        }
+                            #
+                            #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                            #        var rgbParams = [red, green, blue].join(',');
+                            #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                            #     };
+                            #
+                            #     var rgbToCssColor_ = function(red, green, blue) {
+                            #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                            #       var hexString = rgbNumber.toString(16);
+                            #       var missingZeros = 6 - hexString.length;
+                            #       var resultBuilder = ['#'];
+                            #       for (var i = 0; i < missingZeros; i++) {
+                            #          resultBuilder.push('0');
+                            #       }
+                            #       resultBuilder.push(hexString);
+                            #       return resultBuilder.join('');
+                            #     };
+                            #
+                            #     // ...
+                          "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                          "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                              # the final pixel color is defined by the equation:
+                              #
+                              #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                              #
+                              # This means that a value of 1.0 corresponds to a solid color, whereas
+                              # a value of 0.0 corresponds to a completely transparent color. This
+                              # uses a wrapper message rather than a simple float scalar so that it is
+                              # possible to distinguish between a default value and the value being unset.
+                              # If omitted, this color object is to be rendered as a solid color
+                              # (as if the alpha value had been explicitly given with a value of 1.0).
+                          "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        },
+                        "width": 42, # The width of the border, in pixels.
+                            # Border widths must be between 0 and 3 pixels.
+                        "style": "A String", # The style of the border.
+                      },
+                    },
+                    "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
+                  },
+                  "userEnteredFormat": { # The format of a cell. # The format the user entered for the cell.
+                      #
+                      # When writing, the new format will be merged with the existing format.
+                    "numberFormat": { # The number format of a cell. # A format describing how number values should be represented to the user.
+                        # When updating, all fields must be set.
+                      "pattern": "A String", # Pattern string used for formatting.
+                      "type": "A String", # The type of the number format.
+                    },
+                    "textDirection": "A String", # The direction of the text in the cell.
+                    "padding": { # The amount of padding around the cell, in pixels. # The padding of the cell.
+                        # When updating padding, every field must be specified.
+                      "top": 42, # The top padding of the cell.
+                      "right": 42, # The right padding of the cell.
+                      "bottom": 42, # The bottom padding of the cell.
+                      "left": 42, # The left padding of the cell.
+                    },
+                    "horizontalAlignment": "A String", # The horizontal alignment of the value in cell.
+                    "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                        # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha <= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!('alpha' in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(',');
+                        #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = ['#'];
+                        #       for (var i = 0; i < missingZeros; i++) {
+                        #          resultBuilder.push('0');
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join('');
+                        #     };
+                        #
+                        #     // ...
+                      "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                      "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    },
+                    "verticalAlignment": "A String", # The vertical alignment of the value in cell.
+                    "textFormat": { # The format of a run of text in a cell. # The format of the text in the cell (unless overridden by a format run).
+                        # Absent values indicate that the field isn't specified.
+                      "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
+                          # for simplicity of conversion to/from color representations in various
+                          # languages over compactness; for example, the fields of this representation
+                          # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                          # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                          # method in iOS; and, with just a little work, it can be easily formatted into
+                          # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                          #
+                          # Example (Java):
+                          #
+                          #      import com.google.type.Color;
+                          #
+                          #      // ...
+                          #      public static java.awt.Color fromProto(Color protocolor) {
+                          #        float alpha = protocolor.hasAlpha()
+                          #            ? protocolor.getAlpha().getValue()
+                          #            : 1.0;
+                          #
+                          #        return new java.awt.Color(
+                          #            protocolor.getRed(),
+                          #            protocolor.getGreen(),
+                          #            protocolor.getBlue(),
+                          #            alpha);
+                          #      }
+                          #
+                          #      public static Color toProto(java.awt.Color color) {
+                          #        float red = (float) color.getRed();
+                          #        float green = (float) color.getGreen();
+                          #        float blue = (float) color.getBlue();
+                          #        float denominator = 255.0;
+                          #        Color.Builder resultBuilder =
+                          #            Color
+                          #                .newBuilder()
+                          #                .setRed(red / denominator)
+                          #                .setGreen(green / denominator)
+                          #                .setBlue(blue / denominator);
+                          #        int alpha = color.getAlpha();
+                          #        if (alpha != 255) {
+                          #          result.setAlpha(
+                          #              FloatValue
+                          #                  .newBuilder()
+                          #                  .setValue(((float) alpha) / denominator)
+                          #                  .build());
+                          #        }
+                          #        return resultBuilder.build();
+                          #      }
+                          #      // ...
+                          #
+                          # Example (iOS / Obj-C):
+                          #
+                          #      // ...
+                          #      static UIColor* fromProto(Color* protocolor) {
+                          #         float red = [protocolor red];
+                          #         float green = [protocolor green];
+                          #         float blue = [protocolor blue];
+                          #         FloatValue* alpha_wrapper = [protocolor alpha];
+                          #         float alpha = 1.0;
+                          #         if (alpha_wrapper != nil) {
+                          #           alpha = [alpha_wrapper value];
+                          #         }
+                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                          #      }
+                          #
+                          #      static Color* toProto(UIColor* color) {
+                          #          CGFloat red, green, blue, alpha;
+                          #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                          #            return nil;
+                          #          }
+                          #          Color* result = [Color alloc] init];
+                          #          [result setRed:red];
+                          #          [result setGreen:green];
+                          #          [result setBlue:blue];
+                          #          if (alpha <= 0.9999) {
+                          #            [result setAlpha:floatWrapperWithValue(alpha)];
+                          #          }
+                          #          [result autorelease];
+                          #          return result;
+                          #     }
+                          #     // ...
+                          #
+                          #  Example (JavaScript):
+                          #
+                          #     // ...
+                          #
+                          #     var protoToCssColor = function(rgb_color) {
+                          #        var redFrac = rgb_color.red || 0.0;
+                          #        var greenFrac = rgb_color.green || 0.0;
+                          #        var blueFrac = rgb_color.blue || 0.0;
+                          #        var red = Math.floor(redFrac * 255);
+                          #        var green = Math.floor(greenFrac * 255);
+                          #        var blue = Math.floor(blueFrac * 255);
+                          #
+                          #        if (!('alpha' in rgb_color)) {
+                          #           return rgbToCssColor_(red, green, blue);
+                          #        }
+                          #
+                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                          #        var rgbParams = [red, green, blue].join(',');
+                          #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                          #     };
+                          #
+                          #     var rgbToCssColor_ = function(red, green, blue) {
+                          #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                          #       var hexString = rgbNumber.toString(16);
+                          #       var missingZeros = 6 - hexString.length;
+                          #       var resultBuilder = ['#'];
+                          #       for (var i = 0; i < missingZeros; i++) {
+                          #          resultBuilder.push('0');
+                          #       }
+                          #       resultBuilder.push(hexString);
+                          #       return resultBuilder.join('');
+                          #     };
+                          #
+                          #     // ...
+                        "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                        "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                            # the final pixel color is defined by the equation:
+                            #
+                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                            #
+                            # This means that a value of 1.0 corresponds to a solid color, whereas
+                            # a value of 0.0 corresponds to a completely transparent color. This
+                            # uses a wrapper message rather than a simple float scalar so that it is
+                            # possible to distinguish between a default value and the value being unset.
+                            # If omitted, this color object is to be rendered as a solid color
+                            # (as if the alpha value had been explicitly given with a value of 1.0).
+                        "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      },
+                      "bold": True or False, # True if the text is bold.
+                      "strikethrough": True or False, # True if the text has a strikethrough.
+                      "fontFamily": "A String", # The font family.
+                      "fontSize": 42, # The size of the font.
+                      "italic": True or False, # True if the text is italicized.
+                      "underline": True or False, # True if the text is underlined.
+                    },
+                    "hyperlinkDisplayType": "A String", # How a hyperlink, if it exists, should be displayed in the cell.
+                    "borders": { # The borders of the cell. # The borders of the cell.
+                      "top": { # A border along a cell. # The top border of the cell.
+                        "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                            # for simplicity of conversion to/from color representations in various
+                            # languages over compactness; for example, the fields of this representation
+                            # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                            # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                            # method in iOS; and, with just a little work, it can be easily formatted into
+                            # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                            #
+                            # Example (Java):
+                            #
+                            #      import com.google.type.Color;
+                            #
+                            #      // ...
+                            #      public static java.awt.Color fromProto(Color protocolor) {
+                            #        float alpha = protocolor.hasAlpha()
+                            #            ? protocolor.getAlpha().getValue()
+                            #            : 1.0;
+                            #
+                            #        return new java.awt.Color(
+                            #            protocolor.getRed(),
+                            #            protocolor.getGreen(),
+                            #            protocolor.getBlue(),
+                            #            alpha);
+                            #      }
+                            #
+                            #      public static Color toProto(java.awt.Color color) {
+                            #        float red = (float) color.getRed();
+                            #        float green = (float) color.getGreen();
+                            #        float blue = (float) color.getBlue();
+                            #        float denominator = 255.0;
+                            #        Color.Builder resultBuilder =
+                            #            Color
+                            #                .newBuilder()
+                            #                .setRed(red / denominator)
+                            #                .setGreen(green / denominator)
+                            #                .setBlue(blue / denominator);
+                            #        int alpha = color.getAlpha();
+                            #        if (alpha != 255) {
+                            #          result.setAlpha(
+                            #              FloatValue
+                            #                  .newBuilder()
+                            #                  .setValue(((float) alpha) / denominator)
+                            #                  .build());
+                            #        }
+                            #        return resultBuilder.build();
+                            #      }
+                            #      // ...
+                            #
+                            # Example (iOS / Obj-C):
+                            #
+                            #      // ...
+                            #      static UIColor* fromProto(Color* protocolor) {
+                            #         float red = [protocolor red];
+                            #         float green = [protocolor green];
+                            #         float blue = [protocolor blue];
+                            #         FloatValue* alpha_wrapper = [protocolor alpha];
+                            #         float alpha = 1.0;
+                            #         if (alpha_wrapper != nil) {
+                            #           alpha = [alpha_wrapper value];
+                            #         }
+                            #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                            #      }
+                            #
+                            #      static Color* toProto(UIColor* color) {
+                            #          CGFloat red, green, blue, alpha;
+                            #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                            #            return nil;
+                            #          }
+                            #          Color* result = [Color alloc] init];
+                            #          [result setRed:red];
+                            #          [result setGreen:green];
+                            #          [result setBlue:blue];
+                            #          if (alpha <= 0.9999) {
+                            #            [result setAlpha:floatWrapperWithValue(alpha)];
+                            #          }
+                            #          [result autorelease];
+                            #          return result;
+                            #     }
+                            #     // ...
+                            #
+                            #  Example (JavaScript):
+                            #
+                            #     // ...
+                            #
+                            #     var protoToCssColor = function(rgb_color) {
+                            #        var redFrac = rgb_color.red || 0.0;
+                            #        var greenFrac = rgb_color.green || 0.0;
+                            #        var blueFrac = rgb_color.blue || 0.0;
+                            #        var red = Math.floor(redFrac * 255);
+                            #        var green = Math.floor(greenFrac * 255);
+                            #        var blue = Math.floor(blueFrac * 255);
+                            #
+                            #        if (!('alpha' in rgb_color)) {
+                            #           return rgbToCssColor_(red, green, blue);
+                            #        }
+                            #
+                            #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                            #        var rgbParams = [red, green, blue].join(',');
+                            #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                            #     };
+                            #
+                            #     var rgbToCssColor_ = function(red, green, blue) {
+                            #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                            #       var hexString = rgbNumber.toString(16);
+                            #       var missingZeros = 6 - hexString.length;
+                            #       var resultBuilder = ['#'];
+                            #       for (var i = 0; i < missingZeros; i++) {
+                            #          resultBuilder.push('0');
+                            #       }
+                            #       resultBuilder.push(hexString);
+                            #       return resultBuilder.join('');
+                            #     };
+                            #
+                            #     // ...
+                          "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                          "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                              # the final pixel color is defined by the equation:
+                              #
+                              #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                              #
+                              # This means that a value of 1.0 corresponds to a solid color, whereas
+                              # a value of 0.0 corresponds to a completely transparent color. This
+                              # uses a wrapper message rather than a simple float scalar so that it is
+                              # possible to distinguish between a default value and the value being unset.
+                              # If omitted, this color object is to be rendered as a solid color
+                              # (as if the alpha value had been explicitly given with a value of 1.0).
+                          "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        },
+                        "width": 42, # The width of the border, in pixels.
+                            # Border widths must be between 0 and 3 pixels.
+                        "style": "A String", # The style of the border.
+                      },
+                      "right": { # A border along a cell. # The right border of the cell.
+                        "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                            # for simplicity of conversion to/from color representations in various
+                            # languages over compactness; for example, the fields of this representation
+                            # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                            # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                            # method in iOS; and, with just a little work, it can be easily formatted into
+                            # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                            #
+                            # Example (Java):
+                            #
+                            #      import com.google.type.Color;
+                            #
+                            #      // ...
+                            #      public static java.awt.Color fromProto(Color protocolor) {
+                            #        float alpha = protocolor.hasAlpha()
+                            #            ? protocolor.getAlpha().getValue()
+                            #            : 1.0;
+                            #
+                            #        return new java.awt.Color(
+                            #            protocolor.getRed(),
+                            #            protocolor.getGreen(),
+                            #            protocolor.getBlue(),
+                            #            alpha);
+                            #      }
+                            #
+                            #      public static Color toProto(java.awt.Color color) {
+                            #        float red = (float) color.getRed();
+                            #        float green = (float) color.getGreen();
+                            #        float blue = (float) color.getBlue();
+                            #        float denominator = 255.0;
+                            #        Color.Builder resultBuilder =
+                            #            Color
+                            #                .newBuilder()
+                            #                .setRed(red / denominator)
+                            #                .setGreen(green / denominator)
+                            #                .setBlue(blue / denominator);
+                            #        int alpha = color.getAlpha();
+                            #        if (alpha != 255) {
+                            #          result.setAlpha(
+                            #              FloatValue
+                            #                  .newBuilder()
+                            #                  .setValue(((float) alpha) / denominator)
+                            #                  .build());
+                            #        }
+                            #        return resultBuilder.build();
+                            #      }
+                            #      // ...
+                            #
+                            # Example (iOS / Obj-C):
+                            #
+                            #      // ...
+                            #      static UIColor* fromProto(Color* protocolor) {
+                            #         float red = [protocolor red];
+                            #         float green = [protocolor green];
+                            #         float blue = [protocolor blue];
+                            #         FloatValue* alpha_wrapper = [protocolor alpha];
+                            #         float alpha = 1.0;
+                            #         if (alpha_wrapper != nil) {
+                            #           alpha = [alpha_wrapper value];
+                            #         }
+                            #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                            #      }
+                            #
+                            #      static Color* toProto(UIColor* color) {
+                            #          CGFloat red, green, blue, alpha;
+                            #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                            #            return nil;
+                            #          }
+                            #          Color* result = [Color alloc] init];
+                            #          [result setRed:red];
+                            #          [result setGreen:green];
+                            #          [result setBlue:blue];
+                            #          if (alpha <= 0.9999) {
+                            #            [result setAlpha:floatWrapperWithValue(alpha)];
+                            #          }
+                            #          [result autorelease];
+                            #          return result;
+                            #     }
+                            #     // ...
+                            #
+                            #  Example (JavaScript):
+                            #
+                            #     // ...
+                            #
+                            #     var protoToCssColor = function(rgb_color) {
+                            #        var redFrac = rgb_color.red || 0.0;
+                            #        var greenFrac = rgb_color.green || 0.0;
+                            #        var blueFrac = rgb_color.blue || 0.0;
+                            #        var red = Math.floor(redFrac * 255);
+                            #        var green = Math.floor(greenFrac * 255);
+                            #        var blue = Math.floor(blueFrac * 255);
+                            #
+                            #        if (!('alpha' in rgb_color)) {
+                            #           return rgbToCssColor_(red, green, blue);
+                            #        }
+                            #
+                            #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                            #        var rgbParams = [red, green, blue].join(',');
+                            #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                            #     };
+                            #
+                            #     var rgbToCssColor_ = function(red, green, blue) {
+                            #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                            #       var hexString = rgbNumber.toString(16);
+                            #       var missingZeros = 6 - hexString.length;
+                            #       var resultBuilder = ['#'];
+                            #       for (var i = 0; i < missingZeros; i++) {
+                            #          resultBuilder.push('0');
+                            #       }
+                            #       resultBuilder.push(hexString);
+                            #       return resultBuilder.join('');
+                            #     };
+                            #
+                            #     // ...
+                          "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                          "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                              # the final pixel color is defined by the equation:
+                              #
+                              #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                              #
+                              # This means that a value of 1.0 corresponds to a solid color, whereas
+                              # a value of 0.0 corresponds to a completely transparent color. This
+                              # uses a wrapper message rather than a simple float scalar so that it is
+                              # possible to distinguish between a default value and the value being unset.
+                              # If omitted, this color object is to be rendered as a solid color
+                              # (as if the alpha value had been explicitly given with a value of 1.0).
+                          "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        },
+                        "width": 42, # The width of the border, in pixels.
+                            # Border widths must be between 0 and 3 pixels.
+                        "style": "A String", # The style of the border.
+                      },
+                      "bottom": { # A border along a cell. # The bottom border of the cell.
+                        "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                            # for simplicity of conversion to/from color representations in various
+                            # languages over compactness; for example, the fields of this representation
+                            # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                            # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                            # method in iOS; and, with just a little work, it can be easily formatted into
+                            # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                            #
+                            # Example (Java):
+                            #
+                            #      import com.google.type.Color;
+                            #
+                            #      // ...
+                            #      public static java.awt.Color fromProto(Color protocolor) {
+                            #        float alpha = protocolor.hasAlpha()
+                            #            ? protocolor.getAlpha().getValue()
+                            #            : 1.0;
+                            #
+                            #        return new java.awt.Color(
+                            #            protocolor.getRed(),
+                            #            protocolor.getGreen(),
+                            #            protocolor.getBlue(),
+                            #            alpha);
+                            #      }
+                            #
+                            #      public static Color toProto(java.awt.Color color) {
+                            #        float red = (float) color.getRed();
+                            #        float green = (float) color.getGreen();
+                            #        float blue = (float) color.getBlue();
+                            #        float denominator = 255.0;
+                            #        Color.Builder resultBuilder =
+                            #            Color
+                            #                .newBuilder()
+                            #                .setRed(red / denominator)
+                            #                .setGreen(green / denominator)
+                            #                .setBlue(blue / denominator);
+                            #        int alpha = color.getAlpha();
+                            #        if (alpha != 255) {
+                            #          result.setAlpha(
+                            #              FloatValue
+                            #                  .newBuilder()
+                            #                  .setValue(((float) alpha) / denominator)
+                            #                  .build());
+                            #        }
+                            #        return resultBuilder.build();
+                            #      }
+                            #      // ...
+                            #
+                            # Example (iOS / Obj-C):
+                            #
+                            #      // ...
+                            #      static UIColor* fromProto(Color* protocolor) {
+                            #         float red = [protocolor red];
+                            #         float green = [protocolor green];
+                            #         float blue = [protocolor blue];
+                            #         FloatValue* alpha_wrapper = [protocolor alpha];
+                            #         float alpha = 1.0;
+                            #         if (alpha_wrapper != nil) {
+                            #           alpha = [alpha_wrapper value];
+                            #         }
+                            #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                            #      }
+                            #
+                            #      static Color* toProto(UIColor* color) {
+                            #          CGFloat red, green, blue, alpha;
+                            #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                            #            return nil;
+                            #          }
+                            #          Color* result = [Color alloc] init];
+                            #          [result setRed:red];
+                            #          [result setGreen:green];
+                            #          [result setBlue:blue];
+                            #          if (alpha <= 0.9999) {
+                            #            [result setAlpha:floatWrapperWithValue(alpha)];
+                            #          }
+                            #          [result autorelease];
+                            #          return result;
+                            #     }
+                            #     // ...
+                            #
+                            #  Example (JavaScript):
+                            #
+                            #     // ...
+                            #
+                            #     var protoToCssColor = function(rgb_color) {
+                            #        var redFrac = rgb_color.red || 0.0;
+                            #        var greenFrac = rgb_color.green || 0.0;
+                            #        var blueFrac = rgb_color.blue || 0.0;
+                            #        var red = Math.floor(redFrac * 255);
+                            #        var green = Math.floor(greenFrac * 255);
+                            #        var blue = Math.floor(blueFrac * 255);
+                            #
+                            #        if (!('alpha' in rgb_color)) {
+                            #           return rgbToCssColor_(red, green, blue);
+                            #        }
+                            #
+                            #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                            #        var rgbParams = [red, green, blue].join(',');
+                            #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                            #     };
+                            #
+                            #     var rgbToCssColor_ = function(red, green, blue) {
+                            #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                            #       var hexString = rgbNumber.toString(16);
+                            #       var missingZeros = 6 - hexString.length;
+                            #       var resultBuilder = ['#'];
+                            #       for (var i = 0; i < missingZeros; i++) {
+                            #          resultBuilder.push('0');
+                            #       }
+                            #       resultBuilder.push(hexString);
+                            #       return resultBuilder.join('');
+                            #     };
+                            #
+                            #     // ...
+                          "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                          "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                              # the final pixel color is defined by the equation:
+                              #
+                              #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                              #
+                              # This means that a value of 1.0 corresponds to a solid color, whereas
+                              # a value of 0.0 corresponds to a completely transparent color. This
+                              # uses a wrapper message rather than a simple float scalar so that it is
+                              # possible to distinguish between a default value and the value being unset.
+                              # If omitted, this color object is to be rendered as a solid color
+                              # (as if the alpha value had been explicitly given with a value of 1.0).
+                          "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        },
+                        "width": 42, # The width of the border, in pixels.
+                            # Border widths must be between 0 and 3 pixels.
+                        "style": "A String", # The style of the border.
+                      },
+                      "left": { # A border along a cell. # The left border of the cell.
+                        "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                            # for simplicity of conversion to/from color representations in various
+                            # languages over compactness; for example, the fields of this representation
+                            # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                            # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                            # method in iOS; and, with just a little work, it can be easily formatted into
+                            # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                            #
+                            # Example (Java):
+                            #
+                            #      import com.google.type.Color;
+                            #
+                            #      // ...
+                            #      public static java.awt.Color fromProto(Color protocolor) {
+                            #        float alpha = protocolor.hasAlpha()
+                            #            ? protocolor.getAlpha().getValue()
+                            #            : 1.0;
+                            #
+                            #        return new java.awt.Color(
+                            #            protocolor.getRed(),
+                            #            protocolor.getGreen(),
+                            #            protocolor.getBlue(),
+                            #            alpha);
+                            #      }
+                            #
+                            #      public static Color toProto(java.awt.Color color) {
+                            #        float red = (float) color.getRed();
+                            #        float green = (float) color.getGreen();
+                            #        float blue = (float) color.getBlue();
+                            #        float denominator = 255.0;
+                            #        Color.Builder resultBuilder =
+                            #            Color
+                            #                .newBuilder()
+                            #                .setRed(red / denominator)
+                            #                .setGreen(green / denominator)
+                            #                .setBlue(blue / denominator);
+                            #        int alpha = color.getAlpha();
+                            #        if (alpha != 255) {
+                            #          result.setAlpha(
+                            #              FloatValue
+                            #                  .newBuilder()
+                            #                  .setValue(((float) alpha) / denominator)
+                            #                  .build());
+                            #        }
+                            #        return resultBuilder.build();
+                            #      }
+                            #      // ...
+                            #
+                            # Example (iOS / Obj-C):
+                            #
+                            #      // ...
+                            #      static UIColor* fromProto(Color* protocolor) {
+                            #         float red = [protocolor red];
+                            #         float green = [protocolor green];
+                            #         float blue = [protocolor blue];
+                            #         FloatValue* alpha_wrapper = [protocolor alpha];
+                            #         float alpha = 1.0;
+                            #         if (alpha_wrapper != nil) {
+                            #           alpha = [alpha_wrapper value];
+                            #         }
+                            #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                            #      }
+                            #
+                            #      static Color* toProto(UIColor* color) {
+                            #          CGFloat red, green, blue, alpha;
+                            #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                            #            return nil;
+                            #          }
+                            #          Color* result = [Color alloc] init];
+                            #          [result setRed:red];
+                            #          [result setGreen:green];
+                            #          [result setBlue:blue];
+                            #          if (alpha <= 0.9999) {
+                            #            [result setAlpha:floatWrapperWithValue(alpha)];
+                            #          }
+                            #          [result autorelease];
+                            #          return result;
+                            #     }
+                            #     // ...
+                            #
+                            #  Example (JavaScript):
+                            #
+                            #     // ...
+                            #
+                            #     var protoToCssColor = function(rgb_color) {
+                            #        var redFrac = rgb_color.red || 0.0;
+                            #        var greenFrac = rgb_color.green || 0.0;
+                            #        var blueFrac = rgb_color.blue || 0.0;
+                            #        var red = Math.floor(redFrac * 255);
+                            #        var green = Math.floor(greenFrac * 255);
+                            #        var blue = Math.floor(blueFrac * 255);
+                            #
+                            #        if (!('alpha' in rgb_color)) {
+                            #           return rgbToCssColor_(red, green, blue);
+                            #        }
+                            #
+                            #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                            #        var rgbParams = [red, green, blue].join(',');
+                            #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                            #     };
+                            #
+                            #     var rgbToCssColor_ = function(red, green, blue) {
+                            #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                            #       var hexString = rgbNumber.toString(16);
+                            #       var missingZeros = 6 - hexString.length;
+                            #       var resultBuilder = ['#'];
+                            #       for (var i = 0; i < missingZeros; i++) {
+                            #          resultBuilder.push('0');
+                            #       }
+                            #       resultBuilder.push(hexString);
+                            #       return resultBuilder.join('');
+                            #     };
+                            #
+                            #     // ...
+                          "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                          "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                              # the final pixel color is defined by the equation:
+                              #
+                              #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                              #
+                              # This means that a value of 1.0 corresponds to a solid color, whereas
+                              # a value of 0.0 corresponds to a completely transparent color. This
+                              # uses a wrapper message rather than a simple float scalar so that it is
+                              # possible to distinguish between a default value and the value being unset.
+                              # If omitted, this color object is to be rendered as a solid color
+                              # (as if the alpha value had been explicitly given with a value of 1.0).
+                          "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        },
+                        "width": 42, # The width of the border, in pixels.
+                            # Border widths must be between 0 and 3 pixels.
+                        "style": "A String", # The style of the border.
+                      },
+                    },
+                    "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
+                  },
+                  "dataValidation": { # A data validation rule. # A data validation rule on the cell, if any.
+                      #
+                      # When writing, the new data validation rule will overwrite any prior rule.
+                    "showCustomUi": True or False, # True if the UI should be customized based on the kind of condition.
+                        # If true, "List" conditions will show a dropdown.
+                    "strict": True or False, # True if invalid data should be rejected.
+                    "inputMessage": "A String", # A message to show the user when adding data to the cell.
+                    "condition": { # A condition that can evaluate to true or false. # The condition that data in the cell must match.
+                        # BooleanConditions are used by conditional formatting,
+                        # data validation, and the criteria in filters.
+                      "type": "A String", # The type of condition.
+                      "values": [ # The values of the condition. The number of supported values depends
+                          # on the condition type.  Some support zero values,
+                          # others one or two values,
+                          # and ConditionType.ONE_OF_LIST supports an arbitrary number of values.
+                        { # The value of the condition.
+                          "relativeDate": "A String", # A relative date (based on the current date).
+                              # Valid only if the type is
+                              # DATE_BEFORE,
+                              # DATE_AFTER,
+                              # DATE_ON_OR_BEFORE or
+                              # DATE_ON_OR_AFTER.
+                              #
+                              # Relative dates are not supported in data validation.
+                              # They are supported only in conditional formatting and
+                              # conditional filters.
+                          "userEnteredValue": "A String", # A value the condition is based on.
+                              # The value will be parsed as if the user typed into a cell.
+                              # Formulas are supported (and must begin with an `=`).
+                        },
+                      ],
+                    },
+                  },
+                  "textFormatRuns": [ # Runs of rich text applied to subsections of the cell.
+                      # Runs start at specific indexes in the text and continue until the next
+                      # run. Properties of a run will continue unless explicitly changed
+                      # in a subsequent run (and properties of the first run will continue
+                      # the properties of the cell unless explicitly changed).
+                      #
+                      # When writing, the new runs will overwrite any prior runs.
+                    { # A run of a text format. The format of this run continues until explicitly
+                        # overridden in the next run.
+                        # When updating, all fields must be set.
+                      "startIndex": 42, # The character index where this run starts.
+                      "format": { # The format of a run of text in a cell. # The format of this run.  Absent values inherit the cell's format.
+                          # Absent values indicate that the field isn't specified.
+                        "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
+                            # for simplicity of conversion to/from color representations in various
+                            # languages over compactness; for example, the fields of this representation
+                            # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                            # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                            # method in iOS; and, with just a little work, it can be easily formatted into
+                            # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                            #
+                            # Example (Java):
+                            #
+                            #      import com.google.type.Color;
+                            #
+                            #      // ...
+                            #      public static java.awt.Color fromProto(Color protocolor) {
+                            #        float alpha = protocolor.hasAlpha()
+                            #            ? protocolor.getAlpha().getValue()
+                            #            : 1.0;
+                            #
+                            #        return new java.awt.Color(
+                            #            protocolor.getRed(),
+                            #            protocolor.getGreen(),
+                            #            protocolor.getBlue(),
+                            #            alpha);
+                            #      }
+                            #
+                            #      public static Color toProto(java.awt.Color color) {
+                            #        float red = (float) color.getRed();
+                            #        float green = (float) color.getGreen();
+                            #        float blue = (float) color.getBlue();
+                            #        float denominator = 255.0;
+                            #        Color.Builder resultBuilder =
+                            #            Color
+                            #                .newBuilder()
+                            #                .setRed(red / denominator)
+                            #                .setGreen(green / denominator)
+                            #                .setBlue(blue / denominator);
+                            #        int alpha = color.getAlpha();
+                            #        if (alpha != 255) {
+                            #          result.setAlpha(
+                            #              FloatValue
+                            #                  .newBuilder()
+                            #                  .setValue(((float) alpha) / denominator)
+                            #                  .build());
+                            #        }
+                            #        return resultBuilder.build();
+                            #      }
+                            #      // ...
+                            #
+                            # Example (iOS / Obj-C):
+                            #
+                            #      // ...
+                            #      static UIColor* fromProto(Color* protocolor) {
+                            #         float red = [protocolor red];
+                            #         float green = [protocolor green];
+                            #         float blue = [protocolor blue];
+                            #         FloatValue* alpha_wrapper = [protocolor alpha];
+                            #         float alpha = 1.0;
+                            #         if (alpha_wrapper != nil) {
+                            #           alpha = [alpha_wrapper value];
+                            #         }
+                            #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                            #      }
+                            #
+                            #      static Color* toProto(UIColor* color) {
+                            #          CGFloat red, green, blue, alpha;
+                            #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                            #            return nil;
+                            #          }
+                            #          Color* result = [Color alloc] init];
+                            #          [result setRed:red];
+                            #          [result setGreen:green];
+                            #          [result setBlue:blue];
+                            #          if (alpha <= 0.9999) {
+                            #            [result setAlpha:floatWrapperWithValue(alpha)];
+                            #          }
+                            #          [result autorelease];
+                            #          return result;
+                            #     }
+                            #     // ...
+                            #
+                            #  Example (JavaScript):
+                            #
+                            #     // ...
+                            #
+                            #     var protoToCssColor = function(rgb_color) {
+                            #        var redFrac = rgb_color.red || 0.0;
+                            #        var greenFrac = rgb_color.green || 0.0;
+                            #        var blueFrac = rgb_color.blue || 0.0;
+                            #        var red = Math.floor(redFrac * 255);
+                            #        var green = Math.floor(greenFrac * 255);
+                            #        var blue = Math.floor(blueFrac * 255);
+                            #
+                            #        if (!('alpha' in rgb_color)) {
+                            #           return rgbToCssColor_(red, green, blue);
+                            #        }
+                            #
+                            #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                            #        var rgbParams = [red, green, blue].join(',');
+                            #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                            #     };
+                            #
+                            #     var rgbToCssColor_ = function(red, green, blue) {
+                            #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                            #       var hexString = rgbNumber.toString(16);
+                            #       var missingZeros = 6 - hexString.length;
+                            #       var resultBuilder = ['#'];
+                            #       for (var i = 0; i < missingZeros; i++) {
+                            #          resultBuilder.push('0');
+                            #       }
+                            #       resultBuilder.push(hexString);
+                            #       return resultBuilder.join('');
+                            #     };
+                            #
+                            #     // ...
+                          "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                          "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                              # the final pixel color is defined by the equation:
+                              #
+                              #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                              #
+                              # This means that a value of 1.0 corresponds to a solid color, whereas
+                              # a value of 0.0 corresponds to a completely transparent color. This
+                              # uses a wrapper message rather than a simple float scalar so that it is
+                              # possible to distinguish between a default value and the value being unset.
+                              # If omitted, this color object is to be rendered as a solid color
+                              # (as if the alpha value had been explicitly given with a value of 1.0).
+                          "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        },
+                        "bold": True or False, # True if the text is bold.
+                        "strikethrough": True or False, # True if the text has a strikethrough.
+                        "fontFamily": "A String", # The font family.
+                        "fontSize": 42, # The size of the font.
+                        "italic": True or False, # True if the text is italicized.
+                        "underline": True or False, # True if the text is underlined.
+                      },
+                    },
+                  ],
+                },
+              ],
+            },
+          ],
+          "start": { # A coordinate in a sheet. # The coordinate to start writing data at.
+              # Any number of rows and columns (including a different number of
+              # columns per row) may be written.
+              # All indexes are zero-based.
+            "rowIndex": 42, # The row index of the coordinate.
+            "columnIndex": 42, # The column index of the coordinate.
+            "sheetId": 42, # The sheet this coordinate is on.
+          },
+        },
+        "autoFill": { # Fills in more data based on existing data. # Automatically fills in more data based on existing data.
+          "useAlternateSeries": True or False, # True if we should generate data with the "alternate" series.
+              # This differs based on the type and amount of source data.
+          "range": { # A range on a sheet. # The range to autofill. This will examine the range and detect
+              # the location that has data and automatically fill that data
+              # in to the rest of the range.
+              # All indexes are zero-based.
+              # Indexes are half open, e.g the start index is inclusive
+              # and the end index is exclusive -- [start_index, end_index).
+              # Missing indexes indicate the range is unbounded on that side.
+              #
+              # For example, if "Sheet1" is grid ID 0, then:
+              #
+              #   Sheet1!A1:A1 == sheet_id: 0,
+              #                   start_row_index: 0, end_row_index: 1,
+              #                   start_column_index: 0, end_column_index: 1
+              #
+              #   Sheet1!A3:B4 == sheet_id: 0,
+              #                   start_row_index: 2, end_row_index: 4,
+              #                   start_column_index: 0, end_column_index: 2
+              #
+              #   Sheet1!A:B == sheet_id: 0,
+              #                 start_column_index: 0, end_column_index: 2
+              #
+              #   Sheet1!A5:B == sheet_id: 0,
+              #                  start_row_index: 4,
+              #                  start_column_index: 0, end_column_index: 2
+              #
+              #   Sheet1 == sheet_id:0
+              #
+              # The start index must always be less than or equal to the end index.
+              # If the start index equals the end index, then the range is empty.
+              # Empty ranges are typically not meaningful and are usually rendered in the
+              # UI as `#REF!`.
+            "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+            "sheetId": 42, # The sheet this range is on.
+            "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+          },
+          "sourceAndDestination": { # A combination of a source range and how to extend that source. # The source and destination areas to autofill.
+              # This explicitly lists the source of the autofill and where to
+              # extend that data.
+            "source": { # A range on a sheet. # The location of the data to use as the source of the autofill.
+                # All indexes are zero-based.
+                # Indexes are half open, e.g the start index is inclusive
+                # and the end index is exclusive -- [start_index, end_index).
+                # Missing indexes indicate the range is unbounded on that side.
+                #
+                # For example, if "Sheet1" is grid ID 0, then:
+                #
+                #   Sheet1!A1:A1 == sheet_id: 0,
+                #                   start_row_index: 0, end_row_index: 1,
+                #                   start_column_index: 0, end_column_index: 1
+                #
+                #   Sheet1!A3:B4 == sheet_id: 0,
+                #                   start_row_index: 2, end_row_index: 4,
+                #                   start_column_index: 0, end_column_index: 2
+                #
+                #   Sheet1!A:B == sheet_id: 0,
+                #                 start_column_index: 0, end_column_index: 2
+                #
+                #   Sheet1!A5:B == sheet_id: 0,
+                #                  start_row_index: 4,
+                #                  start_column_index: 0, end_column_index: 2
+                #
+                #   Sheet1 == sheet_id:0
+                #
+                # The start index must always be less than or equal to the end index.
+                # If the start index equals the end index, then the range is empty.
+                # Empty ranges are typically not meaningful and are usually rendered in the
+                # UI as `#REF!`.
+              "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "sheetId": 42, # The sheet this range is on.
+              "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+            },
+            "dimension": "A String", # The dimension that data should be filled into.
+            "fillLength": 42, # The number of rows or columns that data should be filled into.
+                # Positive numbers expand beyond the last row or last column
+                # of the source.  Negative numbers expand before the first row
+                # or first column of the source.
+          },
+        },
+        "appendDimension": { # Appends rows or columns to the end of a sheet. # Appends dimensions to the end of a sheet.
+          "length": 42, # The number of rows or columns to append.
+          "sheetId": 42, # The sheet to append rows or columns to.
+          "dimension": "A String", # Whether rows or columns should be appended.
+        },
+        "autoResizeDimensions": { # Automatically resizes one or more dimensions based on the contents # Automatically resizes one or more dimensions based on the contents
+            # of the cells in that dimension.
+            # of the cells in that dimension.
+          "dimensions": { # A range along a single dimension on a sheet. # The dimensions to automatically resize.
+              # Only COLUMNS are supported.
+              # All indexes are zero-based.
+              # Indexes are half open: the start index is inclusive
+              # and the end index is exclusive.
+              # Missing indexes indicate the range is unbounded on that side.
+            "endIndex": 42, # The end (exclusive) of the span, or not set if unbounded.
+            "startIndex": 42, # The start (inclusive) of the span, or not set if unbounded.
+            "sheetId": 42, # The sheet this span is on.
+            "dimension": "A String", # The dimension of the span.
+          },
+        },
+        "updateDimensionProperties": { # Updates properties of dimensions within the specified range. # Updates dimensions' properties.
+            # It is an error to specify read only fields in the field mask.
+          "fields": "A String", # The fields that should be updated.  At least one field must be specified.
+              # The root `properties` is implied and should not be specified.
+              # A single `"*"` can be used as short-hand for listing every field.
+          "range": { # A range along a single dimension on a sheet. # The rows or columns to update.
+              # All indexes are zero-based.
+              # Indexes are half open: the start index is inclusive
+              # and the end index is exclusive.
+              # Missing indexes indicate the range is unbounded on that side.
+            "endIndex": 42, # The end (exclusive) of the span, or not set if unbounded.
+            "startIndex": 42, # The start (inclusive) of the span, or not set if unbounded.
+            "sheetId": 42, # The sheet this span is on.
+            "dimension": "A String", # The dimension of the span.
+          },
+          "properties": { # Properties about a dimension. # Properties to update.
+            "pixelSize": 42, # The height (if a row) or width (if a column) of the dimension in pixels.
+            "hiddenByUser": True or False, # True if this dimension is explicitly hidden.
+            "hiddenByFilter": True or False, # True if this dimension is being filtered.
+                # This field is read-only.
+          },
+        },
+        "unmergeCells": { # Unmerges cells in the given range. # Unmerges merged cells.
+          "range": { # A range on a sheet. # The range within which all cells should be unmerged.
+              # If the range spans multiple merges, all will be unmerged.
+              # The range must not partially span any merge.
+              # All indexes are zero-based.
+              # Indexes are half open, e.g the start index is inclusive
+              # and the end index is exclusive -- [start_index, end_index).
+              # Missing indexes indicate the range is unbounded on that side.
+              #
+              # For example, if "Sheet1" is grid ID 0, then:
+              #
+              #   Sheet1!A1:A1 == sheet_id: 0,
+              #                   start_row_index: 0, end_row_index: 1,
+              #                   start_column_index: 0, end_column_index: 1
+              #
+              #   Sheet1!A3:B4 == sheet_id: 0,
+              #                   start_row_index: 2, end_row_index: 4,
+              #                   start_column_index: 0, end_column_index: 2
+              #
+              #   Sheet1!A:B == sheet_id: 0,
+              #                 start_column_index: 0, end_column_index: 2
+              #
+              #   Sheet1!A5:B == sheet_id: 0,
+              #                  start_row_index: 4,
+              #                  start_column_index: 0, end_column_index: 2
+              #
+              #   Sheet1 == sheet_id:0
+              #
+              # The start index must always be less than or equal to the end index.
+              # If the start index equals the end index, then the range is empty.
+              # Empty ranges are typically not meaningful and are usually rendered in the
+              # UI as `#REF!`.
+            "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+            "sheetId": 42, # The sheet this range is on.
+            "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+          },
+        },
+        "setDataValidation": { # Sets a data validation rule to every cell in the range. # Sets data validation for one or more cells.
+            # To clear validation in a range, call this with no rule specified.
+          "range": { # A range on a sheet. # The range the data validation rule should apply to.
+              # All indexes are zero-based.
+              # Indexes are half open, e.g the start index is inclusive
+              # and the end index is exclusive -- [start_index, end_index).
+              # Missing indexes indicate the range is unbounded on that side.
+              #
+              # For example, if "Sheet1" is grid ID 0, then:
+              #
+              #   Sheet1!A1:A1 == sheet_id: 0,
+              #                   start_row_index: 0, end_row_index: 1,
+              #                   start_column_index: 0, end_column_index: 1
+              #
+              #   Sheet1!A3:B4 == sheet_id: 0,
+              #                   start_row_index: 2, end_row_index: 4,
+              #                   start_column_index: 0, end_column_index: 2
+              #
+              #   Sheet1!A:B == sheet_id: 0,
+              #                 start_column_index: 0, end_column_index: 2
+              #
+              #   Sheet1!A5:B == sheet_id: 0,
+              #                  start_row_index: 4,
+              #                  start_column_index: 0, end_column_index: 2
+              #
+              #   Sheet1 == sheet_id:0
+              #
+              # The start index must always be less than or equal to the end index.
+              # If the start index equals the end index, then the range is empty.
+              # Empty ranges are typically not meaningful and are usually rendered in the
+              # UI as `#REF!`.
+            "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+            "sheetId": 42, # The sheet this range is on.
+            "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+          },
+          "rule": { # A data validation rule. # The data validation rule to set on each cell in the range,
+              # or empty to clear the data validation in the range.
+            "showCustomUi": True or False, # True if the UI should be customized based on the kind of condition.
+                # If true, "List" conditions will show a dropdown.
+            "strict": True or False, # True if invalid data should be rejected.
+            "inputMessage": "A String", # A message to show the user when adding data to the cell.
+            "condition": { # A condition that can evaluate to true or false. # The condition that data in the cell must match.
+                # BooleanConditions are used by conditional formatting,
+                # data validation, and the criteria in filters.
+              "type": "A String", # The type of condition.
+              "values": [ # The values of the condition. The number of supported values depends
+                  # on the condition type.  Some support zero values,
+                  # others one or two values,
+                  # and ConditionType.ONE_OF_LIST supports an arbitrary number of values.
+                { # The value of the condition.
+                  "relativeDate": "A String", # A relative date (based on the current date).
+                      # Valid only if the type is
+                      # DATE_BEFORE,
+                      # DATE_AFTER,
+                      # DATE_ON_OR_BEFORE or
+                      # DATE_ON_OR_AFTER.
+                      #
+                      # Relative dates are not supported in data validation.
+                      # They are supported only in conditional formatting and
+                      # conditional filters.
+                  "userEnteredValue": "A String", # A value the condition is based on.
+                      # The value will be parsed as if the user typed into a cell.
+                      # Formulas are supported (and must begin with an `=`).
+                },
+              ],
+            },
+          },
+        },
+        "clearBasicFilter": { # Clears the basic filter, if any exists on the sheet. # Clears the basic filter on a sheet.
+          "sheetId": 42, # The sheet ID on which the basic filter should be cleared.
+        },
+        "addNamedRange": { # Adds a named range to the spreadsheet. # Adds a named range.
+          "namedRange": { # A named range. # The named range to add. If a non-empty
+              # namedRangeId is specified, the named range
+              # will use that ID. (It is an error to specify the ID of a named
+              # range that already exists.)
+            "namedRangeId": "A String", # The ID of the named range.
+            "range": { # A range on a sheet. # The range this represents.
+                # All indexes are zero-based.
+                # Indexes are half open, e.g the start index is inclusive
+                # and the end index is exclusive -- [start_index, end_index).
+                # Missing indexes indicate the range is unbounded on that side.
+                #
+                # For example, if "Sheet1" is grid ID 0, then:
+                #
+                #   Sheet1!A1:A1 == sheet_id: 0,
+                #                   start_row_index: 0, end_row_index: 1,
+                #                   start_column_index: 0, end_column_index: 1
+                #
+                #   Sheet1!A3:B4 == sheet_id: 0,
+                #                   start_row_index: 2, end_row_index: 4,
+                #                   start_column_index: 0, end_column_index: 2
+                #
+                #   Sheet1!A:B == sheet_id: 0,
+                #                 start_column_index: 0, end_column_index: 2
+                #
+                #   Sheet1!A5:B == sheet_id: 0,
+                #                  start_row_index: 4,
+                #                  start_column_index: 0, end_column_index: 2
+                #
+                #   Sheet1 == sheet_id:0
+                #
+                # The start index must always be less than or equal to the end index.
+                # If the start index equals the end index, then the range is empty.
+                # Empty ranges are typically not meaningful and are usually rendered in the
+                # UI as `#REF!`.
+              "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "sheetId": 42, # The sheet this range is on.
+              "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+            },
+            "name": "A String", # The name of the named range.
+          },
+        },
+        "updateChartSpec": { # Updates a chart's specifications. # Updates a chart's specifications.
+            # (This does not move or resize a chart. To move or resize a chart, use
+            #  UpdateEmbeddedObjectPositionRequest.)
+          "chartId": 42, # The ID of the chart to update.
+          "spec": { # The specifications of a chart. # The specification to apply to the chart.
+            "hiddenDimensionStrategy": "A String", # Determines how the charts will use hidden rows or columns.
+                # This value is only meaningful if the
+                # ChartData.sourceRange
+                # is used for a domain or series.
+            "pieChart": { # A pie chart. # A pie chart specification.
+              "series": { # The data included in a domain or series. # The data that covers the one and only series of the pie chart.
+                "sourceRange": { # Source ranges for a chart. # The source ranges of the data.
+                  "sources": [ # The ranges of data for a series or domain.
+                      # Exactly one dimension must have a length of 1,
+                      # and all sources in the list must have the same dimension
+                      # with length 1.
+                      # The domain (if it exists) & all series must have the same number
+                      # of source ranges. If using more than one source range, then the source
+                      # range at a given offset must be contiguous across the domain and series.
+                      #
+                      # For example, these are valid configurations:
+                      #
+                      #     domain sources: A1:A5
+                      #     series1 sources: B1:B5
+                      #     series2 sources: D6:D10
+                      #
+                      #     domain sources: A1:A5, C10:C12
+                      #     series1 sources: B1:B5, D10:D12
+                      #     series2 sources: C1:C5, E10:E12
+                    { # A range on a sheet.
+                        # All indexes are zero-based.
+                        # Indexes are half open, e.g the start index is inclusive
+                        # and the end index is exclusive -- [start_index, end_index).
+                        # Missing indexes indicate the range is unbounded on that side.
+                        #
+                        # For example, if "Sheet1" is grid ID 0, then:
+                        #
+                        #   Sheet1!A1:A1 == sheet_id: 0,
+                        #                   start_row_index: 0, end_row_index: 1,
+                        #                   start_column_index: 0, end_column_index: 1
+                        #
+                        #   Sheet1!A3:B4 == sheet_id: 0,
+                        #                   start_row_index: 2, end_row_index: 4,
+                        #                   start_column_index: 0, end_column_index: 2
+                        #
+                        #   Sheet1!A:B == sheet_id: 0,
+                        #                 start_column_index: 0, end_column_index: 2
+                        #
+                        #   Sheet1!A5:B == sheet_id: 0,
+                        #                  start_row_index: 4,
+                        #                  start_column_index: 0, end_column_index: 2
+                        #
+                        #   Sheet1 == sheet_id:0
+                        #
+                        # The start index must always be less than or equal to the end index.
+                        # If the start index equals the end index, then the range is empty.
+                        # Empty ranges are typically not meaningful and are usually rendered in the
+                        # UI as `#REF!`.
+                      "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+                      "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                      "sheetId": 42, # The sheet this range is on.
+                      "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+                      "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                    },
+                  ],
+                },
+              },
+              "domain": { # The data included in a domain or series. # The data that covers the domain of the pie chart.
+                "sourceRange": { # Source ranges for a chart. # The source ranges of the data.
+                  "sources": [ # The ranges of data for a series or domain.
+                      # Exactly one dimension must have a length of 1,
+                      # and all sources in the list must have the same dimension
+                      # with length 1.
+                      # The domain (if it exists) & all series must have the same number
+                      # of source ranges. If using more than one source range, then the source
+                      # range at a given offset must be contiguous across the domain and series.
+                      #
+                      # For example, these are valid configurations:
+                      #
+                      #     domain sources: A1:A5
+                      #     series1 sources: B1:B5
+                      #     series2 sources: D6:D10
+                      #
+                      #     domain sources: A1:A5, C10:C12
+                      #     series1 sources: B1:B5, D10:D12
+                      #     series2 sources: C1:C5, E10:E12
+                    { # A range on a sheet.
+                        # All indexes are zero-based.
+                        # Indexes are half open, e.g the start index is inclusive
+                        # and the end index is exclusive -- [start_index, end_index).
+                        # Missing indexes indicate the range is unbounded on that side.
+                        #
+                        # For example, if "Sheet1" is grid ID 0, then:
+                        #
+                        #   Sheet1!A1:A1 == sheet_id: 0,
+                        #                   start_row_index: 0, end_row_index: 1,
+                        #                   start_column_index: 0, end_column_index: 1
+                        #
+                        #   Sheet1!A3:B4 == sheet_id: 0,
+                        #                   start_row_index: 2, end_row_index: 4,
+                        #                   start_column_index: 0, end_column_index: 2
+                        #
+                        #   Sheet1!A:B == sheet_id: 0,
+                        #                 start_column_index: 0, end_column_index: 2
+                        #
+                        #   Sheet1!A5:B == sheet_id: 0,
+                        #                  start_row_index: 4,
+                        #                  start_column_index: 0, end_column_index: 2
+                        #
+                        #   Sheet1 == sheet_id:0
+                        #
+                        # The start index must always be less than or equal to the end index.
+                        # If the start index equals the end index, then the range is empty.
+                        # Empty ranges are typically not meaningful and are usually rendered in the
+                        # UI as `#REF!`.
+                      "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+                      "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                      "sheetId": 42, # The sheet this range is on.
+                      "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+                      "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                    },
+                  ],
+                },
+              },
+              "threeDimensional": True or False, # True if the pie is three dimensional.
+              "legendPosition": "A String", # Where the legend of the pie chart should be drawn.
+              "pieHole": 3.14, # The size of the hole in the pie chart.
+            },
+            "basicChart": { # The specification for a basic chart.  See BasicChartType for the list # A basic chart specification, can be one of many kinds of charts.
+                # See BasicChartType for the list of all charts this supports.
+                # of charts this supports.
+              "headerCount": 42, # The number of rows or columns in the data that are "headers".
+                  # If not set, Google Sheets will guess how many rows are headers based
+                  # on the data.
+                  #
+                  # (Note that BasicChartAxis.title may override the axis title
+                  #  inferred from the header values.)
+              "series": [ # The data this chart is visualizing.
+                { # A single series of data in a chart.
+                    # For example, if charting stock prices over time, multiple series may exist,
+                    # one for the "Open Price", "High Price", "Low Price" and "Close Price".
+                  "series": { # The data included in a domain or series. # The data being visualized in this chart series.
+                    "sourceRange": { # Source ranges for a chart. # The source ranges of the data.
+                      "sources": [ # The ranges of data for a series or domain.
+                          # Exactly one dimension must have a length of 1,
+                          # and all sources in the list must have the same dimension
+                          # with length 1.
+                          # The domain (if it exists) & all series must have the same number
+                          # of source ranges. If using more than one source range, then the source
+                          # range at a given offset must be contiguous across the domain and series.
+                          #
+                          # For example, these are valid configurations:
+                          #
+                          #     domain sources: A1:A5
+                          #     series1 sources: B1:B5
+                          #     series2 sources: D6:D10
+                          #
+                          #     domain sources: A1:A5, C10:C12
+                          #     series1 sources: B1:B5, D10:D12
+                          #     series2 sources: C1:C5, E10:E12
+                        { # A range on a sheet.
+                            # All indexes are zero-based.
+                            # Indexes are half open, e.g the start index is inclusive
+                            # and the end index is exclusive -- [start_index, end_index).
+                            # Missing indexes indicate the range is unbounded on that side.
+                            #
+                            # For example, if "Sheet1" is grid ID 0, then:
+                            #
+                            #   Sheet1!A1:A1 == sheet_id: 0,
+                            #                   start_row_index: 0, end_row_index: 1,
+                            #                   start_column_index: 0, end_column_index: 1
+                            #
+                            #   Sheet1!A3:B4 == sheet_id: 0,
+                            #                   start_row_index: 2, end_row_index: 4,
+                            #                   start_column_index: 0, end_column_index: 2
+                            #
+                            #   Sheet1!A:B == sheet_id: 0,
+                            #                 start_column_index: 0, end_column_index: 2
+                            #
+                            #   Sheet1!A5:B == sheet_id: 0,
+                            #                  start_row_index: 4,
+                            #                  start_column_index: 0, end_column_index: 2
+                            #
+                            #   Sheet1 == sheet_id:0
+                            #
+                            # The start index must always be less than or equal to the end index.
+                            # If the start index equals the end index, then the range is empty.
+                            # Empty ranges are typically not meaningful and are usually rendered in the
+                            # UI as `#REF!`.
+                          "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+                          "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                          "sheetId": 42, # The sheet this range is on.
+                          "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+                          "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        },
+                      ],
+                    },
+                  },
+                  "targetAxis": "A String", # The minor axis that will specify the range of values for this series.
+                      # For example, if charting stocks over time, the "Volume" series
+                      # may want to be pinned to the right with the prices pinned to the left,
+                      # because the scale of trading volume is different than the scale of
+                      # prices.
+                      # It is an error to specify an axis that isn't a valid minor axis
+                      # for the chart's type.
+                  "type": "A String", # The type of this series. Valid only if the
+                      # chartType is
+                      # COMBO.
+                      # Different types will change the way the series is visualized.
+                      # Only LINE, AREA,
+                      # and COLUMN are supported.
+                },
+              ],
+              "legendPosition": "A String", # The position of the chart legend.
+              "domains": [ # The domain of data this is charting.
+                  # Only a single domain is currently supported.
+                { # The domain of a chart.
+                    # For example, if charting stock prices over time, this would be the date.
+                  "domain": { # The data included in a domain or series. # The data of the domain. For example, if charting stock prices over time,
+                      # this be the data representing the dates.
+                    "sourceRange": { # Source ranges for a chart. # The source ranges of the data.
+                      "sources": [ # The ranges of data for a series or domain.
+                          # Exactly one dimension must have a length of 1,
+                          # and all sources in the list must have the same dimension
+                          # with length 1.
+                          # The domain (if it exists) & all series must have the same number
+                          # of source ranges. If using more than one source range, then the source
+                          # range at a given offset must be contiguous across the domain and series.
+                          #
+                          # For example, these are valid configurations:
+                          #
+                          #     domain sources: A1:A5
+                          #     series1 sources: B1:B5
+                          #     series2 sources: D6:D10
+                          #
+                          #     domain sources: A1:A5, C10:C12
+                          #     series1 sources: B1:B5, D10:D12
+                          #     series2 sources: C1:C5, E10:E12
+                        { # A range on a sheet.
+                            # All indexes are zero-based.
+                            # Indexes are half open, e.g the start index is inclusive
+                            # and the end index is exclusive -- [start_index, end_index).
+                            # Missing indexes indicate the range is unbounded on that side.
+                            #
+                            # For example, if "Sheet1" is grid ID 0, then:
+                            #
+                            #   Sheet1!A1:A1 == sheet_id: 0,
+                            #                   start_row_index: 0, end_row_index: 1,
+                            #                   start_column_index: 0, end_column_index: 1
+                            #
+                            #   Sheet1!A3:B4 == sheet_id: 0,
+                            #                   start_row_index: 2, end_row_index: 4,
+                            #                   start_column_index: 0, end_column_index: 2
+                            #
+                            #   Sheet1!A:B == sheet_id: 0,
+                            #                 start_column_index: 0, end_column_index: 2
+                            #
+                            #   Sheet1!A5:B == sheet_id: 0,
+                            #                  start_row_index: 4,
+                            #                  start_column_index: 0, end_column_index: 2
+                            #
+                            #   Sheet1 == sheet_id:0
+                            #
+                            # The start index must always be less than or equal to the end index.
+                            # If the start index equals the end index, then the range is empty.
+                            # Empty ranges are typically not meaningful and are usually rendered in the
+                            # UI as `#REF!`.
+                          "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+                          "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                          "sheetId": 42, # The sheet this range is on.
+                          "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+                          "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        },
+                      ],
+                    },
+                  },
+                },
+              ],
+              "chartType": "A String", # The type of the chart.
+              "axis": [ # The axis on the chart.
+                { # An axis of the chart.
+                    # A chart may not have more than one axis per
+                    # axis position.
+                  "position": "A String", # The position of this axis.
+                  "format": { # The format of a run of text in a cell. # The format of the title.
+                      # Only valid if the axis is not associated with the domain.
+                      # Absent values indicate that the field isn't specified.
+                    "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                        # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha <= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!('alpha' in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(',');
+                        #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = ['#'];
+                        #       for (var i = 0; i < missingZeros; i++) {
+                        #          resultBuilder.push('0');
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join('');
+                        #     };
+                        #
+                        #     // ...
+                      "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                      "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    },
+                    "bold": True or False, # True if the text is bold.
+                    "strikethrough": True or False, # True if the text has a strikethrough.
+                    "fontFamily": "A String", # The font family.
+                    "fontSize": 42, # The size of the font.
+                    "italic": True or False, # True if the text is italicized.
+                    "underline": True or False, # True if the text is underlined.
+                  },
+                  "title": "A String", # The title of this axis. If set, this overrides any title inferred
+                      # from headers of the data.
+                },
+              ],
+            },
+            "title": "A String", # The title of the chart.
+          },
+        },
+        "moveDimension": { # Moves one or more rows or columns. # Moves rows or columns to another location in a sheet.
+          "source": { # A range along a single dimension on a sheet. # The source dimensions to move.
+              # All indexes are zero-based.
+              # Indexes are half open: the start index is inclusive
+              # and the end index is exclusive.
+              # Missing indexes indicate the range is unbounded on that side.
+            "endIndex": 42, # The end (exclusive) of the span, or not set if unbounded.
+            "startIndex": 42, # The start (inclusive) of the span, or not set if unbounded.
+            "sheetId": 42, # The sheet this span is on.
+            "dimension": "A String", # The dimension of the span.
+          },
+          "destinationIndex": 42, # The zero-based start index of where to move the source data to,
+              # based on the coordinates *before* the source data is removed
+              # from the grid.  Existing data will be shifted down or right
+              # (depending on the dimension) to make room for the moved dimensions.
+              # The source dimensions are removed from the grid, so the
+              # the data may end up in a different index than specified.
+              #
+              # For example, given `A1..A5` of `0, 1, 2, 3, 4` and wanting to move
+              # "`1`" and "`2`" to between "`3`" and "`4`", the source would be
+              # `ROWS [1..3)`,and the destination index would be "`4`"
+              # (the zero-based index of row 5).
+              # The end result would be `A1..A5` of `0, 3, 1, 2, 4`.
+        },
+        "textToColumns": { # Splits a column of text into multiple columns, # Converts a column of text into many columns of text.
+            # based on a delimiter in each cell.
+          "source": { # A range on a sheet. # The source data range.  This must span exactly one column.
+              # All indexes are zero-based.
+              # Indexes are half open, e.g the start index is inclusive
+              # and the end index is exclusive -- [start_index, end_index).
+              # Missing indexes indicate the range is unbounded on that side.
+              #
+              # For example, if "Sheet1" is grid ID 0, then:
+              #
+              #   Sheet1!A1:A1 == sheet_id: 0,
+              #                   start_row_index: 0, end_row_index: 1,
+              #                   start_column_index: 0, end_column_index: 1
+              #
+              #   Sheet1!A3:B4 == sheet_id: 0,
+              #                   start_row_index: 2, end_row_index: 4,
+              #                   start_column_index: 0, end_column_index: 2
+              #
+              #   Sheet1!A:B == sheet_id: 0,
+              #                 start_column_index: 0, end_column_index: 2
+              #
+              #   Sheet1!A5:B == sheet_id: 0,
+              #                  start_row_index: 4,
+              #                  start_column_index: 0, end_column_index: 2
+              #
+              #   Sheet1 == sheet_id:0
+              #
+              # The start index must always be less than or equal to the end index.
+              # If the start index equals the end index, then the range is empty.
+              # Empty ranges are typically not meaningful and are usually rendered in the
+              # UI as `#REF!`.
+            "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+            "sheetId": 42, # The sheet this range is on.
+            "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+          },
+          "delimiter": "A String", # The delimiter to use. Used only if delimiterType is
+              # CUSTOM.
+          "delimiterType": "A String", # The delimiter type to use.
+        },
+        "deleteFilterView": { # Deletes a particular filter view. # Deletes a filter view from a sheet.
+          "filterId": 42, # The ID of the filter to delete.
+        },
+        "mergeCells": { # Merges all cells in the range. # Merges cells together.
+          "range": { # A range on a sheet. # The range of cells to merge.
+              # All indexes are zero-based.
+              # Indexes are half open, e.g the start index is inclusive
+              # and the end index is exclusive -- [start_index, end_index).
+              # Missing indexes indicate the range is unbounded on that side.
+              #
+              # For example, if "Sheet1" is grid ID 0, then:
+              #
+              #   Sheet1!A1:A1 == sheet_id: 0,
+              #                   start_row_index: 0, end_row_index: 1,
+              #                   start_column_index: 0, end_column_index: 1
+              #
+              #   Sheet1!A3:B4 == sheet_id: 0,
+              #                   start_row_index: 2, end_row_index: 4,
+              #                   start_column_index: 0, end_column_index: 2
+              #
+              #   Sheet1!A:B == sheet_id: 0,
+              #                 start_column_index: 0, end_column_index: 2
+              #
+              #   Sheet1!A5:B == sheet_id: 0,
+              #                  start_row_index: 4,
+              #                  start_column_index: 0, end_column_index: 2
+              #
+              #   Sheet1 == sheet_id:0
+              #
+              # The start index must always be less than or equal to the end index.
+              # If the start index equals the end index, then the range is empty.
+              # Empty ranges are typically not meaningful and are usually rendered in the
+              # UI as `#REF!`.
+            "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+            "sheetId": 42, # The sheet this range is on.
+            "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+          },
+          "mergeType": "A String", # How the cells should be merged.
+        },
+        "deleteProtectedRange": { # Deletes the protected range with the given id. # Deletes a protected range.
+          "protectedRangeId": 42, # The ID of the protected range to delete.
+        },
+        "addFilterView": { # Adds a filter view. # Adds a filter view.
+          "filter": { # A filter view. # The filter to add.
+            "title": "A String", # The name of the filter view.
+            "namedRangeId": "A String", # The named range this filter view is backed by, if any.
+                #
+                # When writing, only one of range or namedRangeId
+                # may be set.
+            "filterViewId": 42, # The ID of the filter view.
+            "range": { # A range on a sheet. # The range this filter view covers.
+                #
+                # When writing, only one of range or namedRangeId
+                # may be set.
+                # All indexes are zero-based.
+                # Indexes are half open, e.g the start index is inclusive
+                # and the end index is exclusive -- [start_index, end_index).
+                # Missing indexes indicate the range is unbounded on that side.
+                #
+                # For example, if "Sheet1" is grid ID 0, then:
+                #
+                #   Sheet1!A1:A1 == sheet_id: 0,
+                #                   start_row_index: 0, end_row_index: 1,
+                #                   start_column_index: 0, end_column_index: 1
+                #
+                #   Sheet1!A3:B4 == sheet_id: 0,
+                #                   start_row_index: 2, end_row_index: 4,
+                #                   start_column_index: 0, end_column_index: 2
+                #
+                #   Sheet1!A:B == sheet_id: 0,
+                #                 start_column_index: 0, end_column_index: 2
+                #
+                #   Sheet1!A5:B == sheet_id: 0,
+                #                  start_row_index: 4,
+                #                  start_column_index: 0, end_column_index: 2
+                #
+                #   Sheet1 == sheet_id:0
+                #
+                # The start index must always be less than or equal to the end index.
+                # If the start index equals the end index, then the range is empty.
+                # Empty ranges are typically not meaningful and are usually rendered in the
+                # UI as `#REF!`.
+              "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "sheetId": 42, # The sheet this range is on.
+              "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+            },
+            "sortSpecs": [ # The sort order per column. Later specifications are used when values
+                # are equal in the earlier specifications.
+              { # A sort order associated with a specific column or row.
+                "sortOrder": "A String", # The order data should be sorted.
+                "dimensionIndex": 42, # The dimension the sort should be applied to.
+              },
+            ],
+            "criteria": { # The criteria for showing/hiding values per column.
+                # The map's key is the column index, and the value is the criteria for
+                # that column.
+              "a_key": { # Criteria for showing/hiding rows in a filter, filter view.
+                "hiddenValues": [ # Values that should be hidden.
+                  "A String",
+                ],
+                "condition": { # A condition that can evaluate to true or false. # A condition that must be true for values to be shown.
+                    # (This does not override hiddenValues -- if a value is listed there,
+                    #  it will still be hidden.)
+                    # BooleanConditions are used by conditional formatting,
+                    # data validation, and the criteria in filters.
+                  "type": "A String", # The type of condition.
+                  "values": [ # The values of the condition. The number of supported values depends
+                      # on the condition type.  Some support zero values,
+                      # others one or two values,
+                      # and ConditionType.ONE_OF_LIST supports an arbitrary number of values.
+                    { # The value of the condition.
+                      "relativeDate": "A String", # A relative date (based on the current date).
+                          # Valid only if the type is
+                          # DATE_BEFORE,
+                          # DATE_AFTER,
+                          # DATE_ON_OR_BEFORE or
+                          # DATE_ON_OR_AFTER.
+                          #
+                          # Relative dates are not supported in data validation.
+                          # They are supported only in conditional formatting and
+                          # conditional filters.
+                      "userEnteredValue": "A String", # A value the condition is based on.
+                          # The value will be parsed as if the user typed into a cell.
+                          # Formulas are supported (and must begin with an `=`).
+                    },
+                  ],
+                },
+              },
+            },
+          },
+        },
+        "deleteSheet": { # Deletes the requested sheet. # Deletes a sheet.
+          "sheetId": 42, # The ID of the sheet to delete.
+        },
+        "updateBorders": { # Updates the borders of a range. # Updates the borders in a range of cells.
+            # If a field is not set in the request, that means the border remains as-is.
+            # For example, with two subsequent UpdateBordersRequest:
+            #
+            #  1. range: A1:A5 `{ top: RED, bottom: WHITE }`
+            #  2. range: A1:A5 `{ left: BLUE }`
+            #
+            # That would result in A1:A5 having a borders of
+            # `{ top: RED, bottom: WHITE, left: BLUE }`.
+            # If you want to clear a border, explicitly set the style to
+            # NONE.
+          "right": { # A border along a cell. # The border to put at the right of the range.
+            "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                # for simplicity of conversion to/from color representations in various
+                # languages over compactness; for example, the fields of this representation
+                # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                # method in iOS; and, with just a little work, it can be easily formatted into
+                # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                #
+                # Example (Java):
+                #
+                #      import com.google.type.Color;
+                #
+                #      // ...
+                #      public static java.awt.Color fromProto(Color protocolor) {
+                #        float alpha = protocolor.hasAlpha()
+                #            ? protocolor.getAlpha().getValue()
+                #            : 1.0;
+                #
+                #        return new java.awt.Color(
+                #            protocolor.getRed(),
+                #            protocolor.getGreen(),
+                #            protocolor.getBlue(),
+                #            alpha);
+                #      }
+                #
+                #      public static Color toProto(java.awt.Color color) {
+                #        float red = (float) color.getRed();
+                #        float green = (float) color.getGreen();
+                #        float blue = (float) color.getBlue();
+                #        float denominator = 255.0;
+                #        Color.Builder resultBuilder =
+                #            Color
+                #                .newBuilder()
+                #                .setRed(red / denominator)
+                #                .setGreen(green / denominator)
+                #                .setBlue(blue / denominator);
+                #        int alpha = color.getAlpha();
+                #        if (alpha != 255) {
+                #          result.setAlpha(
+                #              FloatValue
+                #                  .newBuilder()
+                #                  .setValue(((float) alpha) / denominator)
+                #                  .build());
+                #        }
+                #        return resultBuilder.build();
+                #      }
+                #      // ...
+                #
+                # Example (iOS / Obj-C):
+                #
+                #      // ...
+                #      static UIColor* fromProto(Color* protocolor) {
+                #         float red = [protocolor red];
+                #         float green = [protocolor green];
+                #         float blue = [protocolor blue];
+                #         FloatValue* alpha_wrapper = [protocolor alpha];
+                #         float alpha = 1.0;
+                #         if (alpha_wrapper != nil) {
+                #           alpha = [alpha_wrapper value];
+                #         }
+                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                #      }
+                #
+                #      static Color* toProto(UIColor* color) {
+                #          CGFloat red, green, blue, alpha;
+                #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                #            return nil;
+                #          }
+                #          Color* result = [Color alloc] init];
+                #          [result setRed:red];
+                #          [result setGreen:green];
+                #          [result setBlue:blue];
+                #          if (alpha <= 0.9999) {
+                #            [result setAlpha:floatWrapperWithValue(alpha)];
+                #          }
+                #          [result autorelease];
+                #          return result;
+                #     }
+                #     // ...
+                #
+                #  Example (JavaScript):
+                #
+                #     // ...
+                #
+                #     var protoToCssColor = function(rgb_color) {
+                #        var redFrac = rgb_color.red || 0.0;
+                #        var greenFrac = rgb_color.green || 0.0;
+                #        var blueFrac = rgb_color.blue || 0.0;
+                #        var red = Math.floor(redFrac * 255);
+                #        var green = Math.floor(greenFrac * 255);
+                #        var blue = Math.floor(blueFrac * 255);
+                #
+                #        if (!('alpha' in rgb_color)) {
+                #           return rgbToCssColor_(red, green, blue);
+                #        }
+                #
+                #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                #        var rgbParams = [red, green, blue].join(',');
+                #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                #     };
+                #
+                #     var rgbToCssColor_ = function(red, green, blue) {
+                #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                #       var hexString = rgbNumber.toString(16);
+                #       var missingZeros = 6 - hexString.length;
+                #       var resultBuilder = ['#'];
+                #       for (var i = 0; i < missingZeros; i++) {
+                #          resultBuilder.push('0');
+                #       }
+                #       resultBuilder.push(hexString);
+                #       return resultBuilder.join('');
+                #     };
+                #
+                #     // ...
+              "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+              "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                  # the final pixel color is defined by the equation:
+                  #
+                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                  #
+                  # This means that a value of 1.0 corresponds to a solid color, whereas
+                  # a value of 0.0 corresponds to a completely transparent color. This
+                  # uses a wrapper message rather than a simple float scalar so that it is
+                  # possible to distinguish between a default value and the value being unset.
+                  # If omitted, this color object is to be rendered as a solid color
+                  # (as if the alpha value had been explicitly given with a value of 1.0).
+              "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+            },
+            "width": 42, # The width of the border, in pixels.
+                # Border widths must be between 0 and 3 pixels.
+            "style": "A String", # The style of the border.
+          },
+          "bottom": { # A border along a cell. # The border to put at the bottom of the range.
+            "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                # for simplicity of conversion to/from color representations in various
+                # languages over compactness; for example, the fields of this representation
+                # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                # method in iOS; and, with just a little work, it can be easily formatted into
+                # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                #
+                # Example (Java):
+                #
+                #      import com.google.type.Color;
+                #
+                #      // ...
+                #      public static java.awt.Color fromProto(Color protocolor) {
+                #        float alpha = protocolor.hasAlpha()
+                #            ? protocolor.getAlpha().getValue()
+                #            : 1.0;
+                #
+                #        return new java.awt.Color(
+                #            protocolor.getRed(),
+                #            protocolor.getGreen(),
+                #            protocolor.getBlue(),
+                #            alpha);
+                #      }
+                #
+                #      public static Color toProto(java.awt.Color color) {
+                #        float red = (float) color.getRed();
+                #        float green = (float) color.getGreen();
+                #        float blue = (float) color.getBlue();
+                #        float denominator = 255.0;
+                #        Color.Builder resultBuilder =
+                #            Color
+                #                .newBuilder()
+                #                .setRed(red / denominator)
+                #                .setGreen(green / denominator)
+                #                .setBlue(blue / denominator);
+                #        int alpha = color.getAlpha();
+                #        if (alpha != 255) {
+                #          result.setAlpha(
+                #              FloatValue
+                #                  .newBuilder()
+                #                  .setValue(((float) alpha) / denominator)
+                #                  .build());
+                #        }
+                #        return resultBuilder.build();
+                #      }
+                #      // ...
+                #
+                # Example (iOS / Obj-C):
+                #
+                #      // ...
+                #      static UIColor* fromProto(Color* protocolor) {
+                #         float red = [protocolor red];
+                #         float green = [protocolor green];
+                #         float blue = [protocolor blue];
+                #         FloatValue* alpha_wrapper = [protocolor alpha];
+                #         float alpha = 1.0;
+                #         if (alpha_wrapper != nil) {
+                #           alpha = [alpha_wrapper value];
+                #         }
+                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                #      }
+                #
+                #      static Color* toProto(UIColor* color) {
+                #          CGFloat red, green, blue, alpha;
+                #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                #            return nil;
+                #          }
+                #          Color* result = [Color alloc] init];
+                #          [result setRed:red];
+                #          [result setGreen:green];
+                #          [result setBlue:blue];
+                #          if (alpha <= 0.9999) {
+                #            [result setAlpha:floatWrapperWithValue(alpha)];
+                #          }
+                #          [result autorelease];
+                #          return result;
+                #     }
+                #     // ...
+                #
+                #  Example (JavaScript):
+                #
+                #     // ...
+                #
+                #     var protoToCssColor = function(rgb_color) {
+                #        var redFrac = rgb_color.red || 0.0;
+                #        var greenFrac = rgb_color.green || 0.0;
+                #        var blueFrac = rgb_color.blue || 0.0;
+                #        var red = Math.floor(redFrac * 255);
+                #        var green = Math.floor(greenFrac * 255);
+                #        var blue = Math.floor(blueFrac * 255);
+                #
+                #        if (!('alpha' in rgb_color)) {
+                #           return rgbToCssColor_(red, green, blue);
+                #        }
+                #
+                #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                #        var rgbParams = [red, green, blue].join(',');
+                #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                #     };
+                #
+                #     var rgbToCssColor_ = function(red, green, blue) {
+                #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                #       var hexString = rgbNumber.toString(16);
+                #       var missingZeros = 6 - hexString.length;
+                #       var resultBuilder = ['#'];
+                #       for (var i = 0; i < missingZeros; i++) {
+                #          resultBuilder.push('0');
+                #       }
+                #       resultBuilder.push(hexString);
+                #       return resultBuilder.join('');
+                #     };
+                #
+                #     // ...
+              "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+              "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                  # the final pixel color is defined by the equation:
+                  #
+                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                  #
+                  # This means that a value of 1.0 corresponds to a solid color, whereas
+                  # a value of 0.0 corresponds to a completely transparent color. This
+                  # uses a wrapper message rather than a simple float scalar so that it is
+                  # possible to distinguish between a default value and the value being unset.
+                  # If omitted, this color object is to be rendered as a solid color
+                  # (as if the alpha value had been explicitly given with a value of 1.0).
+              "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+            },
+            "width": 42, # The width of the border, in pixels.
+                # Border widths must be between 0 and 3 pixels.
+            "style": "A String", # The style of the border.
+          },
+          "top": { # A border along a cell. # The border to put at the top of the range.
+            "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                # for simplicity of conversion to/from color representations in various
+                # languages over compactness; for example, the fields of this representation
+                # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                # method in iOS; and, with just a little work, it can be easily formatted into
+                # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                #
+                # Example (Java):
+                #
+                #      import com.google.type.Color;
+                #
+                #      // ...
+                #      public static java.awt.Color fromProto(Color protocolor) {
+                #        float alpha = protocolor.hasAlpha()
+                #            ? protocolor.getAlpha().getValue()
+                #            : 1.0;
+                #
+                #        return new java.awt.Color(
+                #            protocolor.getRed(),
+                #            protocolor.getGreen(),
+                #            protocolor.getBlue(),
+                #            alpha);
+                #      }
+                #
+                #      public static Color toProto(java.awt.Color color) {
+                #        float red = (float) color.getRed();
+                #        float green = (float) color.getGreen();
+                #        float blue = (float) color.getBlue();
+                #        float denominator = 255.0;
+                #        Color.Builder resultBuilder =
+                #            Color
+                #                .newBuilder()
+                #                .setRed(red / denominator)
+                #                .setGreen(green / denominator)
+                #                .setBlue(blue / denominator);
+                #        int alpha = color.getAlpha();
+                #        if (alpha != 255) {
+                #          result.setAlpha(
+                #              FloatValue
+                #                  .newBuilder()
+                #                  .setValue(((float) alpha) / denominator)
+                #                  .build());
+                #        }
+                #        return resultBuilder.build();
+                #      }
+                #      // ...
+                #
+                # Example (iOS / Obj-C):
+                #
+                #      // ...
+                #      static UIColor* fromProto(Color* protocolor) {
+                #         float red = [protocolor red];
+                #         float green = [protocolor green];
+                #         float blue = [protocolor blue];
+                #         FloatValue* alpha_wrapper = [protocolor alpha];
+                #         float alpha = 1.0;
+                #         if (alpha_wrapper != nil) {
+                #           alpha = [alpha_wrapper value];
+                #         }
+                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                #      }
+                #
+                #      static Color* toProto(UIColor* color) {
+                #          CGFloat red, green, blue, alpha;
+                #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                #            return nil;
+                #          }
+                #          Color* result = [Color alloc] init];
+                #          [result setRed:red];
+                #          [result setGreen:green];
+                #          [result setBlue:blue];
+                #          if (alpha <= 0.9999) {
+                #            [result setAlpha:floatWrapperWithValue(alpha)];
+                #          }
+                #          [result autorelease];
+                #          return result;
+                #     }
+                #     // ...
+                #
+                #  Example (JavaScript):
+                #
+                #     // ...
+                #
+                #     var protoToCssColor = function(rgb_color) {
+                #        var redFrac = rgb_color.red || 0.0;
+                #        var greenFrac = rgb_color.green || 0.0;
+                #        var blueFrac = rgb_color.blue || 0.0;
+                #        var red = Math.floor(redFrac * 255);
+                #        var green = Math.floor(greenFrac * 255);
+                #        var blue = Math.floor(blueFrac * 255);
+                #
+                #        if (!('alpha' in rgb_color)) {
+                #           return rgbToCssColor_(red, green, blue);
+                #        }
+                #
+                #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                #        var rgbParams = [red, green, blue].join(',');
+                #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                #     };
+                #
+                #     var rgbToCssColor_ = function(red, green, blue) {
+                #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                #       var hexString = rgbNumber.toString(16);
+                #       var missingZeros = 6 - hexString.length;
+                #       var resultBuilder = ['#'];
+                #       for (var i = 0; i < missingZeros; i++) {
+                #          resultBuilder.push('0');
+                #       }
+                #       resultBuilder.push(hexString);
+                #       return resultBuilder.join('');
+                #     };
+                #
+                #     // ...
+              "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+              "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                  # the final pixel color is defined by the equation:
+                  #
+                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                  #
+                  # This means that a value of 1.0 corresponds to a solid color, whereas
+                  # a value of 0.0 corresponds to a completely transparent color. This
+                  # uses a wrapper message rather than a simple float scalar so that it is
+                  # possible to distinguish between a default value and the value being unset.
+                  # If omitted, this color object is to be rendered as a solid color
+                  # (as if the alpha value had been explicitly given with a value of 1.0).
+              "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+            },
+            "width": 42, # The width of the border, in pixels.
+                # Border widths must be between 0 and 3 pixels.
+            "style": "A String", # The style of the border.
+          },
+          "innerHorizontal": { # A border along a cell. # The horizontal border to put within the range.
+            "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                # for simplicity of conversion to/from color representations in various
+                # languages over compactness; for example, the fields of this representation
+                # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                # method in iOS; and, with just a little work, it can be easily formatted into
+                # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                #
+                # Example (Java):
+                #
+                #      import com.google.type.Color;
+                #
+                #      // ...
+                #      public static java.awt.Color fromProto(Color protocolor) {
+                #        float alpha = protocolor.hasAlpha()
+                #            ? protocolor.getAlpha().getValue()
+                #            : 1.0;
+                #
+                #        return new java.awt.Color(
+                #            protocolor.getRed(),
+                #            protocolor.getGreen(),
+                #            protocolor.getBlue(),
+                #            alpha);
+                #      }
+                #
+                #      public static Color toProto(java.awt.Color color) {
+                #        float red = (float) color.getRed();
+                #        float green = (float) color.getGreen();
+                #        float blue = (float) color.getBlue();
+                #        float denominator = 255.0;
+                #        Color.Builder resultBuilder =
+                #            Color
+                #                .newBuilder()
+                #                .setRed(red / denominator)
+                #                .setGreen(green / denominator)
+                #                .setBlue(blue / denominator);
+                #        int alpha = color.getAlpha();
+                #        if (alpha != 255) {
+                #          result.setAlpha(
+                #              FloatValue
+                #                  .newBuilder()
+                #                  .setValue(((float) alpha) / denominator)
+                #                  .build());
+                #        }
+                #        return resultBuilder.build();
+                #      }
+                #      // ...
+                #
+                # Example (iOS / Obj-C):
+                #
+                #      // ...
+                #      static UIColor* fromProto(Color* protocolor) {
+                #         float red = [protocolor red];
+                #         float green = [protocolor green];
+                #         float blue = [protocolor blue];
+                #         FloatValue* alpha_wrapper = [protocolor alpha];
+                #         float alpha = 1.0;
+                #         if (alpha_wrapper != nil) {
+                #           alpha = [alpha_wrapper value];
+                #         }
+                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                #      }
+                #
+                #      static Color* toProto(UIColor* color) {
+                #          CGFloat red, green, blue, alpha;
+                #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                #            return nil;
+                #          }
+                #          Color* result = [Color alloc] init];
+                #          [result setRed:red];
+                #          [result setGreen:green];
+                #          [result setBlue:blue];
+                #          if (alpha <= 0.9999) {
+                #            [result setAlpha:floatWrapperWithValue(alpha)];
+                #          }
+                #          [result autorelease];
+                #          return result;
+                #     }
+                #     // ...
+                #
+                #  Example (JavaScript):
+                #
+                #     // ...
+                #
+                #     var protoToCssColor = function(rgb_color) {
+                #        var redFrac = rgb_color.red || 0.0;
+                #        var greenFrac = rgb_color.green || 0.0;
+                #        var blueFrac = rgb_color.blue || 0.0;
+                #        var red = Math.floor(redFrac * 255);
+                #        var green = Math.floor(greenFrac * 255);
+                #        var blue = Math.floor(blueFrac * 255);
+                #
+                #        if (!('alpha' in rgb_color)) {
+                #           return rgbToCssColor_(red, green, blue);
+                #        }
+                #
+                #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                #        var rgbParams = [red, green, blue].join(',');
+                #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                #     };
+                #
+                #     var rgbToCssColor_ = function(red, green, blue) {
+                #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                #       var hexString = rgbNumber.toString(16);
+                #       var missingZeros = 6 - hexString.length;
+                #       var resultBuilder = ['#'];
+                #       for (var i = 0; i < missingZeros; i++) {
+                #          resultBuilder.push('0');
+                #       }
+                #       resultBuilder.push(hexString);
+                #       return resultBuilder.join('');
+                #     };
+                #
+                #     // ...
+              "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+              "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                  # the final pixel color is defined by the equation:
+                  #
+                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                  #
+                  # This means that a value of 1.0 corresponds to a solid color, whereas
+                  # a value of 0.0 corresponds to a completely transparent color. This
+                  # uses a wrapper message rather than a simple float scalar so that it is
+                  # possible to distinguish between a default value and the value being unset.
+                  # If omitted, this color object is to be rendered as a solid color
+                  # (as if the alpha value had been explicitly given with a value of 1.0).
+              "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+            },
+            "width": 42, # The width of the border, in pixels.
+                # Border widths must be between 0 and 3 pixels.
+            "style": "A String", # The style of the border.
+          },
+          "range": { # A range on a sheet. # The range whose borders should be updated.
+              # All indexes are zero-based.
+              # Indexes are half open, e.g the start index is inclusive
+              # and the end index is exclusive -- [start_index, end_index).
+              # Missing indexes indicate the range is unbounded on that side.
+              #
+              # For example, if "Sheet1" is grid ID 0, then:
+              #
+              #   Sheet1!A1:A1 == sheet_id: 0,
+              #                   start_row_index: 0, end_row_index: 1,
+              #                   start_column_index: 0, end_column_index: 1
+              #
+              #   Sheet1!A3:B4 == sheet_id: 0,
+              #                   start_row_index: 2, end_row_index: 4,
+              #                   start_column_index: 0, end_column_index: 2
+              #
+              #   Sheet1!A:B == sheet_id: 0,
+              #                 start_column_index: 0, end_column_index: 2
+              #
+              #   Sheet1!A5:B == sheet_id: 0,
+              #                  start_row_index: 4,
+              #                  start_column_index: 0, end_column_index: 2
+              #
+              #   Sheet1 == sheet_id:0
+              #
+              # The start index must always be less than or equal to the end index.
+              # If the start index equals the end index, then the range is empty.
+              # Empty ranges are typically not meaningful and are usually rendered in the
+              # UI as `#REF!`.
+            "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+            "sheetId": 42, # The sheet this range is on.
+            "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+          },
+          "innerVertical": { # A border along a cell. # The vertical border to put within the range.
+            "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                # for simplicity of conversion to/from color representations in various
+                # languages over compactness; for example, the fields of this representation
+                # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                # method in iOS; and, with just a little work, it can be easily formatted into
+                # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                #
+                # Example (Java):
+                #
+                #      import com.google.type.Color;
+                #
+                #      // ...
+                #      public static java.awt.Color fromProto(Color protocolor) {
+                #        float alpha = protocolor.hasAlpha()
+                #            ? protocolor.getAlpha().getValue()
+                #            : 1.0;
+                #
+                #        return new java.awt.Color(
+                #            protocolor.getRed(),
+                #            protocolor.getGreen(),
+                #            protocolor.getBlue(),
+                #            alpha);
+                #      }
+                #
+                #      public static Color toProto(java.awt.Color color) {
+                #        float red = (float) color.getRed();
+                #        float green = (float) color.getGreen();
+                #        float blue = (float) color.getBlue();
+                #        float denominator = 255.0;
+                #        Color.Builder resultBuilder =
+                #            Color
+                #                .newBuilder()
+                #                .setRed(red / denominator)
+                #                .setGreen(green / denominator)
+                #                .setBlue(blue / denominator);
+                #        int alpha = color.getAlpha();
+                #        if (alpha != 255) {
+                #          result.setAlpha(
+                #              FloatValue
+                #                  .newBuilder()
+                #                  .setValue(((float) alpha) / denominator)
+                #                  .build());
+                #        }
+                #        return resultBuilder.build();
+                #      }
+                #      // ...
+                #
+                # Example (iOS / Obj-C):
+                #
+                #      // ...
+                #      static UIColor* fromProto(Color* protocolor) {
+                #         float red = [protocolor red];
+                #         float green = [protocolor green];
+                #         float blue = [protocolor blue];
+                #         FloatValue* alpha_wrapper = [protocolor alpha];
+                #         float alpha = 1.0;
+                #         if (alpha_wrapper != nil) {
+                #           alpha = [alpha_wrapper value];
+                #         }
+                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                #      }
+                #
+                #      static Color* toProto(UIColor* color) {
+                #          CGFloat red, green, blue, alpha;
+                #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                #            return nil;
+                #          }
+                #          Color* result = [Color alloc] init];
+                #          [result setRed:red];
+                #          [result setGreen:green];
+                #          [result setBlue:blue];
+                #          if (alpha <= 0.9999) {
+                #            [result setAlpha:floatWrapperWithValue(alpha)];
+                #          }
+                #          [result autorelease];
+                #          return result;
+                #     }
+                #     // ...
+                #
+                #  Example (JavaScript):
+                #
+                #     // ...
+                #
+                #     var protoToCssColor = function(rgb_color) {
+                #        var redFrac = rgb_color.red || 0.0;
+                #        var greenFrac = rgb_color.green || 0.0;
+                #        var blueFrac = rgb_color.blue || 0.0;
+                #        var red = Math.floor(redFrac * 255);
+                #        var green = Math.floor(greenFrac * 255);
+                #        var blue = Math.floor(blueFrac * 255);
+                #
+                #        if (!('alpha' in rgb_color)) {
+                #           return rgbToCssColor_(red, green, blue);
+                #        }
+                #
+                #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                #        var rgbParams = [red, green, blue].join(',');
+                #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                #     };
+                #
+                #     var rgbToCssColor_ = function(red, green, blue) {
+                #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                #       var hexString = rgbNumber.toString(16);
+                #       var missingZeros = 6 - hexString.length;
+                #       var resultBuilder = ['#'];
+                #       for (var i = 0; i < missingZeros; i++) {
+                #          resultBuilder.push('0');
+                #       }
+                #       resultBuilder.push(hexString);
+                #       return resultBuilder.join('');
+                #     };
+                #
+                #     // ...
+              "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+              "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                  # the final pixel color is defined by the equation:
+                  #
+                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                  #
+                  # This means that a value of 1.0 corresponds to a solid color, whereas
+                  # a value of 0.0 corresponds to a completely transparent color. This
+                  # uses a wrapper message rather than a simple float scalar so that it is
+                  # possible to distinguish between a default value and the value being unset.
+                  # If omitted, this color object is to be rendered as a solid color
+                  # (as if the alpha value had been explicitly given with a value of 1.0).
+              "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+            },
+            "width": 42, # The width of the border, in pixels.
+                # Border widths must be between 0 and 3 pixels.
+            "style": "A String", # The style of the border.
+          },
+          "left": { # A border along a cell. # The border to put at the left of the range.
+            "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                # for simplicity of conversion to/from color representations in various
+                # languages over compactness; for example, the fields of this representation
+                # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                # method in iOS; and, with just a little work, it can be easily formatted into
+                # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                #
+                # Example (Java):
+                #
+                #      import com.google.type.Color;
+                #
+                #      // ...
+                #      public static java.awt.Color fromProto(Color protocolor) {
+                #        float alpha = protocolor.hasAlpha()
+                #            ? protocolor.getAlpha().getValue()
+                #            : 1.0;
+                #
+                #        return new java.awt.Color(
+                #            protocolor.getRed(),
+                #            protocolor.getGreen(),
+                #            protocolor.getBlue(),
+                #            alpha);
+                #      }
+                #
+                #      public static Color toProto(java.awt.Color color) {
+                #        float red = (float) color.getRed();
+                #        float green = (float) color.getGreen();
+                #        float blue = (float) color.getBlue();
+                #        float denominator = 255.0;
+                #        Color.Builder resultBuilder =
+                #            Color
+                #                .newBuilder()
+                #                .setRed(red / denominator)
+                #                .setGreen(green / denominator)
+                #                .setBlue(blue / denominator);
+                #        int alpha = color.getAlpha();
+                #        if (alpha != 255) {
+                #          result.setAlpha(
+                #              FloatValue
+                #                  .newBuilder()
+                #                  .setValue(((float) alpha) / denominator)
+                #                  .build());
+                #        }
+                #        return resultBuilder.build();
+                #      }
+                #      // ...
+                #
+                # Example (iOS / Obj-C):
+                #
+                #      // ...
+                #      static UIColor* fromProto(Color* protocolor) {
+                #         float red = [protocolor red];
+                #         float green = [protocolor green];
+                #         float blue = [protocolor blue];
+                #         FloatValue* alpha_wrapper = [protocolor alpha];
+                #         float alpha = 1.0;
+                #         if (alpha_wrapper != nil) {
+                #           alpha = [alpha_wrapper value];
+                #         }
+                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                #      }
+                #
+                #      static Color* toProto(UIColor* color) {
+                #          CGFloat red, green, blue, alpha;
+                #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                #            return nil;
+                #          }
+                #          Color* result = [Color alloc] init];
+                #          [result setRed:red];
+                #          [result setGreen:green];
+                #          [result setBlue:blue];
+                #          if (alpha <= 0.9999) {
+                #            [result setAlpha:floatWrapperWithValue(alpha)];
+                #          }
+                #          [result autorelease];
+                #          return result;
+                #     }
+                #     // ...
+                #
+                #  Example (JavaScript):
+                #
+                #     // ...
+                #
+                #     var protoToCssColor = function(rgb_color) {
+                #        var redFrac = rgb_color.red || 0.0;
+                #        var greenFrac = rgb_color.green || 0.0;
+                #        var blueFrac = rgb_color.blue || 0.0;
+                #        var red = Math.floor(redFrac * 255);
+                #        var green = Math.floor(greenFrac * 255);
+                #        var blue = Math.floor(blueFrac * 255);
+                #
+                #        if (!('alpha' in rgb_color)) {
+                #           return rgbToCssColor_(red, green, blue);
+                #        }
+                #
+                #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                #        var rgbParams = [red, green, blue].join(',');
+                #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                #     };
+                #
+                #     var rgbToCssColor_ = function(red, green, blue) {
+                #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                #       var hexString = rgbNumber.toString(16);
+                #       var missingZeros = 6 - hexString.length;
+                #       var resultBuilder = ['#'];
+                #       for (var i = 0; i < missingZeros; i++) {
+                #          resultBuilder.push('0');
+                #       }
+                #       resultBuilder.push(hexString);
+                #       return resultBuilder.join('');
+                #     };
+                #
+                #     // ...
+              "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+              "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                  # the final pixel color is defined by the equation:
+                  #
+                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                  #
+                  # This means that a value of 1.0 corresponds to a solid color, whereas
+                  # a value of 0.0 corresponds to a completely transparent color. This
+                  # uses a wrapper message rather than a simple float scalar so that it is
+                  # possible to distinguish between a default value and the value being unset.
+                  # If omitted, this color object is to be rendered as a solid color
+                  # (as if the alpha value had been explicitly given with a value of 1.0).
+              "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+            },
+            "width": 42, # The width of the border, in pixels.
+                # Border widths must be between 0 and 3 pixels.
+            "style": "A String", # The style of the border.
+          },
+        },
+        "cutPaste": { # Moves data from the source to the destination. # Cuts data from one area and pastes it to another.
+          "pasteType": "A String", # What kind of data to paste.  All the source data will be cut, regardless
+              # of what is pasted.
+          "source": { # A range on a sheet. # The source data to cut.
+              # All indexes are zero-based.
+              # Indexes are half open, e.g the start index is inclusive
+              # and the end index is exclusive -- [start_index, end_index).
+              # Missing indexes indicate the range is unbounded on that side.
+              #
+              # For example, if "Sheet1" is grid ID 0, then:
+              #
+              #   Sheet1!A1:A1 == sheet_id: 0,
+              #                   start_row_index: 0, end_row_index: 1,
+              #                   start_column_index: 0, end_column_index: 1
+              #
+              #   Sheet1!A3:B4 == sheet_id: 0,
+              #                   start_row_index: 2, end_row_index: 4,
+              #                   start_column_index: 0, end_column_index: 2
+              #
+              #   Sheet1!A:B == sheet_id: 0,
+              #                 start_column_index: 0, end_column_index: 2
+              #
+              #   Sheet1!A5:B == sheet_id: 0,
+              #                  start_row_index: 4,
+              #                  start_column_index: 0, end_column_index: 2
+              #
+              #   Sheet1 == sheet_id:0
+              #
+              # The start index must always be less than or equal to the end index.
+              # If the start index equals the end index, then the range is empty.
+              # Empty ranges are typically not meaningful and are usually rendered in the
+              # UI as `#REF!`.
+            "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+            "sheetId": 42, # The sheet this range is on.
+            "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+          },
+          "destination": { # A coordinate in a sheet. # The top-left coordinate where the data should be pasted.
+              # All indexes are zero-based.
+            "rowIndex": 42, # The row index of the coordinate.
+            "columnIndex": 42, # The column index of the coordinate.
+            "sheetId": 42, # The sheet this coordinate is on.
+          },
+        },
+        "copyPaste": { # Copies data from the source to the destination. # Copies data from one area and pastes it to another.
+          "pasteType": "A String", # What kind of data to paste.
+          "source": { # A range on a sheet. # The source range to copy.
+              # All indexes are zero-based.
+              # Indexes are half open, e.g the start index is inclusive
+              # and the end index is exclusive -- [start_index, end_index).
+              # Missing indexes indicate the range is unbounded on that side.
+              #
+              # For example, if "Sheet1" is grid ID 0, then:
+              #
+              #   Sheet1!A1:A1 == sheet_id: 0,
+              #                   start_row_index: 0, end_row_index: 1,
+              #                   start_column_index: 0, end_column_index: 1
+              #
+              #   Sheet1!A3:B4 == sheet_id: 0,
+              #                   start_row_index: 2, end_row_index: 4,
+              #                   start_column_index: 0, end_column_index: 2
+              #
+              #   Sheet1!A:B == sheet_id: 0,
+              #                 start_column_index: 0, end_column_index: 2
+              #
+              #   Sheet1!A5:B == sheet_id: 0,
+              #                  start_row_index: 4,
+              #                  start_column_index: 0, end_column_index: 2
+              #
+              #   Sheet1 == sheet_id:0
+              #
+              # The start index must always be less than or equal to the end index.
+              # If the start index equals the end index, then the range is empty.
+              # Empty ranges are typically not meaningful and are usually rendered in the
+              # UI as `#REF!`.
+            "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+            "sheetId": 42, # The sheet this range is on.
+            "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+          },
+          "destination": { # A range on a sheet. # The location to paste to. If the range covers a span that's
+              # a multiple of the source's height or width, then the
+              # data will be repeated to fill in the destination range.
+              # If the range is smaller than the source range, the entire
+              # source data will still be copied (beyond the end of the destination range).
+              # All indexes are zero-based.
+              # Indexes are half open, e.g the start index is inclusive
+              # and the end index is exclusive -- [start_index, end_index).
+              # Missing indexes indicate the range is unbounded on that side.
+              #
+              # For example, if "Sheet1" is grid ID 0, then:
+              #
+              #   Sheet1!A1:A1 == sheet_id: 0,
+              #                   start_row_index: 0, end_row_index: 1,
+              #                   start_column_index: 0, end_column_index: 1
+              #
+              #   Sheet1!A3:B4 == sheet_id: 0,
+              #                   start_row_index: 2, end_row_index: 4,
+              #                   start_column_index: 0, end_column_index: 2
+              #
+              #   Sheet1!A:B == sheet_id: 0,
+              #                 start_column_index: 0, end_column_index: 2
+              #
+              #   Sheet1!A5:B == sheet_id: 0,
+              #                  start_row_index: 4,
+              #                  start_column_index: 0, end_column_index: 2
+              #
+              #   Sheet1 == sheet_id:0
+              #
+              # The start index must always be less than or equal to the end index.
+              # If the start index equals the end index, then the range is empty.
+              # Empty ranges are typically not meaningful and are usually rendered in the
+              # UI as `#REF!`.
+            "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+            "sheetId": 42, # The sheet this range is on.
+            "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+          },
+          "pasteOrientation": "A String", # How that data should be oriented when pasting.
+        },
+        "addSheet": { # Adds a new sheet. # Adds a sheet.
+            # When a sheet is added at a given index,
+            # all subsequent sheets' indexes are incremented.
+            # To add an object sheet, use AddChartRequest instead.
+          "properties": { # Properties of a sheet. # The properties the new sheet should have.
+              # All properties are optional.
+              # If a sheetId
+              # is specified, the sheet will use that ID.
+              # (It is an error to specify the ID of a sheet that already exists.)
+            "sheetType": "A String", # The type of sheet. Defaults to GRID.
+                # This field cannot be changed once set.
+            "index": 42, # The index of the sheet within the spreadsheet.
+                # When adding or updating sheet properties, if this field
+                # is excluded then the sheet will be added or moved to the end
+                # of the sheet list.
+            "title": "A String", # The name of the sheet.
+            "gridProperties": { # Properties of a grid. # Additional properties of the sheet if this sheet is a grid.
+                # (If the sheet is an object sheet, containing a chart or image, then
+                # this field will be absent.)
+                # When writing it is an error to set any grid properties on non-grid sheets.
+              "columnCount": 42, # The number of columns in the grid.
+              "rowCount": 42, # The number of rows in the grid.
+              "frozenColumnCount": 42, # The number of columns that are frozen in the grid.
+              "hideGridlines": True or False, # True if the grid isn't showing gridlines in the UI.
+              "frozenRowCount": 42, # The number of rows that are frozen in the grid.
+            },
+            "rightToLeft": True or False, # True if the sheet is an RTL sheet instead of an LTR sheet.
+            "tabColor": { # Represents a color in the RGBA color space. This representation is designed # The color of the tab in the UI.
+                # for simplicity of conversion to/from color representations in various
+                # languages over compactness; for example, the fields of this representation
+                # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                # method in iOS; and, with just a little work, it can be easily formatted into
+                # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                #
+                # Example (Java):
+                #
+                #      import com.google.type.Color;
+                #
+                #      // ...
+                #      public static java.awt.Color fromProto(Color protocolor) {
+                #        float alpha = protocolor.hasAlpha()
+                #            ? protocolor.getAlpha().getValue()
+                #            : 1.0;
+                #
+                #        return new java.awt.Color(
+                #            protocolor.getRed(),
+                #            protocolor.getGreen(),
+                #            protocolor.getBlue(),
+                #            alpha);
+                #      }
+                #
+                #      public static Color toProto(java.awt.Color color) {
+                #        float red = (float) color.getRed();
+                #        float green = (float) color.getGreen();
+                #        float blue = (float) color.getBlue();
+                #        float denominator = 255.0;
+                #        Color.Builder resultBuilder =
+                #            Color
+                #                .newBuilder()
+                #                .setRed(red / denominator)
+                #                .setGreen(green / denominator)
+                #                .setBlue(blue / denominator);
+                #        int alpha = color.getAlpha();
+                #        if (alpha != 255) {
+                #          result.setAlpha(
+                #              FloatValue
+                #                  .newBuilder()
+                #                  .setValue(((float) alpha) / denominator)
+                #                  .build());
+                #        }
+                #        return resultBuilder.build();
+                #      }
+                #      // ...
+                #
+                # Example (iOS / Obj-C):
+                #
+                #      // ...
+                #      static UIColor* fromProto(Color* protocolor) {
+                #         float red = [protocolor red];
+                #         float green = [protocolor green];
+                #         float blue = [protocolor blue];
+                #         FloatValue* alpha_wrapper = [protocolor alpha];
+                #         float alpha = 1.0;
+                #         if (alpha_wrapper != nil) {
+                #           alpha = [alpha_wrapper value];
+                #         }
+                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                #      }
+                #
+                #      static Color* toProto(UIColor* color) {
+                #          CGFloat red, green, blue, alpha;
+                #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                #            return nil;
+                #          }
+                #          Color* result = [Color alloc] init];
+                #          [result setRed:red];
+                #          [result setGreen:green];
+                #          [result setBlue:blue];
+                #          if (alpha <= 0.9999) {
+                #            [result setAlpha:floatWrapperWithValue(alpha)];
+                #          }
+                #          [result autorelease];
+                #          return result;
+                #     }
+                #     // ...
+                #
+                #  Example (JavaScript):
+                #
+                #     // ...
+                #
+                #     var protoToCssColor = function(rgb_color) {
+                #        var redFrac = rgb_color.red || 0.0;
+                #        var greenFrac = rgb_color.green || 0.0;
+                #        var blueFrac = rgb_color.blue || 0.0;
+                #        var red = Math.floor(redFrac * 255);
+                #        var green = Math.floor(greenFrac * 255);
+                #        var blue = Math.floor(blueFrac * 255);
+                #
+                #        if (!('alpha' in rgb_color)) {
+                #           return rgbToCssColor_(red, green, blue);
+                #        }
+                #
+                #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                #        var rgbParams = [red, green, blue].join(',');
+                #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                #     };
+                #
+                #     var rgbToCssColor_ = function(red, green, blue) {
+                #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                #       var hexString = rgbNumber.toString(16);
+                #       var missingZeros = 6 - hexString.length;
+                #       var resultBuilder = ['#'];
+                #       for (var i = 0; i < missingZeros; i++) {
+                #          resultBuilder.push('0');
+                #       }
+                #       resultBuilder.push(hexString);
+                #       return resultBuilder.join('');
+                #     };
+                #
+                #     // ...
+              "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+              "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                  # the final pixel color is defined by the equation:
+                  #
+                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                  #
+                  # This means that a value of 1.0 corresponds to a solid color, whereas
+                  # a value of 0.0 corresponds to a completely transparent color. This
+                  # uses a wrapper message rather than a simple float scalar so that it is
+                  # possible to distinguish between a default value and the value being unset.
+                  # If omitted, this color object is to be rendered as a solid color
+                  # (as if the alpha value had been explicitly given with a value of 1.0).
+              "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+            },
+            "hidden": True or False, # True if the sheet is hidden in the UI, false if it's visible.
+            "sheetId": 42, # The ID of the sheet. Must be non-negative.
+                # This field cannot be changed once set.
+          },
+        },
+        "deleteNamedRange": { # Removes the named range with the given ID from the spreadsheet. # Deletes a named range.
+          "namedRangeId": "A String", # The ID of the named range to delete.
+        },
+        "updateNamedRange": { # Updates properties of the named range with the specified # Updates a named range.
+            # namedRangeId.
+            # It is an error to specify read only fields in the field mask.
+          "fields": "A String", # The fields that should be updated.  At least one field must be specified.
+              # The root `namedRange` is implied and should not be specified.
+              # A single `"*"` can be used as short-hand for listing every field.
+          "namedRange": { # A named range. # The named range to update with the new properties.
+            "namedRangeId": "A String", # The ID of the named range.
+            "range": { # A range on a sheet. # The range this represents.
+                # All indexes are zero-based.
+                # Indexes are half open, e.g the start index is inclusive
+                # and the end index is exclusive -- [start_index, end_index).
+                # Missing indexes indicate the range is unbounded on that side.
+                #
+                # For example, if "Sheet1" is grid ID 0, then:
+                #
+                #   Sheet1!A1:A1 == sheet_id: 0,
+                #                   start_row_index: 0, end_row_index: 1,
+                #                   start_column_index: 0, end_column_index: 1
+                #
+                #   Sheet1!A3:B4 == sheet_id: 0,
+                #                   start_row_index: 2, end_row_index: 4,
+                #                   start_column_index: 0, end_column_index: 2
+                #
+                #   Sheet1!A:B == sheet_id: 0,
+                #                 start_column_index: 0, end_column_index: 2
+                #
+                #   Sheet1!A5:B == sheet_id: 0,
+                #                  start_row_index: 4,
+                #                  start_column_index: 0, end_column_index: 2
+                #
+                #   Sheet1 == sheet_id:0
+                #
+                # The start index must always be less than or equal to the end index.
+                # If the start index equals the end index, then the range is empty.
+                # Empty ranges are typically not meaningful and are usually rendered in the
+                # UI as `#REF!`.
+              "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "sheetId": 42, # The sheet this range is on.
+              "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+            },
+            "name": "A String", # The name of the named range.
+          },
+        },
+        "insertDimension": { # Inserts rows or columns in a sheet at a particular index. # Inserts new rows or columns in a sheet.
+          "inheritFromBefore": True or False, # Whether dimension properties should be extended from the dimensions
+              # before or after the newly inserted dimensions.
+              # True to inherit from the dimensions before (in which case the start
+              # index must be greater than 0), and false to inherit from the dimensions
+              # after.
+              #
+              # For example, if row index 0 has red background and row index 1
+              # has a green background, then inserting 2 rows at index 1 can inherit
+              # either the green or red background.  If `inheritFromBefore` is true,
+              # the two new rows will be red (because the row before the insertion point
+              # was red), whereas if `inheritFromBefore` is false, the two new rows will
+              # be green (because the rows after the insertion point were green).
+          "range": { # A range along a single dimension on a sheet. # The dimensions to insert.  Both the start and end indexes must be bounded.
+              # All indexes are zero-based.
+              # Indexes are half open: the start index is inclusive
+              # and the end index is exclusive.
+              # Missing indexes indicate the range is unbounded on that side.
+            "endIndex": 42, # The end (exclusive) of the span, or not set if unbounded.
+            "startIndex": 42, # The start (inclusive) of the span, or not set if unbounded.
+            "sheetId": 42, # The sheet this span is on.
+            "dimension": "A String", # The dimension of the span.
+          },
+        },
+        "updateFilterView": { # Updates properties of the filter view. # Updates the properties of a filter view.
+          "filter": { # A filter view. # The new properties of the filter view.
+            "title": "A String", # The name of the filter view.
+            "namedRangeId": "A String", # The named range this filter view is backed by, if any.
+                #
+                # When writing, only one of range or namedRangeId
+                # may be set.
+            "filterViewId": 42, # The ID of the filter view.
+            "range": { # A range on a sheet. # The range this filter view covers.
+                #
+                # When writing, only one of range or namedRangeId
+                # may be set.
+                # All indexes are zero-based.
+                # Indexes are half open, e.g the start index is inclusive
+                # and the end index is exclusive -- [start_index, end_index).
+                # Missing indexes indicate the range is unbounded on that side.
+                #
+                # For example, if "Sheet1" is grid ID 0, then:
+                #
+                #   Sheet1!A1:A1 == sheet_id: 0,
+                #                   start_row_index: 0, end_row_index: 1,
+                #                   start_column_index: 0, end_column_index: 1
+                #
+                #   Sheet1!A3:B4 == sheet_id: 0,
+                #                   start_row_index: 2, end_row_index: 4,
+                #                   start_column_index: 0, end_column_index: 2
+                #
+                #   Sheet1!A:B == sheet_id: 0,
+                #                 start_column_index: 0, end_column_index: 2
+                #
+                #   Sheet1!A5:B == sheet_id: 0,
+                #                  start_row_index: 4,
+                #                  start_column_index: 0, end_column_index: 2
+                #
+                #   Sheet1 == sheet_id:0
+                #
+                # The start index must always be less than or equal to the end index.
+                # If the start index equals the end index, then the range is empty.
+                # Empty ranges are typically not meaningful and are usually rendered in the
+                # UI as `#REF!`.
+              "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "sheetId": 42, # The sheet this range is on.
+              "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+            },
+            "sortSpecs": [ # The sort order per column. Later specifications are used when values
+                # are equal in the earlier specifications.
+              { # A sort order associated with a specific column or row.
+                "sortOrder": "A String", # The order data should be sorted.
+                "dimensionIndex": 42, # The dimension the sort should be applied to.
+              },
+            ],
+            "criteria": { # The criteria for showing/hiding values per column.
+                # The map's key is the column index, and the value is the criteria for
+                # that column.
+              "a_key": { # Criteria for showing/hiding rows in a filter, filter view.
+                "hiddenValues": [ # Values that should be hidden.
+                  "A String",
+                ],
+                "condition": { # A condition that can evaluate to true or false. # A condition that must be true for values to be shown.
+                    # (This does not override hiddenValues -- if a value is listed there,
+                    #  it will still be hidden.)
+                    # BooleanConditions are used by conditional formatting,
+                    # data validation, and the criteria in filters.
+                  "type": "A String", # The type of condition.
+                  "values": [ # The values of the condition. The number of supported values depends
+                      # on the condition type.  Some support zero values,
+                      # others one or two values,
+                      # and ConditionType.ONE_OF_LIST supports an arbitrary number of values.
+                    { # The value of the condition.
+                      "relativeDate": "A String", # A relative date (based on the current date).
+                          # Valid only if the type is
+                          # DATE_BEFORE,
+                          # DATE_AFTER,
+                          # DATE_ON_OR_BEFORE or
+                          # DATE_ON_OR_AFTER.
+                          #
+                          # Relative dates are not supported in data validation.
+                          # They are supported only in conditional formatting and
+                          # conditional filters.
+                      "userEnteredValue": "A String", # A value the condition is based on.
+                          # The value will be parsed as if the user typed into a cell.
+                          # Formulas are supported (and must begin with an `=`).
+                    },
+                  ],
+                },
+              },
+            },
+          },
+          "fields": "A String", # The fields that should be updated.  At least one field must be specified.
+              # The root `filter` is implied and should not be specified.
+              # A single `"*"` can be used as short-hand for listing every field.
+        },
+        "deleteConditionalFormatRule": { # Deletes a conditional format rule at the given index. # Deletes an existing conditional format rule.
+            # All subsequent rules' indexes are decremented.
+          "index": 42, # The zero-based index of the rule to be deleted.
+          "sheetId": 42, # The sheet the rule is being deleted from.
+        },
+      },
+    ],
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The reply for batch updating a spreadsheet.
+    "spreadsheetId": "A String", # The spreadsheet the updates were applied to.
+    "replies": [ # The reply of the updates.  This maps 1:1 with the updates, although
+        # replies to some requests may be empty.
+      { # A single response from an update.
+        "duplicateFilterView": { # The result of a filter view being duplicated. # A reply from duplicating a filter view.
+          "filter": { # A filter view. # The newly created filter.
+            "title": "A String", # The name of the filter view.
+            "namedRangeId": "A String", # The named range this filter view is backed by, if any.
+                #
+                # When writing, only one of range or namedRangeId
+                # may be set.
+            "filterViewId": 42, # The ID of the filter view.
+            "range": { # A range on a sheet. # The range this filter view covers.
+                #
+                # When writing, only one of range or namedRangeId
+                # may be set.
+                # All indexes are zero-based.
+                # Indexes are half open, e.g the start index is inclusive
+                # and the end index is exclusive -- [start_index, end_index).
+                # Missing indexes indicate the range is unbounded on that side.
+                #
+                # For example, if "Sheet1" is grid ID 0, then:
+                #
+                #   Sheet1!A1:A1 == sheet_id: 0,
+                #                   start_row_index: 0, end_row_index: 1,
+                #                   start_column_index: 0, end_column_index: 1
+                #
+                #   Sheet1!A3:B4 == sheet_id: 0,
+                #                   start_row_index: 2, end_row_index: 4,
+                #                   start_column_index: 0, end_column_index: 2
+                #
+                #   Sheet1!A:B == sheet_id: 0,
+                #                 start_column_index: 0, end_column_index: 2
+                #
+                #   Sheet1!A5:B == sheet_id: 0,
+                #                  start_row_index: 4,
+                #                  start_column_index: 0, end_column_index: 2
+                #
+                #   Sheet1 == sheet_id:0
+                #
+                # The start index must always be less than or equal to the end index.
+                # If the start index equals the end index, then the range is empty.
+                # Empty ranges are typically not meaningful and are usually rendered in the
+                # UI as `#REF!`.
+              "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "sheetId": 42, # The sheet this range is on.
+              "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+            },
+            "sortSpecs": [ # The sort order per column. Later specifications are used when values
+                # are equal in the earlier specifications.
+              { # A sort order associated with a specific column or row.
+                "sortOrder": "A String", # The order data should be sorted.
+                "dimensionIndex": 42, # The dimension the sort should be applied to.
+              },
+            ],
+            "criteria": { # The criteria for showing/hiding values per column.
+                # The map's key is the column index, and the value is the criteria for
+                # that column.
+              "a_key": { # Criteria for showing/hiding rows in a filter, filter view.
+                "hiddenValues": [ # Values that should be hidden.
+                  "A String",
+                ],
+                "condition": { # A condition that can evaluate to true or false. # A condition that must be true for values to be shown.
+                    # (This does not override hiddenValues -- if a value is listed there,
+                    #  it will still be hidden.)
+                    # BooleanConditions are used by conditional formatting,
+                    # data validation, and the criteria in filters.
+                  "type": "A String", # The type of condition.
+                  "values": [ # The values of the condition. The number of supported values depends
+                      # on the condition type.  Some support zero values,
+                      # others one or two values,
+                      # and ConditionType.ONE_OF_LIST supports an arbitrary number of values.
+                    { # The value of the condition.
+                      "relativeDate": "A String", # A relative date (based on the current date).
+                          # Valid only if the type is
+                          # DATE_BEFORE,
+                          # DATE_AFTER,
+                          # DATE_ON_OR_BEFORE or
+                          # DATE_ON_OR_AFTER.
+                          #
+                          # Relative dates are not supported in data validation.
+                          # They are supported only in conditional formatting and
+                          # conditional filters.
+                      "userEnteredValue": "A String", # A value the condition is based on.
+                          # The value will be parsed as if the user typed into a cell.
+                          # Formulas are supported (and must begin with an `=`).
+                    },
+                  ],
+                },
+              },
+            },
+          },
+        },
+        "duplicateSheet": { # The result of duplicating a sheet. # A reply from duplicating a sheet.
+          "properties": { # Properties of a sheet. # The properties of the duplicate sheet.
+            "sheetType": "A String", # The type of sheet. Defaults to GRID.
+                # This field cannot be changed once set.
+            "index": 42, # The index of the sheet within the spreadsheet.
+                # When adding or updating sheet properties, if this field
+                # is excluded then the sheet will be added or moved to the end
+                # of the sheet list.
+            "title": "A String", # The name of the sheet.
+            "gridProperties": { # Properties of a grid. # Additional properties of the sheet if this sheet is a grid.
+                # (If the sheet is an object sheet, containing a chart or image, then
+                # this field will be absent.)
+                # When writing it is an error to set any grid properties on non-grid sheets.
+              "columnCount": 42, # The number of columns in the grid.
+              "rowCount": 42, # The number of rows in the grid.
+              "frozenColumnCount": 42, # The number of columns that are frozen in the grid.
+              "hideGridlines": True or False, # True if the grid isn't showing gridlines in the UI.
+              "frozenRowCount": 42, # The number of rows that are frozen in the grid.
+            },
+            "rightToLeft": True or False, # True if the sheet is an RTL sheet instead of an LTR sheet.
+            "tabColor": { # Represents a color in the RGBA color space. This representation is designed # The color of the tab in the UI.
+                # for simplicity of conversion to/from color representations in various
+                # languages over compactness; for example, the fields of this representation
+                # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                # method in iOS; and, with just a little work, it can be easily formatted into
+                # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                #
+                # Example (Java):
+                #
+                #      import com.google.type.Color;
+                #
+                #      // ...
+                #      public static java.awt.Color fromProto(Color protocolor) {
+                #        float alpha = protocolor.hasAlpha()
+                #            ? protocolor.getAlpha().getValue()
+                #            : 1.0;
+                #
+                #        return new java.awt.Color(
+                #            protocolor.getRed(),
+                #            protocolor.getGreen(),
+                #            protocolor.getBlue(),
+                #            alpha);
+                #      }
+                #
+                #      public static Color toProto(java.awt.Color color) {
+                #        float red = (float) color.getRed();
+                #        float green = (float) color.getGreen();
+                #        float blue = (float) color.getBlue();
+                #        float denominator = 255.0;
+                #        Color.Builder resultBuilder =
+                #            Color
+                #                .newBuilder()
+                #                .setRed(red / denominator)
+                #                .setGreen(green / denominator)
+                #                .setBlue(blue / denominator);
+                #        int alpha = color.getAlpha();
+                #        if (alpha != 255) {
+                #          result.setAlpha(
+                #              FloatValue
+                #                  .newBuilder()
+                #                  .setValue(((float) alpha) / denominator)
+                #                  .build());
+                #        }
+                #        return resultBuilder.build();
+                #      }
+                #      // ...
+                #
+                # Example (iOS / Obj-C):
+                #
+                #      // ...
+                #      static UIColor* fromProto(Color* protocolor) {
+                #         float red = [protocolor red];
+                #         float green = [protocolor green];
+                #         float blue = [protocolor blue];
+                #         FloatValue* alpha_wrapper = [protocolor alpha];
+                #         float alpha = 1.0;
+                #         if (alpha_wrapper != nil) {
+                #           alpha = [alpha_wrapper value];
+                #         }
+                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                #      }
+                #
+                #      static Color* toProto(UIColor* color) {
+                #          CGFloat red, green, blue, alpha;
+                #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                #            return nil;
+                #          }
+                #          Color* result = [Color alloc] init];
+                #          [result setRed:red];
+                #          [result setGreen:green];
+                #          [result setBlue:blue];
+                #          if (alpha <= 0.9999) {
+                #            [result setAlpha:floatWrapperWithValue(alpha)];
+                #          }
+                #          [result autorelease];
+                #          return result;
+                #     }
+                #     // ...
+                #
+                #  Example (JavaScript):
+                #
+                #     // ...
+                #
+                #     var protoToCssColor = function(rgb_color) {
+                #        var redFrac = rgb_color.red || 0.0;
+                #        var greenFrac = rgb_color.green || 0.0;
+                #        var blueFrac = rgb_color.blue || 0.0;
+                #        var red = Math.floor(redFrac * 255);
+                #        var green = Math.floor(greenFrac * 255);
+                #        var blue = Math.floor(blueFrac * 255);
+                #
+                #        if (!('alpha' in rgb_color)) {
+                #           return rgbToCssColor_(red, green, blue);
+                #        }
+                #
+                #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                #        var rgbParams = [red, green, blue].join(',');
+                #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                #     };
+                #
+                #     var rgbToCssColor_ = function(red, green, blue) {
+                #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                #       var hexString = rgbNumber.toString(16);
+                #       var missingZeros = 6 - hexString.length;
+                #       var resultBuilder = ['#'];
+                #       for (var i = 0; i < missingZeros; i++) {
+                #          resultBuilder.push('0');
+                #       }
+                #       resultBuilder.push(hexString);
+                #       return resultBuilder.join('');
+                #     };
+                #
+                #     // ...
+              "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+              "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                  # the final pixel color is defined by the equation:
+                  #
+                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                  #
+                  # This means that a value of 1.0 corresponds to a solid color, whereas
+                  # a value of 0.0 corresponds to a completely transparent color. This
+                  # uses a wrapper message rather than a simple float scalar so that it is
+                  # possible to distinguish between a default value and the value being unset.
+                  # If omitted, this color object is to be rendered as a solid color
+                  # (as if the alpha value had been explicitly given with a value of 1.0).
+              "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+            },
+            "hidden": True or False, # True if the sheet is hidden in the UI, false if it's visible.
+            "sheetId": 42, # The ID of the sheet. Must be non-negative.
+                # This field cannot be changed once set.
+          },
+        },
+        "updateEmbeddedObjectPosition": { # The result of updating an embedded object's position. # A reply from updating an embedded object's position.
+          "position": { # The position of an embedded object such as a chart. # The new position of the embedded object.
+            "newSheet": True or False, # If true, the embedded object will be put on a new sheet whose ID
+                # is chosen for you. Used only when writing.
+            "sheetId": 42, # The sheet this is on. Set only if the embedded object
+                # is on its own sheet. Must be non-negative.
+            "overlayPosition": { # The location an object is overlaid on top of a grid. # The position the object is overlaid on top of a grid.
+              "anchorCell": { # A coordinate in a sheet. # The cell the object is anchored to.
+                  # All indexes are zero-based.
+                "rowIndex": 42, # The row index of the coordinate.
+                "columnIndex": 42, # The column index of the coordinate.
+                "sheetId": 42, # The sheet this coordinate is on.
+              },
+              "offsetYPixels": 42, # The vertical offset, in pixels, that the object is offset
+                  # from the anchor cell.
+              "widthPixels": 42, # The width of the object, in pixels. Defaults to 600.
+              "offsetXPixels": 42, # The horizontal offset, in pixels, that the object is offset
+                  # from the anchor cell.
+              "heightPixels": 42, # The height of the object, in pixels. Defaults to 371.
+            },
+          },
+        },
+        "addChart": { # The result of adding a chart to a spreadsheet. # A reply from adding a chart.
+          "chart": { # A chart embedded in a sheet. # The newly added chart.
+            "chartId": 42, # The ID of the chart.
+            "position": { # The position of an embedded object such as a chart. # The position of the chart.
+              "newSheet": True or False, # If true, the embedded object will be put on a new sheet whose ID
+                  # is chosen for you. Used only when writing.
+              "sheetId": 42, # The sheet this is on. Set only if the embedded object
+                  # is on its own sheet. Must be non-negative.
+              "overlayPosition": { # The location an object is overlaid on top of a grid. # The position the object is overlaid on top of a grid.
+                "anchorCell": { # A coordinate in a sheet. # The cell the object is anchored to.
+                    # All indexes are zero-based.
+                  "rowIndex": 42, # The row index of the coordinate.
+                  "columnIndex": 42, # The column index of the coordinate.
+                  "sheetId": 42, # The sheet this coordinate is on.
+                },
+                "offsetYPixels": 42, # The vertical offset, in pixels, that the object is offset
+                    # from the anchor cell.
+                "widthPixels": 42, # The width of the object, in pixels. Defaults to 600.
+                "offsetXPixels": 42, # The horizontal offset, in pixels, that the object is offset
+                    # from the anchor cell.
+                "heightPixels": 42, # The height of the object, in pixels. Defaults to 371.
+              },
+            },
+            "spec": { # The specifications of a chart. # The specification of the chart.
+              "hiddenDimensionStrategy": "A String", # Determines how the charts will use hidden rows or columns.
+                  # This value is only meaningful if the
+                  # ChartData.sourceRange
+                  # is used for a domain or series.
+              "pieChart": { # A pie chart. # A pie chart specification.
+                "series": { # The data included in a domain or series. # The data that covers the one and only series of the pie chart.
+                  "sourceRange": { # Source ranges for a chart. # The source ranges of the data.
+                    "sources": [ # The ranges of data for a series or domain.
+                        # Exactly one dimension must have a length of 1,
+                        # and all sources in the list must have the same dimension
+                        # with length 1.
+                        # The domain (if it exists) & all series must have the same number
+                        # of source ranges. If using more than one source range, then the source
+                        # range at a given offset must be contiguous across the domain and series.
+                        #
+                        # For example, these are valid configurations:
+                        #
+                        #     domain sources: A1:A5
+                        #     series1 sources: B1:B5
+                        #     series2 sources: D6:D10
+                        #
+                        #     domain sources: A1:A5, C10:C12
+                        #     series1 sources: B1:B5, D10:D12
+                        #     series2 sources: C1:C5, E10:E12
+                      { # A range on a sheet.
+                          # All indexes are zero-based.
+                          # Indexes are half open, e.g the start index is inclusive
+                          # and the end index is exclusive -- [start_index, end_index).
+                          # Missing indexes indicate the range is unbounded on that side.
+                          #
+                          # For example, if "Sheet1" is grid ID 0, then:
+                          #
+                          #   Sheet1!A1:A1 == sheet_id: 0,
+                          #                   start_row_index: 0, end_row_index: 1,
+                          #                   start_column_index: 0, end_column_index: 1
+                          #
+                          #   Sheet1!A3:B4 == sheet_id: 0,
+                          #                   start_row_index: 2, end_row_index: 4,
+                          #                   start_column_index: 0, end_column_index: 2
+                          #
+                          #   Sheet1!A:B == sheet_id: 0,
+                          #                 start_column_index: 0, end_column_index: 2
+                          #
+                          #   Sheet1!A5:B == sheet_id: 0,
+                          #                  start_row_index: 4,
+                          #                  start_column_index: 0, end_column_index: 2
+                          #
+                          #   Sheet1 == sheet_id:0
+                          #
+                          # The start index must always be less than or equal to the end index.
+                          # If the start index equals the end index, then the range is empty.
+                          # Empty ranges are typically not meaningful and are usually rendered in the
+                          # UI as `#REF!`.
+                        "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        "sheetId": 42, # The sheet this range is on.
+                        "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+                        "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                      },
+                    ],
+                  },
+                },
+                "domain": { # The data included in a domain or series. # The data that covers the domain of the pie chart.
+                  "sourceRange": { # Source ranges for a chart. # The source ranges of the data.
+                    "sources": [ # The ranges of data for a series or domain.
+                        # Exactly one dimension must have a length of 1,
+                        # and all sources in the list must have the same dimension
+                        # with length 1.
+                        # The domain (if it exists) & all series must have the same number
+                        # of source ranges. If using more than one source range, then the source
+                        # range at a given offset must be contiguous across the domain and series.
+                        #
+                        # For example, these are valid configurations:
+                        #
+                        #     domain sources: A1:A5
+                        #     series1 sources: B1:B5
+                        #     series2 sources: D6:D10
+                        #
+                        #     domain sources: A1:A5, C10:C12
+                        #     series1 sources: B1:B5, D10:D12
+                        #     series2 sources: C1:C5, E10:E12
+                      { # A range on a sheet.
+                          # All indexes are zero-based.
+                          # Indexes are half open, e.g the start index is inclusive
+                          # and the end index is exclusive -- [start_index, end_index).
+                          # Missing indexes indicate the range is unbounded on that side.
+                          #
+                          # For example, if "Sheet1" is grid ID 0, then:
+                          #
+                          #   Sheet1!A1:A1 == sheet_id: 0,
+                          #                   start_row_index: 0, end_row_index: 1,
+                          #                   start_column_index: 0, end_column_index: 1
+                          #
+                          #   Sheet1!A3:B4 == sheet_id: 0,
+                          #                   start_row_index: 2, end_row_index: 4,
+                          #                   start_column_index: 0, end_column_index: 2
+                          #
+                          #   Sheet1!A:B == sheet_id: 0,
+                          #                 start_column_index: 0, end_column_index: 2
+                          #
+                          #   Sheet1!A5:B == sheet_id: 0,
+                          #                  start_row_index: 4,
+                          #                  start_column_index: 0, end_column_index: 2
+                          #
+                          #   Sheet1 == sheet_id:0
+                          #
+                          # The start index must always be less than or equal to the end index.
+                          # If the start index equals the end index, then the range is empty.
+                          # Empty ranges are typically not meaningful and are usually rendered in the
+                          # UI as `#REF!`.
+                        "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        "sheetId": 42, # The sheet this range is on.
+                        "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+                        "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                      },
+                    ],
+                  },
+                },
+                "threeDimensional": True or False, # True if the pie is three dimensional.
+                "legendPosition": "A String", # Where the legend of the pie chart should be drawn.
+                "pieHole": 3.14, # The size of the hole in the pie chart.
+              },
+              "basicChart": { # The specification for a basic chart.  See BasicChartType for the list # A basic chart specification, can be one of many kinds of charts.
+                  # See BasicChartType for the list of all charts this supports.
+                  # of charts this supports.
+                "headerCount": 42, # The number of rows or columns in the data that are "headers".
+                    # If not set, Google Sheets will guess how many rows are headers based
+                    # on the data.
+                    #
+                    # (Note that BasicChartAxis.title may override the axis title
+                    #  inferred from the header values.)
+                "series": [ # The data this chart is visualizing.
+                  { # A single series of data in a chart.
+                      # For example, if charting stock prices over time, multiple series may exist,
+                      # one for the "Open Price", "High Price", "Low Price" and "Close Price".
+                    "series": { # The data included in a domain or series. # The data being visualized in this chart series.
+                      "sourceRange": { # Source ranges for a chart. # The source ranges of the data.
+                        "sources": [ # The ranges of data for a series or domain.
+                            # Exactly one dimension must have a length of 1,
+                            # and all sources in the list must have the same dimension
+                            # with length 1.
+                            # The domain (if it exists) & all series must have the same number
+                            # of source ranges. If using more than one source range, then the source
+                            # range at a given offset must be contiguous across the domain and series.
+                            #
+                            # For example, these are valid configurations:
+                            #
+                            #     domain sources: A1:A5
+                            #     series1 sources: B1:B5
+                            #     series2 sources: D6:D10
+                            #
+                            #     domain sources: A1:A5, C10:C12
+                            #     series1 sources: B1:B5, D10:D12
+                            #     series2 sources: C1:C5, E10:E12
+                          { # A range on a sheet.
+                              # All indexes are zero-based.
+                              # Indexes are half open, e.g the start index is inclusive
+                              # and the end index is exclusive -- [start_index, end_index).
+                              # Missing indexes indicate the range is unbounded on that side.
+                              #
+                              # For example, if "Sheet1" is grid ID 0, then:
+                              #
+                              #   Sheet1!A1:A1 == sheet_id: 0,
+                              #                   start_row_index: 0, end_row_index: 1,
+                              #                   start_column_index: 0, end_column_index: 1
+                              #
+                              #   Sheet1!A3:B4 == sheet_id: 0,
+                              #                   start_row_index: 2, end_row_index: 4,
+                              #                   start_column_index: 0, end_column_index: 2
+                              #
+                              #   Sheet1!A:B == sheet_id: 0,
+                              #                 start_column_index: 0, end_column_index: 2
+                              #
+                              #   Sheet1!A5:B == sheet_id: 0,
+                              #                  start_row_index: 4,
+                              #                  start_column_index: 0, end_column_index: 2
+                              #
+                              #   Sheet1 == sheet_id:0
+                              #
+                              # The start index must always be less than or equal to the end index.
+                              # If the start index equals the end index, then the range is empty.
+                              # Empty ranges are typically not meaningful and are usually rendered in the
+                              # UI as `#REF!`.
+                            "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+                            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                            "sheetId": 42, # The sheet this range is on.
+                            "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+                            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                          },
+                        ],
+                      },
+                    },
+                    "targetAxis": "A String", # The minor axis that will specify the range of values for this series.
+                        # For example, if charting stocks over time, the "Volume" series
+                        # may want to be pinned to the right with the prices pinned to the left,
+                        # because the scale of trading volume is different than the scale of
+                        # prices.
+                        # It is an error to specify an axis that isn't a valid minor axis
+                        # for the chart's type.
+                    "type": "A String", # The type of this series. Valid only if the
+                        # chartType is
+                        # COMBO.
+                        # Different types will change the way the series is visualized.
+                        # Only LINE, AREA,
+                        # and COLUMN are supported.
+                  },
+                ],
+                "legendPosition": "A String", # The position of the chart legend.
+                "domains": [ # The domain of data this is charting.
+                    # Only a single domain is currently supported.
+                  { # The domain of a chart.
+                      # For example, if charting stock prices over time, this would be the date.
+                    "domain": { # The data included in a domain or series. # The data of the domain. For example, if charting stock prices over time,
+                        # this be the data representing the dates.
+                      "sourceRange": { # Source ranges for a chart. # The source ranges of the data.
+                        "sources": [ # The ranges of data for a series or domain.
+                            # Exactly one dimension must have a length of 1,
+                            # and all sources in the list must have the same dimension
+                            # with length 1.
+                            # The domain (if it exists) & all series must have the same number
+                            # of source ranges. If using more than one source range, then the source
+                            # range at a given offset must be contiguous across the domain and series.
+                            #
+                            # For example, these are valid configurations:
+                            #
+                            #     domain sources: A1:A5
+                            #     series1 sources: B1:B5
+                            #     series2 sources: D6:D10
+                            #
+                            #     domain sources: A1:A5, C10:C12
+                            #     series1 sources: B1:B5, D10:D12
+                            #     series2 sources: C1:C5, E10:E12
+                          { # A range on a sheet.
+                              # All indexes are zero-based.
+                              # Indexes are half open, e.g the start index is inclusive
+                              # and the end index is exclusive -- [start_index, end_index).
+                              # Missing indexes indicate the range is unbounded on that side.
+                              #
+                              # For example, if "Sheet1" is grid ID 0, then:
+                              #
+                              #   Sheet1!A1:A1 == sheet_id: 0,
+                              #                   start_row_index: 0, end_row_index: 1,
+                              #                   start_column_index: 0, end_column_index: 1
+                              #
+                              #   Sheet1!A3:B4 == sheet_id: 0,
+                              #                   start_row_index: 2, end_row_index: 4,
+                              #                   start_column_index: 0, end_column_index: 2
+                              #
+                              #   Sheet1!A:B == sheet_id: 0,
+                              #                 start_column_index: 0, end_column_index: 2
+                              #
+                              #   Sheet1!A5:B == sheet_id: 0,
+                              #                  start_row_index: 4,
+                              #                  start_column_index: 0, end_column_index: 2
+                              #
+                              #   Sheet1 == sheet_id:0
+                              #
+                              # The start index must always be less than or equal to the end index.
+                              # If the start index equals the end index, then the range is empty.
+                              # Empty ranges are typically not meaningful and are usually rendered in the
+                              # UI as `#REF!`.
+                            "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+                            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                            "sheetId": 42, # The sheet this range is on.
+                            "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+                            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                          },
+                        ],
+                      },
+                    },
+                  },
+                ],
+                "chartType": "A String", # The type of the chart.
+                "axis": [ # The axis on the chart.
+                  { # An axis of the chart.
+                      # A chart may not have more than one axis per
+                      # axis position.
+                    "position": "A String", # The position of this axis.
+                    "format": { # The format of a run of text in a cell. # The format of the title.
+                        # Only valid if the axis is not associated with the domain.
+                        # Absent values indicate that the field isn't specified.
+                      "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
+                          # for simplicity of conversion to/from color representations in various
+                          # languages over compactness; for example, the fields of this representation
+                          # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                          # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                          # method in iOS; and, with just a little work, it can be easily formatted into
+                          # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                          #
+                          # Example (Java):
+                          #
+                          #      import com.google.type.Color;
+                          #
+                          #      // ...
+                          #      public static java.awt.Color fromProto(Color protocolor) {
+                          #        float alpha = protocolor.hasAlpha()
+                          #            ? protocolor.getAlpha().getValue()
+                          #            : 1.0;
+                          #
+                          #        return new java.awt.Color(
+                          #            protocolor.getRed(),
+                          #            protocolor.getGreen(),
+                          #            protocolor.getBlue(),
+                          #            alpha);
+                          #      }
+                          #
+                          #      public static Color toProto(java.awt.Color color) {
+                          #        float red = (float) color.getRed();
+                          #        float green = (float) color.getGreen();
+                          #        float blue = (float) color.getBlue();
+                          #        float denominator = 255.0;
+                          #        Color.Builder resultBuilder =
+                          #            Color
+                          #                .newBuilder()
+                          #                .setRed(red / denominator)
+                          #                .setGreen(green / denominator)
+                          #                .setBlue(blue / denominator);
+                          #        int alpha = color.getAlpha();
+                          #        if (alpha != 255) {
+                          #          result.setAlpha(
+                          #              FloatValue
+                          #                  .newBuilder()
+                          #                  .setValue(((float) alpha) / denominator)
+                          #                  .build());
+                          #        }
+                          #        return resultBuilder.build();
+                          #      }
+                          #      // ...
+                          #
+                          # Example (iOS / Obj-C):
+                          #
+                          #      // ...
+                          #      static UIColor* fromProto(Color* protocolor) {
+                          #         float red = [protocolor red];
+                          #         float green = [protocolor green];
+                          #         float blue = [protocolor blue];
+                          #         FloatValue* alpha_wrapper = [protocolor alpha];
+                          #         float alpha = 1.0;
+                          #         if (alpha_wrapper != nil) {
+                          #           alpha = [alpha_wrapper value];
+                          #         }
+                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                          #      }
+                          #
+                          #      static Color* toProto(UIColor* color) {
+                          #          CGFloat red, green, blue, alpha;
+                          #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                          #            return nil;
+                          #          }
+                          #          Color* result = [Color alloc] init];
+                          #          [result setRed:red];
+                          #          [result setGreen:green];
+                          #          [result setBlue:blue];
+                          #          if (alpha <= 0.9999) {
+                          #            [result setAlpha:floatWrapperWithValue(alpha)];
+                          #          }
+                          #          [result autorelease];
+                          #          return result;
+                          #     }
+                          #     // ...
+                          #
+                          #  Example (JavaScript):
+                          #
+                          #     // ...
+                          #
+                          #     var protoToCssColor = function(rgb_color) {
+                          #        var redFrac = rgb_color.red || 0.0;
+                          #        var greenFrac = rgb_color.green || 0.0;
+                          #        var blueFrac = rgb_color.blue || 0.0;
+                          #        var red = Math.floor(redFrac * 255);
+                          #        var green = Math.floor(greenFrac * 255);
+                          #        var blue = Math.floor(blueFrac * 255);
+                          #
+                          #        if (!('alpha' in rgb_color)) {
+                          #           return rgbToCssColor_(red, green, blue);
+                          #        }
+                          #
+                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                          #        var rgbParams = [red, green, blue].join(',');
+                          #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                          #     };
+                          #
+                          #     var rgbToCssColor_ = function(red, green, blue) {
+                          #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                          #       var hexString = rgbNumber.toString(16);
+                          #       var missingZeros = 6 - hexString.length;
+                          #       var resultBuilder = ['#'];
+                          #       for (var i = 0; i < missingZeros; i++) {
+                          #          resultBuilder.push('0');
+                          #       }
+                          #       resultBuilder.push(hexString);
+                          #       return resultBuilder.join('');
+                          #     };
+                          #
+                          #     // ...
+                        "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                        "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                            # the final pixel color is defined by the equation:
+                            #
+                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                            #
+                            # This means that a value of 1.0 corresponds to a solid color, whereas
+                            # a value of 0.0 corresponds to a completely transparent color. This
+                            # uses a wrapper message rather than a simple float scalar so that it is
+                            # possible to distinguish between a default value and the value being unset.
+                            # If omitted, this color object is to be rendered as a solid color
+                            # (as if the alpha value had been explicitly given with a value of 1.0).
+                        "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      },
+                      "bold": True or False, # True if the text is bold.
+                      "strikethrough": True or False, # True if the text has a strikethrough.
+                      "fontFamily": "A String", # The font family.
+                      "fontSize": 42, # The size of the font.
+                      "italic": True or False, # True if the text is italicized.
+                      "underline": True or False, # True if the text is underlined.
+                    },
+                    "title": "A String", # The title of this axis. If set, this overrides any title inferred
+                        # from headers of the data.
+                  },
+                ],
+              },
+              "title": "A String", # The title of the chart.
+            },
+          },
+        },
+        "updateConditionalFormatRule": { # The result of updating a conditional format rule. # A reply from updating a conditional format rule.
+          "oldIndex": 42, # The old index of the rule. Not set if a rule was replaced
+              # (because it is the same as newIndex).
+          "newIndex": 42, # The index of the new rule.
+          "oldRule": { # A rule describing a conditional format. # The old (deleted) rule. Not set if a rule was moved
+              # (because it is the same as newRule).
+            "ranges": [ # The ranges that will be formatted if the condition is true.
+                # All the ranges must be on the same grid.
+              { # A range on a sheet.
+                  # All indexes are zero-based.
+                  # Indexes are half open, e.g the start index is inclusive
+                  # and the end index is exclusive -- [start_index, end_index).
+                  # Missing indexes indicate the range is unbounded on that side.
+                  #
+                  # For example, if "Sheet1" is grid ID 0, then:
+                  #
+                  #   Sheet1!A1:A1 == sheet_id: 0,
+                  #                   start_row_index: 0, end_row_index: 1,
+                  #                   start_column_index: 0, end_column_index: 1
+                  #
+                  #   Sheet1!A3:B4 == sheet_id: 0,
+                  #                   start_row_index: 2, end_row_index: 4,
+                  #                   start_column_index: 0, end_column_index: 2
+                  #
+                  #   Sheet1!A:B == sheet_id: 0,
+                  #                 start_column_index: 0, end_column_index: 2
+                  #
+                  #   Sheet1!A5:B == sheet_id: 0,
+                  #                  start_row_index: 4,
+                  #                  start_column_index: 0, end_column_index: 2
+                  #
+                  #   Sheet1 == sheet_id:0
+                  #
+                  # The start index must always be less than or equal to the end index.
+                  # If the start index equals the end index, then the range is empty.
+                  # Empty ranges are typically not meaningful and are usually rendered in the
+                  # UI as `#REF!`.
+                "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                "sheetId": 42, # The sheet this range is on.
+                "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+              },
+            ],
+            "booleanRule": { # A rule that may or may not match, depending on the condition. # The formatting is either "on" or "off" according to the rule.
+              "condition": { # A condition that can evaluate to true or false. # The condition of the rule. If the condition evaluates to true,
+                  # the format will be applied.
+                  # BooleanConditions are used by conditional formatting,
+                  # data validation, and the criteria in filters.
+                "type": "A String", # The type of condition.
+                "values": [ # The values of the condition. The number of supported values depends
+                    # on the condition type.  Some support zero values,
+                    # others one or two values,
+                    # and ConditionType.ONE_OF_LIST supports an arbitrary number of values.
+                  { # The value of the condition.
+                    "relativeDate": "A String", # A relative date (based on the current date).
+                        # Valid only if the type is
+                        # DATE_BEFORE,
+                        # DATE_AFTER,
+                        # DATE_ON_OR_BEFORE or
+                        # DATE_ON_OR_AFTER.
+                        #
+                        # Relative dates are not supported in data validation.
+                        # They are supported only in conditional formatting and
+                        # conditional filters.
+                    "userEnteredValue": "A String", # A value the condition is based on.
+                        # The value will be parsed as if the user typed into a cell.
+                        # Formulas are supported (and must begin with an `=`).
+                  },
+                ],
+              },
+              "format": { # The format of a cell. # The format to apply.
+                  # Conditional formatting can only apply a subset of formatting:
+                  # bold, italic,
+                  # strikethrough,
+                  # foreground color &
+                  # background color.
+                "numberFormat": { # The number format of a cell. # A format describing how number values should be represented to the user.
+                    # When updating, all fields must be set.
+                  "pattern": "A String", # Pattern string used for formatting.
+                  "type": "A String", # The type of the number format.
+                },
+                "textDirection": "A String", # The direction of the text in the cell.
+                "padding": { # The amount of padding around the cell, in pixels. # The padding of the cell.
+                    # When updating padding, every field must be specified.
+                  "top": 42, # The top padding of the cell.
+                  "right": 42, # The right padding of the cell.
+                  "bottom": 42, # The bottom padding of the cell.
+                  "left": 42, # The left padding of the cell.
+                },
+                "horizontalAlignment": "A String", # The horizontal alignment of the value in cell.
+                "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                    # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha <= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!('alpha' in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(',');
+                    #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = ['#'];
+                    #       for (var i = 0; i < missingZeros; i++) {
+                    #          resultBuilder.push('0');
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join('');
+                    #     };
+                    #
+                    #     // ...
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+                "verticalAlignment": "A String", # The vertical alignment of the value in cell.
+                "textFormat": { # The format of a run of text in a cell. # The format of the text in the cell (unless overridden by a format run).
+                    # Absent values indicate that the field isn't specified.
+                  "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                      # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha <= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!('alpha' in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(',');
+                      #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = ['#'];
+                      #       for (var i = 0; i < missingZeros; i++) {
+                      #          resultBuilder.push('0');
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join('');
+                      #     };
+                      #
+                      #     // ...
+                    "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                    "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  },
+                  "bold": True or False, # True if the text is bold.
+                  "strikethrough": True or False, # True if the text has a strikethrough.
+                  "fontFamily": "A String", # The font family.
+                  "fontSize": 42, # The size of the font.
+                  "italic": True or False, # True if the text is italicized.
+                  "underline": True or False, # True if the text is underlined.
+                },
+                "hyperlinkDisplayType": "A String", # How a hyperlink, if it exists, should be displayed in the cell.
+                "borders": { # The borders of the cell. # The borders of the cell.
+                  "top": { # A border along a cell. # The top border of the cell.
+                    "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                        # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha <= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!('alpha' in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(',');
+                        #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = ['#'];
+                        #       for (var i = 0; i < missingZeros; i++) {
+                        #          resultBuilder.push('0');
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join('');
+                        #     };
+                        #
+                        #     // ...
+                      "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                      "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    },
+                    "width": 42, # The width of the border, in pixels.
+                        # Border widths must be between 0 and 3 pixels.
+                    "style": "A String", # The style of the border.
+                  },
+                  "right": { # A border along a cell. # The right border of the cell.
+                    "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                        # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha <= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!('alpha' in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(',');
+                        #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = ['#'];
+                        #       for (var i = 0; i < missingZeros; i++) {
+                        #          resultBuilder.push('0');
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join('');
+                        #     };
+                        #
+                        #     // ...
+                      "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                      "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    },
+                    "width": 42, # The width of the border, in pixels.
+                        # Border widths must be between 0 and 3 pixels.
+                    "style": "A String", # The style of the border.
+                  },
+                  "bottom": { # A border along a cell. # The bottom border of the cell.
+                    "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                        # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha <= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!('alpha' in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(',');
+                        #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = ['#'];
+                        #       for (var i = 0; i < missingZeros; i++) {
+                        #          resultBuilder.push('0');
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join('');
+                        #     };
+                        #
+                        #     // ...
+                      "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                      "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    },
+                    "width": 42, # The width of the border, in pixels.
+                        # Border widths must be between 0 and 3 pixels.
+                    "style": "A String", # The style of the border.
+                  },
+                  "left": { # A border along a cell. # The left border of the cell.
+                    "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                        # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha <= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!('alpha' in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(',');
+                        #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = ['#'];
+                        #       for (var i = 0; i < missingZeros; i++) {
+                        #          resultBuilder.push('0');
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join('');
+                        #     };
+                        #
+                        #     // ...
+                      "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                      "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    },
+                    "width": 42, # The width of the border, in pixels.
+                        # Border widths must be between 0 and 3 pixels.
+                    "style": "A String", # The style of the border.
+                  },
+                },
+                "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
+              },
+            },
+            "gradientRule": { # A rule that applies a gradient color scale format, based on # The formatting will vary based on the gradients in the rule.
+                # the interpolation points listed. The format of a cell will vary
+                # based on its contents as compared to the values of the interpolation
+                # points.
+              "maxpoint": { # A single interpolation point a gradient conditional format. # The final interpolation point.
+                  # These pin the gradient color scale according to the color,
+                  # type and value chosen.
+                "color": { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                    # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha <= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!('alpha' in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(',');
+                    #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = ['#'];
+                    #       for (var i = 0; i < missingZeros; i++) {
+                    #          resultBuilder.push('0');
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join('');
+                    #     };
+                    #
+                    #     // ...
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+                "type": "A String", # How the value should be interpreted.
+                "value": "A String", # The value this interpolation point uses.  May be a formula.
+                    # Unused if type is MIN or
+                    # MAX.
+              },
+              "midpoint": { # A single interpolation point a gradient conditional format. # An optional midway interpolation point.
+                  # These pin the gradient color scale according to the color,
+                  # type and value chosen.
+                "color": { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                    # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha <= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!('alpha' in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(',');
+                    #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = ['#'];
+                    #       for (var i = 0; i < missingZeros; i++) {
+                    #          resultBuilder.push('0');
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join('');
+                    #     };
+                    #
+                    #     // ...
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+                "type": "A String", # How the value should be interpreted.
+                "value": "A String", # The value this interpolation point uses.  May be a formula.
+                    # Unused if type is MIN or
+                    # MAX.
+              },
+              "minpoint": { # A single interpolation point a gradient conditional format. # The starting interpolation point.
+                  # These pin the gradient color scale according to the color,
+                  # type and value chosen.
+                "color": { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                    # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha <= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!('alpha' in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(',');
+                    #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = ['#'];
+                    #       for (var i = 0; i < missingZeros; i++) {
+                    #          resultBuilder.push('0');
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join('');
+                    #     };
+                    #
+                    #     // ...
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+                "type": "A String", # How the value should be interpreted.
+                "value": "A String", # The value this interpolation point uses.  May be a formula.
+                    # Unused if type is MIN or
+                    # MAX.
+              },
+            },
+          },
+          "newRule": { # A rule describing a conditional format. # The new rule that replaced the old rule (if replacing),
+              # or the rule that was moved (if moved)
+            "ranges": [ # The ranges that will be formatted if the condition is true.
+                # All the ranges must be on the same grid.
+              { # A range on a sheet.
+                  # All indexes are zero-based.
+                  # Indexes are half open, e.g the start index is inclusive
+                  # and the end index is exclusive -- [start_index, end_index).
+                  # Missing indexes indicate the range is unbounded on that side.
+                  #
+                  # For example, if "Sheet1" is grid ID 0, then:
+                  #
+                  #   Sheet1!A1:A1 == sheet_id: 0,
+                  #                   start_row_index: 0, end_row_index: 1,
+                  #                   start_column_index: 0, end_column_index: 1
+                  #
+                  #   Sheet1!A3:B4 == sheet_id: 0,
+                  #                   start_row_index: 2, end_row_index: 4,
+                  #                   start_column_index: 0, end_column_index: 2
+                  #
+                  #   Sheet1!A:B == sheet_id: 0,
+                  #                 start_column_index: 0, end_column_index: 2
+                  #
+                  #   Sheet1!A5:B == sheet_id: 0,
+                  #                  start_row_index: 4,
+                  #                  start_column_index: 0, end_column_index: 2
+                  #
+                  #   Sheet1 == sheet_id:0
+                  #
+                  # The start index must always be less than or equal to the end index.
+                  # If the start index equals the end index, then the range is empty.
+                  # Empty ranges are typically not meaningful and are usually rendered in the
+                  # UI as `#REF!`.
+                "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                "sheetId": 42, # The sheet this range is on.
+                "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+              },
+            ],
+            "booleanRule": { # A rule that may or may not match, depending on the condition. # The formatting is either "on" or "off" according to the rule.
+              "condition": { # A condition that can evaluate to true or false. # The condition of the rule. If the condition evaluates to true,
+                  # the format will be applied.
+                  # BooleanConditions are used by conditional formatting,
+                  # data validation, and the criteria in filters.
+                "type": "A String", # The type of condition.
+                "values": [ # The values of the condition. The number of supported values depends
+                    # on the condition type.  Some support zero values,
+                    # others one or two values,
+                    # and ConditionType.ONE_OF_LIST supports an arbitrary number of values.
+                  { # The value of the condition.
+                    "relativeDate": "A String", # A relative date (based on the current date).
+                        # Valid only if the type is
+                        # DATE_BEFORE,
+                        # DATE_AFTER,
+                        # DATE_ON_OR_BEFORE or
+                        # DATE_ON_OR_AFTER.
+                        #
+                        # Relative dates are not supported in data validation.
+                        # They are supported only in conditional formatting and
+                        # conditional filters.
+                    "userEnteredValue": "A String", # A value the condition is based on.
+                        # The value will be parsed as if the user typed into a cell.
+                        # Formulas are supported (and must begin with an `=`).
+                  },
+                ],
+              },
+              "format": { # The format of a cell. # The format to apply.
+                  # Conditional formatting can only apply a subset of formatting:
+                  # bold, italic,
+                  # strikethrough,
+                  # foreground color &
+                  # background color.
+                "numberFormat": { # The number format of a cell. # A format describing how number values should be represented to the user.
+                    # When updating, all fields must be set.
+                  "pattern": "A String", # Pattern string used for formatting.
+                  "type": "A String", # The type of the number format.
+                },
+                "textDirection": "A String", # The direction of the text in the cell.
+                "padding": { # The amount of padding around the cell, in pixels. # The padding of the cell.
+                    # When updating padding, every field must be specified.
+                  "top": 42, # The top padding of the cell.
+                  "right": 42, # The right padding of the cell.
+                  "bottom": 42, # The bottom padding of the cell.
+                  "left": 42, # The left padding of the cell.
+                },
+                "horizontalAlignment": "A String", # The horizontal alignment of the value in cell.
+                "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                    # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha <= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!('alpha' in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(',');
+                    #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = ['#'];
+                    #       for (var i = 0; i < missingZeros; i++) {
+                    #          resultBuilder.push('0');
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join('');
+                    #     };
+                    #
+                    #     // ...
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+                "verticalAlignment": "A String", # The vertical alignment of the value in cell.
+                "textFormat": { # The format of a run of text in a cell. # The format of the text in the cell (unless overridden by a format run).
+                    # Absent values indicate that the field isn't specified.
+                  "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                      # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha <= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!('alpha' in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(',');
+                      #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = ['#'];
+                      #       for (var i = 0; i < missingZeros; i++) {
+                      #          resultBuilder.push('0');
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join('');
+                      #     };
+                      #
+                      #     // ...
+                    "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                    "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  },
+                  "bold": True or False, # True if the text is bold.
+                  "strikethrough": True or False, # True if the text has a strikethrough.
+                  "fontFamily": "A String", # The font family.
+                  "fontSize": 42, # The size of the font.
+                  "italic": True or False, # True if the text is italicized.
+                  "underline": True or False, # True if the text is underlined.
+                },
+                "hyperlinkDisplayType": "A String", # How a hyperlink, if it exists, should be displayed in the cell.
+                "borders": { # The borders of the cell. # The borders of the cell.
+                  "top": { # A border along a cell. # The top border of the cell.
+                    "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                        # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha <= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!('alpha' in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(',');
+                        #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = ['#'];
+                        #       for (var i = 0; i < missingZeros; i++) {
+                        #          resultBuilder.push('0');
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join('');
+                        #     };
+                        #
+                        #     // ...
+                      "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                      "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    },
+                    "width": 42, # The width of the border, in pixels.
+                        # Border widths must be between 0 and 3 pixels.
+                    "style": "A String", # The style of the border.
+                  },
+                  "right": { # A border along a cell. # The right border of the cell.
+                    "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                        # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha <= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!('alpha' in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(',');
+                        #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = ['#'];
+                        #       for (var i = 0; i < missingZeros; i++) {
+                        #          resultBuilder.push('0');
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join('');
+                        #     };
+                        #
+                        #     // ...
+                      "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                      "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    },
+                    "width": 42, # The width of the border, in pixels.
+                        # Border widths must be between 0 and 3 pixels.
+                    "style": "A String", # The style of the border.
+                  },
+                  "bottom": { # A border along a cell. # The bottom border of the cell.
+                    "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                        # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha <= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!('alpha' in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(',');
+                        #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = ['#'];
+                        #       for (var i = 0; i < missingZeros; i++) {
+                        #          resultBuilder.push('0');
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join('');
+                        #     };
+                        #
+                        #     // ...
+                      "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                      "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    },
+                    "width": 42, # The width of the border, in pixels.
+                        # Border widths must be between 0 and 3 pixels.
+                    "style": "A String", # The style of the border.
+                  },
+                  "left": { # A border along a cell. # The left border of the cell.
+                    "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                        # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha <= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!('alpha' in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(',');
+                        #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = ['#'];
+                        #       for (var i = 0; i < missingZeros; i++) {
+                        #          resultBuilder.push('0');
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join('');
+                        #     };
+                        #
+                        #     // ...
+                      "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                      "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    },
+                    "width": 42, # The width of the border, in pixels.
+                        # Border widths must be between 0 and 3 pixels.
+                    "style": "A String", # The style of the border.
+                  },
+                },
+                "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
+              },
+            },
+            "gradientRule": { # A rule that applies a gradient color scale format, based on # The formatting will vary based on the gradients in the rule.
+                # the interpolation points listed. The format of a cell will vary
+                # based on its contents as compared to the values of the interpolation
+                # points.
+              "maxpoint": { # A single interpolation point a gradient conditional format. # The final interpolation point.
+                  # These pin the gradient color scale according to the color,
+                  # type and value chosen.
+                "color": { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                    # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha <= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!('alpha' in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(',');
+                    #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = ['#'];
+                    #       for (var i = 0; i < missingZeros; i++) {
+                    #          resultBuilder.push('0');
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join('');
+                    #     };
+                    #
+                    #     // ...
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+                "type": "A String", # How the value should be interpreted.
+                "value": "A String", # The value this interpolation point uses.  May be a formula.
+                    # Unused if type is MIN or
+                    # MAX.
+              },
+              "midpoint": { # A single interpolation point a gradient conditional format. # An optional midway interpolation point.
+                  # These pin the gradient color scale according to the color,
+                  # type and value chosen.
+                "color": { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                    # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha <= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!('alpha' in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(',');
+                    #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = ['#'];
+                    #       for (var i = 0; i < missingZeros; i++) {
+                    #          resultBuilder.push('0');
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join('');
+                    #     };
+                    #
+                    #     // ...
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+                "type": "A String", # How the value should be interpreted.
+                "value": "A String", # The value this interpolation point uses.  May be a formula.
+                    # Unused if type is MIN or
+                    # MAX.
+              },
+              "minpoint": { # A single interpolation point a gradient conditional format. # The starting interpolation point.
+                  # These pin the gradient color scale according to the color,
+                  # type and value chosen.
+                "color": { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                    # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha <= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!('alpha' in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(',');
+                    #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = ['#'];
+                    #       for (var i = 0; i < missingZeros; i++) {
+                    #          resultBuilder.push('0');
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join('');
+                    #     };
+                    #
+                    #     // ...
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+                "type": "A String", # How the value should be interpreted.
+                "value": "A String", # The value this interpolation point uses.  May be a formula.
+                    # Unused if type is MIN or
+                    # MAX.
+              },
+            },
+          },
+        },
+        "addSheet": { # The result of adding a sheet. # A reply from adding a sheet.
+          "properties": { # Properties of a sheet. # The properties of the newly added sheet.
+            "sheetType": "A String", # The type of sheet. Defaults to GRID.
+                # This field cannot be changed once set.
+            "index": 42, # The index of the sheet within the spreadsheet.
+                # When adding or updating sheet properties, if this field
+                # is excluded then the sheet will be added or moved to the end
+                # of the sheet list.
+            "title": "A String", # The name of the sheet.
+            "gridProperties": { # Properties of a grid. # Additional properties of the sheet if this sheet is a grid.
+                # (If the sheet is an object sheet, containing a chart or image, then
+                # this field will be absent.)
+                # When writing it is an error to set any grid properties on non-grid sheets.
+              "columnCount": 42, # The number of columns in the grid.
+              "rowCount": 42, # The number of rows in the grid.
+              "frozenColumnCount": 42, # The number of columns that are frozen in the grid.
+              "hideGridlines": True or False, # True if the grid isn't showing gridlines in the UI.
+              "frozenRowCount": 42, # The number of rows that are frozen in the grid.
+            },
+            "rightToLeft": True or False, # True if the sheet is an RTL sheet instead of an LTR sheet.
+            "tabColor": { # Represents a color in the RGBA color space. This representation is designed # The color of the tab in the UI.
+                # for simplicity of conversion to/from color representations in various
+                # languages over compactness; for example, the fields of this representation
+                # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                # method in iOS; and, with just a little work, it can be easily formatted into
+                # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                #
+                # Example (Java):
+                #
+                #      import com.google.type.Color;
+                #
+                #      // ...
+                #      public static java.awt.Color fromProto(Color protocolor) {
+                #        float alpha = protocolor.hasAlpha()
+                #            ? protocolor.getAlpha().getValue()
+                #            : 1.0;
+                #
+                #        return new java.awt.Color(
+                #            protocolor.getRed(),
+                #            protocolor.getGreen(),
+                #            protocolor.getBlue(),
+                #            alpha);
+                #      }
+                #
+                #      public static Color toProto(java.awt.Color color) {
+                #        float red = (float) color.getRed();
+                #        float green = (float) color.getGreen();
+                #        float blue = (float) color.getBlue();
+                #        float denominator = 255.0;
+                #        Color.Builder resultBuilder =
+                #            Color
+                #                .newBuilder()
+                #                .setRed(red / denominator)
+                #                .setGreen(green / denominator)
+                #                .setBlue(blue / denominator);
+                #        int alpha = color.getAlpha();
+                #        if (alpha != 255) {
+                #          result.setAlpha(
+                #              FloatValue
+                #                  .newBuilder()
+                #                  .setValue(((float) alpha) / denominator)
+                #                  .build());
+                #        }
+                #        return resultBuilder.build();
+                #      }
+                #      // ...
+                #
+                # Example (iOS / Obj-C):
+                #
+                #      // ...
+                #      static UIColor* fromProto(Color* protocolor) {
+                #         float red = [protocolor red];
+                #         float green = [protocolor green];
+                #         float blue = [protocolor blue];
+                #         FloatValue* alpha_wrapper = [protocolor alpha];
+                #         float alpha = 1.0;
+                #         if (alpha_wrapper != nil) {
+                #           alpha = [alpha_wrapper value];
+                #         }
+                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                #      }
+                #
+                #      static Color* toProto(UIColor* color) {
+                #          CGFloat red, green, blue, alpha;
+                #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                #            return nil;
+                #          }
+                #          Color* result = [Color alloc] init];
+                #          [result setRed:red];
+                #          [result setGreen:green];
+                #          [result setBlue:blue];
+                #          if (alpha <= 0.9999) {
+                #            [result setAlpha:floatWrapperWithValue(alpha)];
+                #          }
+                #          [result autorelease];
+                #          return result;
+                #     }
+                #     // ...
+                #
+                #  Example (JavaScript):
+                #
+                #     // ...
+                #
+                #     var protoToCssColor = function(rgb_color) {
+                #        var redFrac = rgb_color.red || 0.0;
+                #        var greenFrac = rgb_color.green || 0.0;
+                #        var blueFrac = rgb_color.blue || 0.0;
+                #        var red = Math.floor(redFrac * 255);
+                #        var green = Math.floor(greenFrac * 255);
+                #        var blue = Math.floor(blueFrac * 255);
+                #
+                #        if (!('alpha' in rgb_color)) {
+                #           return rgbToCssColor_(red, green, blue);
+                #        }
+                #
+                #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                #        var rgbParams = [red, green, blue].join(',');
+                #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                #     };
+                #
+                #     var rgbToCssColor_ = function(red, green, blue) {
+                #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                #       var hexString = rgbNumber.toString(16);
+                #       var missingZeros = 6 - hexString.length;
+                #       var resultBuilder = ['#'];
+                #       for (var i = 0; i < missingZeros; i++) {
+                #          resultBuilder.push('0');
+                #       }
+                #       resultBuilder.push(hexString);
+                #       return resultBuilder.join('');
+                #     };
+                #
+                #     // ...
+              "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+              "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                  # the final pixel color is defined by the equation:
+                  #
+                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                  #
+                  # This means that a value of 1.0 corresponds to a solid color, whereas
+                  # a value of 0.0 corresponds to a completely transparent color. This
+                  # uses a wrapper message rather than a simple float scalar so that it is
+                  # possible to distinguish between a default value and the value being unset.
+                  # If omitted, this color object is to be rendered as a solid color
+                  # (as if the alpha value had been explicitly given with a value of 1.0).
+              "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+            },
+            "hidden": True or False, # True if the sheet is hidden in the UI, false if it's visible.
+            "sheetId": 42, # The ID of the sheet. Must be non-negative.
+                # This field cannot be changed once set.
+          },
+        },
+        "findReplace": { # The result of the find/replace. # A reply from doing a find/replace.
+          "occurrencesChanged": 42, # The number of occurrences (possibly multiple within a cell) changed.
+              # For example, if replacing "`e`" with "`o`" in "`Google Sheets`", this would
+              # be "`3`" because "`Google Sheets`" -> "`Googlo Shoots`".
+          "sheetsChanged": 42, # The number of sheets changed.
+          "rowsChanged": 42, # The number of rows changed.
+          "valuesChanged": 42, # The number of non-formula cells changed.
+          "formulasChanged": 42, # The number of formula cells changed.
+        },
+        "addNamedRange": { # The result of adding a named range. # A reply from adding a named range.
+          "namedRange": { # A named range. # The named range to add.
+            "namedRangeId": "A String", # The ID of the named range.
+            "range": { # A range on a sheet. # The range this represents.
+                # All indexes are zero-based.
+                # Indexes are half open, e.g the start index is inclusive
+                # and the end index is exclusive -- [start_index, end_index).
+                # Missing indexes indicate the range is unbounded on that side.
+                #
+                # For example, if "Sheet1" is grid ID 0, then:
+                #
+                #   Sheet1!A1:A1 == sheet_id: 0,
+                #                   start_row_index: 0, end_row_index: 1,
+                #                   start_column_index: 0, end_column_index: 1
+                #
+                #   Sheet1!A3:B4 == sheet_id: 0,
+                #                   start_row_index: 2, end_row_index: 4,
+                #                   start_column_index: 0, end_column_index: 2
+                #
+                #   Sheet1!A:B == sheet_id: 0,
+                #                 start_column_index: 0, end_column_index: 2
+                #
+                #   Sheet1!A5:B == sheet_id: 0,
+                #                  start_row_index: 4,
+                #                  start_column_index: 0, end_column_index: 2
+                #
+                #   Sheet1 == sheet_id:0
+                #
+                # The start index must always be less than or equal to the end index.
+                # If the start index equals the end index, then the range is empty.
+                # Empty ranges are typically not meaningful and are usually rendered in the
+                # UI as `#REF!`.
+              "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "sheetId": 42, # The sheet this range is on.
+              "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+            },
+            "name": "A String", # The name of the named range.
+          },
+        },
+        "addProtectedRange": { # The result of adding a new protected range. # A reply from adding a protected range.
+          "protectedRange": { # A protected range. # The newly added protected range.
+            "unprotectedRanges": [ # The list of unprotected ranges within a protected sheet.
+                # Unprotected ranges are only supported on protected sheets.
+              { # A range on a sheet.
+                  # All indexes are zero-based.
+                  # Indexes are half open, e.g the start index is inclusive
+                  # and the end index is exclusive -- [start_index, end_index).
+                  # Missing indexes indicate the range is unbounded on that side.
+                  #
+                  # For example, if "Sheet1" is grid ID 0, then:
+                  #
+                  #   Sheet1!A1:A1 == sheet_id: 0,
+                  #                   start_row_index: 0, end_row_index: 1,
+                  #                   start_column_index: 0, end_column_index: 1
+                  #
+                  #   Sheet1!A3:B4 == sheet_id: 0,
+                  #                   start_row_index: 2, end_row_index: 4,
+                  #                   start_column_index: 0, end_column_index: 2
+                  #
+                  #   Sheet1!A:B == sheet_id: 0,
+                  #                 start_column_index: 0, end_column_index: 2
+                  #
+                  #   Sheet1!A5:B == sheet_id: 0,
+                  #                  start_row_index: 4,
+                  #                  start_column_index: 0, end_column_index: 2
+                  #
+                  #   Sheet1 == sheet_id:0
+                  #
+                  # The start index must always be less than or equal to the end index.
+                  # If the start index equals the end index, then the range is empty.
+                  # Empty ranges are typically not meaningful and are usually rendered in the
+                  # UI as `#REF!`.
+                "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                "sheetId": 42, # The sheet this range is on.
+                "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+              },
+            ],
+            "requestingUserCanEdit": True or False, # True if the user who requested this protected range can edit the
+                # protected area.
+                # This field is read-only.
+            "description": "A String", # The description of this protected range.
+            "namedRangeId": "A String", # The named range this protected range is backed by, if any.
+                #
+                # When writing, only one of range or namedRangeId
+                # may be set.
+            "editors": { # The editors of a protected range. # The users and groups with edit access to the protected range.
+                # This field is only visible to users with edit access to the protected
+                # range and the document.
+                # Editors are not supported with warningOnly protection.
+              "domainUsersCanEdit": True or False, # True if anyone in the document's domain has edit access to the protected
+                  # range.  Domain protection is only supported on documents within a domain.
+              "users": [ # The email addresses of users with edit access to the protected range.
+                "A String",
+              ],
+              "groups": [ # The email addresses of groups with edit access to the protected range.
+                "A String",
+              ],
+            },
+            "protectedRangeId": 42, # The ID of the protected range.
+                # This field is read-only.
+            "warningOnly": True or False, # True if this this protected range will show a warning when editing.
+                # Warning-based protection means that every user can edit data in the
+                # protected range, except editing will prompt a warning asking the user
+                # to confirm the edit.
+                #
+                # When warning: if this field is true, then editors is ignored.
+                # Additionally, if this field is changed from true to false and the
+                # `editors` field is not set (nor included in the field mask), then
+                # the editors will be set to all the editors in the document.
+            "range": { # A range on a sheet. # The range that is being protected.
+                # The range may be fully unbounded, in which case this is considered
+                # a protected sheet.
+                #
+                # When writing, only one of range or namedRangeId
+                # may be set.
+                # All indexes are zero-based.
+                # Indexes are half open, e.g the start index is inclusive
+                # and the end index is exclusive -- [start_index, end_index).
+                # Missing indexes indicate the range is unbounded on that side.
+                #
+                # For example, if "Sheet1" is grid ID 0, then:
+                #
+                #   Sheet1!A1:A1 == sheet_id: 0,
+                #                   start_row_index: 0, end_row_index: 1,
+                #                   start_column_index: 0, end_column_index: 1
+                #
+                #   Sheet1!A3:B4 == sheet_id: 0,
+                #                   start_row_index: 2, end_row_index: 4,
+                #                   start_column_index: 0, end_column_index: 2
+                #
+                #   Sheet1!A:B == sheet_id: 0,
+                #                 start_column_index: 0, end_column_index: 2
+                #
+                #   Sheet1!A5:B == sheet_id: 0,
+                #                  start_row_index: 4,
+                #                  start_column_index: 0, end_column_index: 2
+                #
+                #   Sheet1 == sheet_id:0
+                #
+                # The start index must always be less than or equal to the end index.
+                # If the start index equals the end index, then the range is empty.
+                # Empty ranges are typically not meaningful and are usually rendered in the
+                # UI as `#REF!`.
+              "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "sheetId": 42, # The sheet this range is on.
+              "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+            },
+          },
+        },
+        "deleteConditionalFormatRule": { # The result of deleting a conditional format rule. # A reply from deleting a conditional format rule.
+          "rule": { # A rule describing a conditional format. # The rule that was deleted.
+            "ranges": [ # The ranges that will be formatted if the condition is true.
+                # All the ranges must be on the same grid.
+              { # A range on a sheet.
+                  # All indexes are zero-based.
+                  # Indexes are half open, e.g the start index is inclusive
+                  # and the end index is exclusive -- [start_index, end_index).
+                  # Missing indexes indicate the range is unbounded on that side.
+                  #
+                  # For example, if "Sheet1" is grid ID 0, then:
+                  #
+                  #   Sheet1!A1:A1 == sheet_id: 0,
+                  #                   start_row_index: 0, end_row_index: 1,
+                  #                   start_column_index: 0, end_column_index: 1
+                  #
+                  #   Sheet1!A3:B4 == sheet_id: 0,
+                  #                   start_row_index: 2, end_row_index: 4,
+                  #                   start_column_index: 0, end_column_index: 2
+                  #
+                  #   Sheet1!A:B == sheet_id: 0,
+                  #                 start_column_index: 0, end_column_index: 2
+                  #
+                  #   Sheet1!A5:B == sheet_id: 0,
+                  #                  start_row_index: 4,
+                  #                  start_column_index: 0, end_column_index: 2
+                  #
+                  #   Sheet1 == sheet_id:0
+                  #
+                  # The start index must always be less than or equal to the end index.
+                  # If the start index equals the end index, then the range is empty.
+                  # Empty ranges are typically not meaningful and are usually rendered in the
+                  # UI as `#REF!`.
+                "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                "sheetId": 42, # The sheet this range is on.
+                "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+              },
+            ],
+            "booleanRule": { # A rule that may or may not match, depending on the condition. # The formatting is either "on" or "off" according to the rule.
+              "condition": { # A condition that can evaluate to true or false. # The condition of the rule. If the condition evaluates to true,
+                  # the format will be applied.
+                  # BooleanConditions are used by conditional formatting,
+                  # data validation, and the criteria in filters.
+                "type": "A String", # The type of condition.
+                "values": [ # The values of the condition. The number of supported values depends
+                    # on the condition type.  Some support zero values,
+                    # others one or two values,
+                    # and ConditionType.ONE_OF_LIST supports an arbitrary number of values.
+                  { # The value of the condition.
+                    "relativeDate": "A String", # A relative date (based on the current date).
+                        # Valid only if the type is
+                        # DATE_BEFORE,
+                        # DATE_AFTER,
+                        # DATE_ON_OR_BEFORE or
+                        # DATE_ON_OR_AFTER.
+                        #
+                        # Relative dates are not supported in data validation.
+                        # They are supported only in conditional formatting and
+                        # conditional filters.
+                    "userEnteredValue": "A String", # A value the condition is based on.
+                        # The value will be parsed as if the user typed into a cell.
+                        # Formulas are supported (and must begin with an `=`).
+                  },
+                ],
+              },
+              "format": { # The format of a cell. # The format to apply.
+                  # Conditional formatting can only apply a subset of formatting:
+                  # bold, italic,
+                  # strikethrough,
+                  # foreground color &
+                  # background color.
+                "numberFormat": { # The number format of a cell. # A format describing how number values should be represented to the user.
+                    # When updating, all fields must be set.
+                  "pattern": "A String", # Pattern string used for formatting.
+                  "type": "A String", # The type of the number format.
+                },
+                "textDirection": "A String", # The direction of the text in the cell.
+                "padding": { # The amount of padding around the cell, in pixels. # The padding of the cell.
+                    # When updating padding, every field must be specified.
+                  "top": 42, # The top padding of the cell.
+                  "right": 42, # The right padding of the cell.
+                  "bottom": 42, # The bottom padding of the cell.
+                  "left": 42, # The left padding of the cell.
+                },
+                "horizontalAlignment": "A String", # The horizontal alignment of the value in cell.
+                "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                    # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha <= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!('alpha' in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(',');
+                    #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = ['#'];
+                    #       for (var i = 0; i < missingZeros; i++) {
+                    #          resultBuilder.push('0');
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join('');
+                    #     };
+                    #
+                    #     // ...
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+                "verticalAlignment": "A String", # The vertical alignment of the value in cell.
+                "textFormat": { # The format of a run of text in a cell. # The format of the text in the cell (unless overridden by a format run).
+                    # Absent values indicate that the field isn't specified.
+                  "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                      # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha <= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!('alpha' in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(',');
+                      #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = ['#'];
+                      #       for (var i = 0; i < missingZeros; i++) {
+                      #          resultBuilder.push('0');
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join('');
+                      #     };
+                      #
+                      #     // ...
+                    "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                    "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  },
+                  "bold": True or False, # True if the text is bold.
+                  "strikethrough": True or False, # True if the text has a strikethrough.
+                  "fontFamily": "A String", # The font family.
+                  "fontSize": 42, # The size of the font.
+                  "italic": True or False, # True if the text is italicized.
+                  "underline": True or False, # True if the text is underlined.
+                },
+                "hyperlinkDisplayType": "A String", # How a hyperlink, if it exists, should be displayed in the cell.
+                "borders": { # The borders of the cell. # The borders of the cell.
+                  "top": { # A border along a cell. # The top border of the cell.
+                    "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                        # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha <= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!('alpha' in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(',');
+                        #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = ['#'];
+                        #       for (var i = 0; i < missingZeros; i++) {
+                        #          resultBuilder.push('0');
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join('');
+                        #     };
+                        #
+                        #     // ...
+                      "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                      "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    },
+                    "width": 42, # The width of the border, in pixels.
+                        # Border widths must be between 0 and 3 pixels.
+                    "style": "A String", # The style of the border.
+                  },
+                  "right": { # A border along a cell. # The right border of the cell.
+                    "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                        # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha <= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!('alpha' in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(',');
+                        #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = ['#'];
+                        #       for (var i = 0; i < missingZeros; i++) {
+                        #          resultBuilder.push('0');
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join('');
+                        #     };
+                        #
+                        #     // ...
+                      "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                      "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    },
+                    "width": 42, # The width of the border, in pixels.
+                        # Border widths must be between 0 and 3 pixels.
+                    "style": "A String", # The style of the border.
+                  },
+                  "bottom": { # A border along a cell. # The bottom border of the cell.
+                    "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                        # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha <= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!('alpha' in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(',');
+                        #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = ['#'];
+                        #       for (var i = 0; i < missingZeros; i++) {
+                        #          resultBuilder.push('0');
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join('');
+                        #     };
+                        #
+                        #     // ...
+                      "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                      "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    },
+                    "width": 42, # The width of the border, in pixels.
+                        # Border widths must be between 0 and 3 pixels.
+                    "style": "A String", # The style of the border.
+                  },
+                  "left": { # A border along a cell. # The left border of the cell.
+                    "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                        # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha <= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!('alpha' in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(',');
+                        #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = ['#'];
+                        #       for (var i = 0; i < missingZeros; i++) {
+                        #          resultBuilder.push('0');
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join('');
+                        #     };
+                        #
+                        #     // ...
+                      "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                      "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    },
+                    "width": 42, # The width of the border, in pixels.
+                        # Border widths must be between 0 and 3 pixels.
+                    "style": "A String", # The style of the border.
+                  },
+                },
+                "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
+              },
+            },
+            "gradientRule": { # A rule that applies a gradient color scale format, based on # The formatting will vary based on the gradients in the rule.
+                # the interpolation points listed. The format of a cell will vary
+                # based on its contents as compared to the values of the interpolation
+                # points.
+              "maxpoint": { # A single interpolation point a gradient conditional format. # The final interpolation point.
+                  # These pin the gradient color scale according to the color,
+                  # type and value chosen.
+                "color": { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                    # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha <= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!('alpha' in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(',');
+                    #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = ['#'];
+                    #       for (var i = 0; i < missingZeros; i++) {
+                    #          resultBuilder.push('0');
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join('');
+                    #     };
+                    #
+                    #     // ...
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+                "type": "A String", # How the value should be interpreted.
+                "value": "A String", # The value this interpolation point uses.  May be a formula.
+                    # Unused if type is MIN or
+                    # MAX.
+              },
+              "midpoint": { # A single interpolation point a gradient conditional format. # An optional midway interpolation point.
+                  # These pin the gradient color scale according to the color,
+                  # type and value chosen.
+                "color": { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                    # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha <= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!('alpha' in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(',');
+                    #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = ['#'];
+                    #       for (var i = 0; i < missingZeros; i++) {
+                    #          resultBuilder.push('0');
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join('');
+                    #     };
+                    #
+                    #     // ...
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+                "type": "A String", # How the value should be interpreted.
+                "value": "A String", # The value this interpolation point uses.  May be a formula.
+                    # Unused if type is MIN or
+                    # MAX.
+              },
+              "minpoint": { # A single interpolation point a gradient conditional format. # The starting interpolation point.
+                  # These pin the gradient color scale according to the color,
+                  # type and value chosen.
+                "color": { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                    # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha <= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!('alpha' in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(',');
+                    #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = ['#'];
+                    #       for (var i = 0; i < missingZeros; i++) {
+                    #          resultBuilder.push('0');
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join('');
+                    #     };
+                    #
+                    #     // ...
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+                "type": "A String", # How the value should be interpreted.
+                "value": "A String", # The value this interpolation point uses.  May be a formula.
+                    # Unused if type is MIN or
+                    # MAX.
+              },
+            },
+          },
+        },
+        "addFilterView": { # The result of adding a filter view. # A reply from adding a filter view.
+          "filter": { # A filter view. # The newly added filter view.
+            "title": "A String", # The name of the filter view.
+            "namedRangeId": "A String", # The named range this filter view is backed by, if any.
+                #
+                # When writing, only one of range or namedRangeId
+                # may be set.
+            "filterViewId": 42, # The ID of the filter view.
+            "range": { # A range on a sheet. # The range this filter view covers.
+                #
+                # When writing, only one of range or namedRangeId
+                # may be set.
+                # All indexes are zero-based.
+                # Indexes are half open, e.g the start index is inclusive
+                # and the end index is exclusive -- [start_index, end_index).
+                # Missing indexes indicate the range is unbounded on that side.
+                #
+                # For example, if "Sheet1" is grid ID 0, then:
+                #
+                #   Sheet1!A1:A1 == sheet_id: 0,
+                #                   start_row_index: 0, end_row_index: 1,
+                #                   start_column_index: 0, end_column_index: 1
+                #
+                #   Sheet1!A3:B4 == sheet_id: 0,
+                #                   start_row_index: 2, end_row_index: 4,
+                #                   start_column_index: 0, end_column_index: 2
+                #
+                #   Sheet1!A:B == sheet_id: 0,
+                #                 start_column_index: 0, end_column_index: 2
+                #
+                #   Sheet1!A5:B == sheet_id: 0,
+                #                  start_row_index: 4,
+                #                  start_column_index: 0, end_column_index: 2
+                #
+                #   Sheet1 == sheet_id:0
+                #
+                # The start index must always be less than or equal to the end index.
+                # If the start index equals the end index, then the range is empty.
+                # Empty ranges are typically not meaningful and are usually rendered in the
+                # UI as `#REF!`.
+              "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "sheetId": 42, # The sheet this range is on.
+              "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+            },
+            "sortSpecs": [ # The sort order per column. Later specifications are used when values
+                # are equal in the earlier specifications.
+              { # A sort order associated with a specific column or row.
+                "sortOrder": "A String", # The order data should be sorted.
+                "dimensionIndex": 42, # The dimension the sort should be applied to.
+              },
+            ],
+            "criteria": { # The criteria for showing/hiding values per column.
+                # The map's key is the column index, and the value is the criteria for
+                # that column.
+              "a_key": { # Criteria for showing/hiding rows in a filter, filter view.
+                "hiddenValues": [ # Values that should be hidden.
+                  "A String",
+                ],
+                "condition": { # A condition that can evaluate to true or false. # A condition that must be true for values to be shown.
+                    # (This does not override hiddenValues -- if a value is listed there,
+                    #  it will still be hidden.)
+                    # BooleanConditions are used by conditional formatting,
+                    # data validation, and the criteria in filters.
+                  "type": "A String", # The type of condition.
+                  "values": [ # The values of the condition. The number of supported values depends
+                      # on the condition type.  Some support zero values,
+                      # others one or two values,
+                      # and ConditionType.ONE_OF_LIST supports an arbitrary number of values.
+                    { # The value of the condition.
+                      "relativeDate": "A String", # A relative date (based on the current date).
+                          # Valid only if the type is
+                          # DATE_BEFORE,
+                          # DATE_AFTER,
+                          # DATE_ON_OR_BEFORE or
+                          # DATE_ON_OR_AFTER.
+                          #
+                          # Relative dates are not supported in data validation.
+                          # They are supported only in conditional formatting and
+                          # conditional filters.
+                      "userEnteredValue": "A String", # A value the condition is based on.
+                          # The value will be parsed as if the user typed into a cell.
+                          # Formulas are supported (and must begin with an `=`).
+                    },
+                  ],
+                },
+              },
+            },
+          },
+        },
+      },
+    ],
+  }
+
+ +
+ create(body, x__xgafv=None) +
Creates a spreadsheet, returning the newly created spreadsheet.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Resource that represents a spreadsheet.
+    "spreadsheetId": "A String", # The ID of the spreadsheet.
+        # This field is read-only.
+    "namedRanges": [ # The named ranges defined in a spreadsheet.
+      { # A named range.
+        "namedRangeId": "A String", # The ID of the named range.
+        "range": { # A range on a sheet. # The range this represents.
+            # All indexes are zero-based.
+            # Indexes are half open, e.g the start index is inclusive
+            # and the end index is exclusive -- [start_index, end_index).
+            # Missing indexes indicate the range is unbounded on that side.
+            #
+            # For example, if "Sheet1" is grid ID 0, then:
+            #
+            #   Sheet1!A1:A1 == sheet_id: 0,
+            #                   start_row_index: 0, end_row_index: 1,
+            #                   start_column_index: 0, end_column_index: 1
+            #
+            #   Sheet1!A3:B4 == sheet_id: 0,
+            #                   start_row_index: 2, end_row_index: 4,
+            #                   start_column_index: 0, end_column_index: 2
+            #
+            #   Sheet1!A:B == sheet_id: 0,
+            #                 start_column_index: 0, end_column_index: 2
+            #
+            #   Sheet1!A5:B == sheet_id: 0,
+            #                  start_row_index: 4,
+            #                  start_column_index: 0, end_column_index: 2
+            #
+            #   Sheet1 == sheet_id:0
+            #
+            # The start index must always be less than or equal to the end index.
+            # If the start index equals the end index, then the range is empty.
+            # Empty ranges are typically not meaningful and are usually rendered in the
+            # UI as `#REF!`.
+          "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+          "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+          "sheetId": 42, # The sheet this range is on.
+          "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+          "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+        },
+        "name": "A String", # The name of the named range.
+      },
+    ],
+    "properties": { # Properties of a spreadsheet. # Overall properties of a spreadsheet.
+      "locale": "A String", # The locale of the spreadsheet in one of the following formats:
+          # * an ISO 639-1 language code such as `en`
+          # * an ISO 639-2 language code such as `fil`, if no 639-1 code exists
+          # * a combination of the ISO language code and country code, such as `en_US`
+          # Note: when updating this field, not all locales/languages are supported.
+      "timeZone": "A String", # The time zone of the spreadsheet, in CLDR format such as
+          # `America/New_York`. If the time zone isn't recognized, this may
+          # be a custom time zone such as `GMT-07:00`.
+      "autoRecalc": "A String", # The amount of time to wait before volatile functions are recalculated.
+      "defaultFormat": { # The format of a cell. # The default format of all cells in the spreadsheet.
+          # CellData.effectiveFormat will not be set if the cell's format is equal
+          # to this default format.
+          # This field is read-only.
+        "numberFormat": { # The number format of a cell. # A format describing how number values should be represented to the user.
+            # When updating, all fields must be set.
+          "pattern": "A String", # Pattern string used for formatting.
+          "type": "A String", # The type of the number format.
+        },
+        "textDirection": "A String", # The direction of the text in the cell.
+        "padding": { # The amount of padding around the cell, in pixels. # The padding of the cell.
+            # When updating padding, every field must be specified.
+          "top": 42, # The top padding of the cell.
+          "right": 42, # The right padding of the cell.
+          "bottom": 42, # The bottom padding of the cell.
+          "left": 42, # The left padding of the cell.
+        },
+        "horizontalAlignment": "A String", # The horizontal alignment of the value in cell.
+        "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
+            # for simplicity of conversion to/from color representations in various
+            # languages over compactness; for example, the fields of this representation
+            # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+            # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+            # method in iOS; and, with just a little work, it can be easily formatted into
+            # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+            #
+            # Example (Java):
+            #
+            #      import com.google.type.Color;
+            #
+            #      // ...
+            #      public static java.awt.Color fromProto(Color protocolor) {
+            #        float alpha = protocolor.hasAlpha()
+            #            ? protocolor.getAlpha().getValue()
+            #            : 1.0;
+            #
+            #        return new java.awt.Color(
+            #            protocolor.getRed(),
+            #            protocolor.getGreen(),
+            #            protocolor.getBlue(),
+            #            alpha);
+            #      }
+            #
+            #      public static Color toProto(java.awt.Color color) {
+            #        float red = (float) color.getRed();
+            #        float green = (float) color.getGreen();
+            #        float blue = (float) color.getBlue();
+            #        float denominator = 255.0;
+            #        Color.Builder resultBuilder =
+            #            Color
+            #                .newBuilder()
+            #                .setRed(red / denominator)
+            #                .setGreen(green / denominator)
+            #                .setBlue(blue / denominator);
+            #        int alpha = color.getAlpha();
+            #        if (alpha != 255) {
+            #          result.setAlpha(
+            #              FloatValue
+            #                  .newBuilder()
+            #                  .setValue(((float) alpha) / denominator)
+            #                  .build());
+            #        }
+            #        return resultBuilder.build();
+            #      }
+            #      // ...
+            #
+            # Example (iOS / Obj-C):
+            #
+            #      // ...
+            #      static UIColor* fromProto(Color* protocolor) {
+            #         float red = [protocolor red];
+            #         float green = [protocolor green];
+            #         float blue = [protocolor blue];
+            #         FloatValue* alpha_wrapper = [protocolor alpha];
+            #         float alpha = 1.0;
+            #         if (alpha_wrapper != nil) {
+            #           alpha = [alpha_wrapper value];
+            #         }
+            #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+            #      }
+            #
+            #      static Color* toProto(UIColor* color) {
+            #          CGFloat red, green, blue, alpha;
+            #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+            #            return nil;
+            #          }
+            #          Color* result = [Color alloc] init];
+            #          [result setRed:red];
+            #          [result setGreen:green];
+            #          [result setBlue:blue];
+            #          if (alpha <= 0.9999) {
+            #            [result setAlpha:floatWrapperWithValue(alpha)];
+            #          }
+            #          [result autorelease];
+            #          return result;
+            #     }
+            #     // ...
+            #
+            #  Example (JavaScript):
+            #
+            #     // ...
+            #
+            #     var protoToCssColor = function(rgb_color) {
+            #        var redFrac = rgb_color.red || 0.0;
+            #        var greenFrac = rgb_color.green || 0.0;
+            #        var blueFrac = rgb_color.blue || 0.0;
+            #        var red = Math.floor(redFrac * 255);
+            #        var green = Math.floor(greenFrac * 255);
+            #        var blue = Math.floor(blueFrac * 255);
+            #
+            #        if (!('alpha' in rgb_color)) {
+            #           return rgbToCssColor_(red, green, blue);
+            #        }
+            #
+            #        var alphaFrac = rgb_color.alpha.value || 0.0;
+            #        var rgbParams = [red, green, blue].join(',');
+            #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+            #     };
+            #
+            #     var rgbToCssColor_ = function(red, green, blue) {
+            #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+            #       var hexString = rgbNumber.toString(16);
+            #       var missingZeros = 6 - hexString.length;
+            #       var resultBuilder = ['#'];
+            #       for (var i = 0; i < missingZeros; i++) {
+            #          resultBuilder.push('0');
+            #       }
+            #       resultBuilder.push(hexString);
+            #       return resultBuilder.join('');
+            #     };
+            #
+            #     // ...
+          "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+          "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+              # the final pixel color is defined by the equation:
+              #
+              #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+              #
+              # This means that a value of 1.0 corresponds to a solid color, whereas
+              # a value of 0.0 corresponds to a completely transparent color. This
+              # uses a wrapper message rather than a simple float scalar so that it is
+              # possible to distinguish between a default value and the value being unset.
+              # If omitted, this color object is to be rendered as a solid color
+              # (as if the alpha value had been explicitly given with a value of 1.0).
+          "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+          "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+        },
+        "verticalAlignment": "A String", # The vertical alignment of the value in cell.
+        "textFormat": { # The format of a run of text in a cell. # The format of the text in the cell (unless overridden by a format run).
+            # Absent values indicate that the field isn't specified.
+          "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
+              # for simplicity of conversion to/from color representations in various
+              # languages over compactness; for example, the fields of this representation
+              # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+              # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+              # method in iOS; and, with just a little work, it can be easily formatted into
+              # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+              #
+              # Example (Java):
+              #
+              #      import com.google.type.Color;
+              #
+              #      // ...
+              #      public static java.awt.Color fromProto(Color protocolor) {
+              #        float alpha = protocolor.hasAlpha()
+              #            ? protocolor.getAlpha().getValue()
+              #            : 1.0;
+              #
+              #        return new java.awt.Color(
+              #            protocolor.getRed(),
+              #            protocolor.getGreen(),
+              #            protocolor.getBlue(),
+              #            alpha);
+              #      }
+              #
+              #      public static Color toProto(java.awt.Color color) {
+              #        float red = (float) color.getRed();
+              #        float green = (float) color.getGreen();
+              #        float blue = (float) color.getBlue();
+              #        float denominator = 255.0;
+              #        Color.Builder resultBuilder =
+              #            Color
+              #                .newBuilder()
+              #                .setRed(red / denominator)
+              #                .setGreen(green / denominator)
+              #                .setBlue(blue / denominator);
+              #        int alpha = color.getAlpha();
+              #        if (alpha != 255) {
+              #          result.setAlpha(
+              #              FloatValue
+              #                  .newBuilder()
+              #                  .setValue(((float) alpha) / denominator)
+              #                  .build());
+              #        }
+              #        return resultBuilder.build();
+              #      }
+              #      // ...
+              #
+              # Example (iOS / Obj-C):
+              #
+              #      // ...
+              #      static UIColor* fromProto(Color* protocolor) {
+              #         float red = [protocolor red];
+              #         float green = [protocolor green];
+              #         float blue = [protocolor blue];
+              #         FloatValue* alpha_wrapper = [protocolor alpha];
+              #         float alpha = 1.0;
+              #         if (alpha_wrapper != nil) {
+              #           alpha = [alpha_wrapper value];
+              #         }
+              #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+              #      }
+              #
+              #      static Color* toProto(UIColor* color) {
+              #          CGFloat red, green, blue, alpha;
+              #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+              #            return nil;
+              #          }
+              #          Color* result = [Color alloc] init];
+              #          [result setRed:red];
+              #          [result setGreen:green];
+              #          [result setBlue:blue];
+              #          if (alpha <= 0.9999) {
+              #            [result setAlpha:floatWrapperWithValue(alpha)];
+              #          }
+              #          [result autorelease];
+              #          return result;
+              #     }
+              #     // ...
+              #
+              #  Example (JavaScript):
+              #
+              #     // ...
+              #
+              #     var protoToCssColor = function(rgb_color) {
+              #        var redFrac = rgb_color.red || 0.0;
+              #        var greenFrac = rgb_color.green || 0.0;
+              #        var blueFrac = rgb_color.blue || 0.0;
+              #        var red = Math.floor(redFrac * 255);
+              #        var green = Math.floor(greenFrac * 255);
+              #        var blue = Math.floor(blueFrac * 255);
+              #
+              #        if (!('alpha' in rgb_color)) {
+              #           return rgbToCssColor_(red, green, blue);
+              #        }
+              #
+              #        var alphaFrac = rgb_color.alpha.value || 0.0;
+              #        var rgbParams = [red, green, blue].join(',');
+              #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+              #     };
+              #
+              #     var rgbToCssColor_ = function(red, green, blue) {
+              #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+              #       var hexString = rgbNumber.toString(16);
+              #       var missingZeros = 6 - hexString.length;
+              #       var resultBuilder = ['#'];
+              #       for (var i = 0; i < missingZeros; i++) {
+              #          resultBuilder.push('0');
+              #       }
+              #       resultBuilder.push(hexString);
+              #       return resultBuilder.join('');
+              #     };
+              #
+              #     // ...
+            "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+            "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                # the final pixel color is defined by the equation:
+                #
+                #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                #
+                # This means that a value of 1.0 corresponds to a solid color, whereas
+                # a value of 0.0 corresponds to a completely transparent color. This
+                # uses a wrapper message rather than a simple float scalar so that it is
+                # possible to distinguish between a default value and the value being unset.
+                # If omitted, this color object is to be rendered as a solid color
+                # (as if the alpha value had been explicitly given with a value of 1.0).
+            "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+            "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+          },
+          "bold": True or False, # True if the text is bold.
+          "strikethrough": True or False, # True if the text has a strikethrough.
+          "fontFamily": "A String", # The font family.
+          "fontSize": 42, # The size of the font.
+          "italic": True or False, # True if the text is italicized.
+          "underline": True or False, # True if the text is underlined.
+        },
+        "hyperlinkDisplayType": "A String", # How a hyperlink, if it exists, should be displayed in the cell.
+        "borders": { # The borders of the cell. # The borders of the cell.
+          "top": { # A border along a cell. # The top border of the cell.
+            "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                # for simplicity of conversion to/from color representations in various
+                # languages over compactness; for example, the fields of this representation
+                # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                # method in iOS; and, with just a little work, it can be easily formatted into
+                # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                #
+                # Example (Java):
+                #
+                #      import com.google.type.Color;
+                #
+                #      // ...
+                #      public static java.awt.Color fromProto(Color protocolor) {
+                #        float alpha = protocolor.hasAlpha()
+                #            ? protocolor.getAlpha().getValue()
+                #            : 1.0;
+                #
+                #        return new java.awt.Color(
+                #            protocolor.getRed(),
+                #            protocolor.getGreen(),
+                #            protocolor.getBlue(),
+                #            alpha);
+                #      }
+                #
+                #      public static Color toProto(java.awt.Color color) {
+                #        float red = (float) color.getRed();
+                #        float green = (float) color.getGreen();
+                #        float blue = (float) color.getBlue();
+                #        float denominator = 255.0;
+                #        Color.Builder resultBuilder =
+                #            Color
+                #                .newBuilder()
+                #                .setRed(red / denominator)
+                #                .setGreen(green / denominator)
+                #                .setBlue(blue / denominator);
+                #        int alpha = color.getAlpha();
+                #        if (alpha != 255) {
+                #          result.setAlpha(
+                #              FloatValue
+                #                  .newBuilder()
+                #                  .setValue(((float) alpha) / denominator)
+                #                  .build());
+                #        }
+                #        return resultBuilder.build();
+                #      }
+                #      // ...
+                #
+                # Example (iOS / Obj-C):
+                #
+                #      // ...
+                #      static UIColor* fromProto(Color* protocolor) {
+                #         float red = [protocolor red];
+                #         float green = [protocolor green];
+                #         float blue = [protocolor blue];
+                #         FloatValue* alpha_wrapper = [protocolor alpha];
+                #         float alpha = 1.0;
+                #         if (alpha_wrapper != nil) {
+                #           alpha = [alpha_wrapper value];
+                #         }
+                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                #      }
+                #
+                #      static Color* toProto(UIColor* color) {
+                #          CGFloat red, green, blue, alpha;
+                #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                #            return nil;
+                #          }
+                #          Color* result = [Color alloc] init];
+                #          [result setRed:red];
+                #          [result setGreen:green];
+                #          [result setBlue:blue];
+                #          if (alpha <= 0.9999) {
+                #            [result setAlpha:floatWrapperWithValue(alpha)];
+                #          }
+                #          [result autorelease];
+                #          return result;
+                #     }
+                #     // ...
+                #
+                #  Example (JavaScript):
+                #
+                #     // ...
+                #
+                #     var protoToCssColor = function(rgb_color) {
+                #        var redFrac = rgb_color.red || 0.0;
+                #        var greenFrac = rgb_color.green || 0.0;
+                #        var blueFrac = rgb_color.blue || 0.0;
+                #        var red = Math.floor(redFrac * 255);
+                #        var green = Math.floor(greenFrac * 255);
+                #        var blue = Math.floor(blueFrac * 255);
+                #
+                #        if (!('alpha' in rgb_color)) {
+                #           return rgbToCssColor_(red, green, blue);
+                #        }
+                #
+                #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                #        var rgbParams = [red, green, blue].join(',');
+                #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                #     };
+                #
+                #     var rgbToCssColor_ = function(red, green, blue) {
+                #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                #       var hexString = rgbNumber.toString(16);
+                #       var missingZeros = 6 - hexString.length;
+                #       var resultBuilder = ['#'];
+                #       for (var i = 0; i < missingZeros; i++) {
+                #          resultBuilder.push('0');
+                #       }
+                #       resultBuilder.push(hexString);
+                #       return resultBuilder.join('');
+                #     };
+                #
+                #     // ...
+              "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+              "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                  # the final pixel color is defined by the equation:
+                  #
+                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                  #
+                  # This means that a value of 1.0 corresponds to a solid color, whereas
+                  # a value of 0.0 corresponds to a completely transparent color. This
+                  # uses a wrapper message rather than a simple float scalar so that it is
+                  # possible to distinguish between a default value and the value being unset.
+                  # If omitted, this color object is to be rendered as a solid color
+                  # (as if the alpha value had been explicitly given with a value of 1.0).
+              "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+            },
+            "width": 42, # The width of the border, in pixels.
+                # Border widths must be between 0 and 3 pixels.
+            "style": "A String", # The style of the border.
+          },
+          "right": { # A border along a cell. # The right border of the cell.
+            "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                # for simplicity of conversion to/from color representations in various
+                # languages over compactness; for example, the fields of this representation
+                # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                # method in iOS; and, with just a little work, it can be easily formatted into
+                # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                #
+                # Example (Java):
+                #
+                #      import com.google.type.Color;
+                #
+                #      // ...
+                #      public static java.awt.Color fromProto(Color protocolor) {
+                #        float alpha = protocolor.hasAlpha()
+                #            ? protocolor.getAlpha().getValue()
+                #            : 1.0;
+                #
+                #        return new java.awt.Color(
+                #            protocolor.getRed(),
+                #            protocolor.getGreen(),
+                #            protocolor.getBlue(),
+                #            alpha);
+                #      }
+                #
+                #      public static Color toProto(java.awt.Color color) {
+                #        float red = (float) color.getRed();
+                #        float green = (float) color.getGreen();
+                #        float blue = (float) color.getBlue();
+                #        float denominator = 255.0;
+                #        Color.Builder resultBuilder =
+                #            Color
+                #                .newBuilder()
+                #                .setRed(red / denominator)
+                #                .setGreen(green / denominator)
+                #                .setBlue(blue / denominator);
+                #        int alpha = color.getAlpha();
+                #        if (alpha != 255) {
+                #          result.setAlpha(
+                #              FloatValue
+                #                  .newBuilder()
+                #                  .setValue(((float) alpha) / denominator)
+                #                  .build());
+                #        }
+                #        return resultBuilder.build();
+                #      }
+                #      // ...
+                #
+                # Example (iOS / Obj-C):
+                #
+                #      // ...
+                #      static UIColor* fromProto(Color* protocolor) {
+                #         float red = [protocolor red];
+                #         float green = [protocolor green];
+                #         float blue = [protocolor blue];
+                #         FloatValue* alpha_wrapper = [protocolor alpha];
+                #         float alpha = 1.0;
+                #         if (alpha_wrapper != nil) {
+                #           alpha = [alpha_wrapper value];
+                #         }
+                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                #      }
+                #
+                #      static Color* toProto(UIColor* color) {
+                #          CGFloat red, green, blue, alpha;
+                #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                #            return nil;
+                #          }
+                #          Color* result = [Color alloc] init];
+                #          [result setRed:red];
+                #          [result setGreen:green];
+                #          [result setBlue:blue];
+                #          if (alpha <= 0.9999) {
+                #            [result setAlpha:floatWrapperWithValue(alpha)];
+                #          }
+                #          [result autorelease];
+                #          return result;
+                #     }
+                #     // ...
+                #
+                #  Example (JavaScript):
+                #
+                #     // ...
+                #
+                #     var protoToCssColor = function(rgb_color) {
+                #        var redFrac = rgb_color.red || 0.0;
+                #        var greenFrac = rgb_color.green || 0.0;
+                #        var blueFrac = rgb_color.blue || 0.0;
+                #        var red = Math.floor(redFrac * 255);
+                #        var green = Math.floor(greenFrac * 255);
+                #        var blue = Math.floor(blueFrac * 255);
+                #
+                #        if (!('alpha' in rgb_color)) {
+                #           return rgbToCssColor_(red, green, blue);
+                #        }
+                #
+                #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                #        var rgbParams = [red, green, blue].join(',');
+                #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                #     };
+                #
+                #     var rgbToCssColor_ = function(red, green, blue) {
+                #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                #       var hexString = rgbNumber.toString(16);
+                #       var missingZeros = 6 - hexString.length;
+                #       var resultBuilder = ['#'];
+                #       for (var i = 0; i < missingZeros; i++) {
+                #          resultBuilder.push('0');
+                #       }
+                #       resultBuilder.push(hexString);
+                #       return resultBuilder.join('');
+                #     };
+                #
+                #     // ...
+              "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+              "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                  # the final pixel color is defined by the equation:
+                  #
+                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                  #
+                  # This means that a value of 1.0 corresponds to a solid color, whereas
+                  # a value of 0.0 corresponds to a completely transparent color. This
+                  # uses a wrapper message rather than a simple float scalar so that it is
+                  # possible to distinguish between a default value and the value being unset.
+                  # If omitted, this color object is to be rendered as a solid color
+                  # (as if the alpha value had been explicitly given with a value of 1.0).
+              "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+            },
+            "width": 42, # The width of the border, in pixels.
+                # Border widths must be between 0 and 3 pixels.
+            "style": "A String", # The style of the border.
+          },
+          "bottom": { # A border along a cell. # The bottom border of the cell.
+            "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                # for simplicity of conversion to/from color representations in various
+                # languages over compactness; for example, the fields of this representation
+                # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                # method in iOS; and, with just a little work, it can be easily formatted into
+                # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                #
+                # Example (Java):
+                #
+                #      import com.google.type.Color;
+                #
+                #      // ...
+                #      public static java.awt.Color fromProto(Color protocolor) {
+                #        float alpha = protocolor.hasAlpha()
+                #            ? protocolor.getAlpha().getValue()
+                #            : 1.0;
+                #
+                #        return new java.awt.Color(
+                #            protocolor.getRed(),
+                #            protocolor.getGreen(),
+                #            protocolor.getBlue(),
+                #            alpha);
+                #      }
+                #
+                #      public static Color toProto(java.awt.Color color) {
+                #        float red = (float) color.getRed();
+                #        float green = (float) color.getGreen();
+                #        float blue = (float) color.getBlue();
+                #        float denominator = 255.0;
+                #        Color.Builder resultBuilder =
+                #            Color
+                #                .newBuilder()
+                #                .setRed(red / denominator)
+                #                .setGreen(green / denominator)
+                #                .setBlue(blue / denominator);
+                #        int alpha = color.getAlpha();
+                #        if (alpha != 255) {
+                #          result.setAlpha(
+                #              FloatValue
+                #                  .newBuilder()
+                #                  .setValue(((float) alpha) / denominator)
+                #                  .build());
+                #        }
+                #        return resultBuilder.build();
+                #      }
+                #      // ...
+                #
+                # Example (iOS / Obj-C):
+                #
+                #      // ...
+                #      static UIColor* fromProto(Color* protocolor) {
+                #         float red = [protocolor red];
+                #         float green = [protocolor green];
+                #         float blue = [protocolor blue];
+                #         FloatValue* alpha_wrapper = [protocolor alpha];
+                #         float alpha = 1.0;
+                #         if (alpha_wrapper != nil) {
+                #           alpha = [alpha_wrapper value];
+                #         }
+                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                #      }
+                #
+                #      static Color* toProto(UIColor* color) {
+                #          CGFloat red, green, blue, alpha;
+                #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                #            return nil;
+                #          }
+                #          Color* result = [Color alloc] init];
+                #          [result setRed:red];
+                #          [result setGreen:green];
+                #          [result setBlue:blue];
+                #          if (alpha <= 0.9999) {
+                #            [result setAlpha:floatWrapperWithValue(alpha)];
+                #          }
+                #          [result autorelease];
+                #          return result;
+                #     }
+                #     // ...
+                #
+                #  Example (JavaScript):
+                #
+                #     // ...
+                #
+                #     var protoToCssColor = function(rgb_color) {
+                #        var redFrac = rgb_color.red || 0.0;
+                #        var greenFrac = rgb_color.green || 0.0;
+                #        var blueFrac = rgb_color.blue || 0.0;
+                #        var red = Math.floor(redFrac * 255);
+                #        var green = Math.floor(greenFrac * 255);
+                #        var blue = Math.floor(blueFrac * 255);
+                #
+                #        if (!('alpha' in rgb_color)) {
+                #           return rgbToCssColor_(red, green, blue);
+                #        }
+                #
+                #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                #        var rgbParams = [red, green, blue].join(',');
+                #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                #     };
+                #
+                #     var rgbToCssColor_ = function(red, green, blue) {
+                #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                #       var hexString = rgbNumber.toString(16);
+                #       var missingZeros = 6 - hexString.length;
+                #       var resultBuilder = ['#'];
+                #       for (var i = 0; i < missingZeros; i++) {
+                #          resultBuilder.push('0');
+                #       }
+                #       resultBuilder.push(hexString);
+                #       return resultBuilder.join('');
+                #     };
+                #
+                #     // ...
+              "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+              "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                  # the final pixel color is defined by the equation:
+                  #
+                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                  #
+                  # This means that a value of 1.0 corresponds to a solid color, whereas
+                  # a value of 0.0 corresponds to a completely transparent color. This
+                  # uses a wrapper message rather than a simple float scalar so that it is
+                  # possible to distinguish between a default value and the value being unset.
+                  # If omitted, this color object is to be rendered as a solid color
+                  # (as if the alpha value had been explicitly given with a value of 1.0).
+              "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+            },
+            "width": 42, # The width of the border, in pixels.
+                # Border widths must be between 0 and 3 pixels.
+            "style": "A String", # The style of the border.
+          },
+          "left": { # A border along a cell. # The left border of the cell.
+            "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                # for simplicity of conversion to/from color representations in various
+                # languages over compactness; for example, the fields of this representation
+                # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                # method in iOS; and, with just a little work, it can be easily formatted into
+                # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                #
+                # Example (Java):
+                #
+                #      import com.google.type.Color;
+                #
+                #      // ...
+                #      public static java.awt.Color fromProto(Color protocolor) {
+                #        float alpha = protocolor.hasAlpha()
+                #            ? protocolor.getAlpha().getValue()
+                #            : 1.0;
+                #
+                #        return new java.awt.Color(
+                #            protocolor.getRed(),
+                #            protocolor.getGreen(),
+                #            protocolor.getBlue(),
+                #            alpha);
+                #      }
+                #
+                #      public static Color toProto(java.awt.Color color) {
+                #        float red = (float) color.getRed();
+                #        float green = (float) color.getGreen();
+                #        float blue = (float) color.getBlue();
+                #        float denominator = 255.0;
+                #        Color.Builder resultBuilder =
+                #            Color
+                #                .newBuilder()
+                #                .setRed(red / denominator)
+                #                .setGreen(green / denominator)
+                #                .setBlue(blue / denominator);
+                #        int alpha = color.getAlpha();
+                #        if (alpha != 255) {
+                #          result.setAlpha(
+                #              FloatValue
+                #                  .newBuilder()
+                #                  .setValue(((float) alpha) / denominator)
+                #                  .build());
+                #        }
+                #        return resultBuilder.build();
+                #      }
+                #      // ...
+                #
+                # Example (iOS / Obj-C):
+                #
+                #      // ...
+                #      static UIColor* fromProto(Color* protocolor) {
+                #         float red = [protocolor red];
+                #         float green = [protocolor green];
+                #         float blue = [protocolor blue];
+                #         FloatValue* alpha_wrapper = [protocolor alpha];
+                #         float alpha = 1.0;
+                #         if (alpha_wrapper != nil) {
+                #           alpha = [alpha_wrapper value];
+                #         }
+                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                #      }
+                #
+                #      static Color* toProto(UIColor* color) {
+                #          CGFloat red, green, blue, alpha;
+                #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                #            return nil;
+                #          }
+                #          Color* result = [Color alloc] init];
+                #          [result setRed:red];
+                #          [result setGreen:green];
+                #          [result setBlue:blue];
+                #          if (alpha <= 0.9999) {
+                #            [result setAlpha:floatWrapperWithValue(alpha)];
+                #          }
+                #          [result autorelease];
+                #          return result;
+                #     }
+                #     // ...
+                #
+                #  Example (JavaScript):
+                #
+                #     // ...
+                #
+                #     var protoToCssColor = function(rgb_color) {
+                #        var redFrac = rgb_color.red || 0.0;
+                #        var greenFrac = rgb_color.green || 0.0;
+                #        var blueFrac = rgb_color.blue || 0.0;
+                #        var red = Math.floor(redFrac * 255);
+                #        var green = Math.floor(greenFrac * 255);
+                #        var blue = Math.floor(blueFrac * 255);
+                #
+                #        if (!('alpha' in rgb_color)) {
+                #           return rgbToCssColor_(red, green, blue);
+                #        }
+                #
+                #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                #        var rgbParams = [red, green, blue].join(',');
+                #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                #     };
+                #
+                #     var rgbToCssColor_ = function(red, green, blue) {
+                #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                #       var hexString = rgbNumber.toString(16);
+                #       var missingZeros = 6 - hexString.length;
+                #       var resultBuilder = ['#'];
+                #       for (var i = 0; i < missingZeros; i++) {
+                #          resultBuilder.push('0');
+                #       }
+                #       resultBuilder.push(hexString);
+                #       return resultBuilder.join('');
+                #     };
+                #
+                #     // ...
+              "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+              "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                  # the final pixel color is defined by the equation:
+                  #
+                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                  #
+                  # This means that a value of 1.0 corresponds to a solid color, whereas
+                  # a value of 0.0 corresponds to a completely transparent color. This
+                  # uses a wrapper message rather than a simple float scalar so that it is
+                  # possible to distinguish between a default value and the value being unset.
+                  # If omitted, this color object is to be rendered as a solid color
+                  # (as if the alpha value had been explicitly given with a value of 1.0).
+              "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+            },
+            "width": 42, # The width of the border, in pixels.
+                # Border widths must be between 0 and 3 pixels.
+            "style": "A String", # The style of the border.
+          },
+        },
+        "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
+      },
+      "title": "A String", # The title of the spreadsheet.
+    },
+    "sheets": [ # The sheets that are part of a spreadsheet.
+      { # A sheet in a spreadsheet.
+        "conditionalFormats": [ # The conditional format rules in this sheet.
+          { # A rule describing a conditional format.
+            "ranges": [ # The ranges that will be formatted if the condition is true.
+                # All the ranges must be on the same grid.
+              { # A range on a sheet.
+                  # All indexes are zero-based.
+                  # Indexes are half open, e.g the start index is inclusive
+                  # and the end index is exclusive -- [start_index, end_index).
+                  # Missing indexes indicate the range is unbounded on that side.
+                  #
+                  # For example, if "Sheet1" is grid ID 0, then:
+                  #
+                  #   Sheet1!A1:A1 == sheet_id: 0,
+                  #                   start_row_index: 0, end_row_index: 1,
+                  #                   start_column_index: 0, end_column_index: 1
+                  #
+                  #   Sheet1!A3:B4 == sheet_id: 0,
+                  #                   start_row_index: 2, end_row_index: 4,
+                  #                   start_column_index: 0, end_column_index: 2
+                  #
+                  #   Sheet1!A:B == sheet_id: 0,
+                  #                 start_column_index: 0, end_column_index: 2
+                  #
+                  #   Sheet1!A5:B == sheet_id: 0,
+                  #                  start_row_index: 4,
+                  #                  start_column_index: 0, end_column_index: 2
+                  #
+                  #   Sheet1 == sheet_id:0
+                  #
+                  # The start index must always be less than or equal to the end index.
+                  # If the start index equals the end index, then the range is empty.
+                  # Empty ranges are typically not meaningful and are usually rendered in the
+                  # UI as `#REF!`.
+                "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                "sheetId": 42, # The sheet this range is on.
+                "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+              },
+            ],
+            "booleanRule": { # A rule that may or may not match, depending on the condition. # The formatting is either "on" or "off" according to the rule.
+              "condition": { # A condition that can evaluate to true or false. # The condition of the rule. If the condition evaluates to true,
+                  # the format will be applied.
+                  # BooleanConditions are used by conditional formatting,
+                  # data validation, and the criteria in filters.
+                "type": "A String", # The type of condition.
+                "values": [ # The values of the condition. The number of supported values depends
+                    # on the condition type.  Some support zero values,
+                    # others one or two values,
+                    # and ConditionType.ONE_OF_LIST supports an arbitrary number of values.
+                  { # The value of the condition.
+                    "relativeDate": "A String", # A relative date (based on the current date).
+                        # Valid only if the type is
+                        # DATE_BEFORE,
+                        # DATE_AFTER,
+                        # DATE_ON_OR_BEFORE or
+                        # DATE_ON_OR_AFTER.
+                        #
+                        # Relative dates are not supported in data validation.
+                        # They are supported only in conditional formatting and
+                        # conditional filters.
+                    "userEnteredValue": "A String", # A value the condition is based on.
+                        # The value will be parsed as if the user typed into a cell.
+                        # Formulas are supported (and must begin with an `=`).
+                  },
+                ],
+              },
+              "format": { # The format of a cell. # The format to apply.
+                  # Conditional formatting can only apply a subset of formatting:
+                  # bold, italic,
+                  # strikethrough,
+                  # foreground color &
+                  # background color.
+                "numberFormat": { # The number format of a cell. # A format describing how number values should be represented to the user.
+                    # When updating, all fields must be set.
+                  "pattern": "A String", # Pattern string used for formatting.
+                  "type": "A String", # The type of the number format.
+                },
+                "textDirection": "A String", # The direction of the text in the cell.
+                "padding": { # The amount of padding around the cell, in pixels. # The padding of the cell.
+                    # When updating padding, every field must be specified.
+                  "top": 42, # The top padding of the cell.
+                  "right": 42, # The right padding of the cell.
+                  "bottom": 42, # The bottom padding of the cell.
+                  "left": 42, # The left padding of the cell.
+                },
+                "horizontalAlignment": "A String", # The horizontal alignment of the value in cell.
+                "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                    # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha <= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!('alpha' in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(',');
+                    #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = ['#'];
+                    #       for (var i = 0; i < missingZeros; i++) {
+                    #          resultBuilder.push('0');
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join('');
+                    #     };
+                    #
+                    #     // ...
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+                "verticalAlignment": "A String", # The vertical alignment of the value in cell.
+                "textFormat": { # The format of a run of text in a cell. # The format of the text in the cell (unless overridden by a format run).
+                    # Absent values indicate that the field isn't specified.
+                  "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                      # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha <= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!('alpha' in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(',');
+                      #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = ['#'];
+                      #       for (var i = 0; i < missingZeros; i++) {
+                      #          resultBuilder.push('0');
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join('');
+                      #     };
+                      #
+                      #     // ...
+                    "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                    "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  },
+                  "bold": True or False, # True if the text is bold.
+                  "strikethrough": True or False, # True if the text has a strikethrough.
+                  "fontFamily": "A String", # The font family.
+                  "fontSize": 42, # The size of the font.
+                  "italic": True or False, # True if the text is italicized.
+                  "underline": True or False, # True if the text is underlined.
+                },
+                "hyperlinkDisplayType": "A String", # How a hyperlink, if it exists, should be displayed in the cell.
+                "borders": { # The borders of the cell. # The borders of the cell.
+                  "top": { # A border along a cell. # The top border of the cell.
+                    "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                        # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha <= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!('alpha' in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(',');
+                        #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = ['#'];
+                        #       for (var i = 0; i < missingZeros; i++) {
+                        #          resultBuilder.push('0');
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join('');
+                        #     };
+                        #
+                        #     // ...
+                      "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                      "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    },
+                    "width": 42, # The width of the border, in pixels.
+                        # Border widths must be between 0 and 3 pixels.
+                    "style": "A String", # The style of the border.
+                  },
+                  "right": { # A border along a cell. # The right border of the cell.
+                    "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                        # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha <= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!('alpha' in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(',');
+                        #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = ['#'];
+                        #       for (var i = 0; i < missingZeros; i++) {
+                        #          resultBuilder.push('0');
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join('');
+                        #     };
+                        #
+                        #     // ...
+                      "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                      "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    },
+                    "width": 42, # The width of the border, in pixels.
+                        # Border widths must be between 0 and 3 pixels.
+                    "style": "A String", # The style of the border.
+                  },
+                  "bottom": { # A border along a cell. # The bottom border of the cell.
+                    "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                        # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha <= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!('alpha' in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(',');
+                        #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = ['#'];
+                        #       for (var i = 0; i < missingZeros; i++) {
+                        #          resultBuilder.push('0');
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join('');
+                        #     };
+                        #
+                        #     // ...
+                      "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                      "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    },
+                    "width": 42, # The width of the border, in pixels.
+                        # Border widths must be between 0 and 3 pixels.
+                    "style": "A String", # The style of the border.
+                  },
+                  "left": { # A border along a cell. # The left border of the cell.
+                    "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                        # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha <= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!('alpha' in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(',');
+                        #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = ['#'];
+                        #       for (var i = 0; i < missingZeros; i++) {
+                        #          resultBuilder.push('0');
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join('');
+                        #     };
+                        #
+                        #     // ...
+                      "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                      "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    },
+                    "width": 42, # The width of the border, in pixels.
+                        # Border widths must be between 0 and 3 pixels.
+                    "style": "A String", # The style of the border.
+                  },
+                },
+                "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
+              },
+            },
+            "gradientRule": { # A rule that applies a gradient color scale format, based on # The formatting will vary based on the gradients in the rule.
+                # the interpolation points listed. The format of a cell will vary
+                # based on its contents as compared to the values of the interpolation
+                # points.
+              "maxpoint": { # A single interpolation point a gradient conditional format. # The final interpolation point.
+                  # These pin the gradient color scale according to the color,
+                  # type and value chosen.
+                "color": { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                    # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha <= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!('alpha' in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(',');
+                    #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = ['#'];
+                    #       for (var i = 0; i < missingZeros; i++) {
+                    #          resultBuilder.push('0');
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join('');
+                    #     };
+                    #
+                    #     // ...
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+                "type": "A String", # How the value should be interpreted.
+                "value": "A String", # The value this interpolation point uses.  May be a formula.
+                    # Unused if type is MIN or
+                    # MAX.
+              },
+              "midpoint": { # A single interpolation point a gradient conditional format. # An optional midway interpolation point.
+                  # These pin the gradient color scale according to the color,
+                  # type and value chosen.
+                "color": { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                    # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha <= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!('alpha' in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(',');
+                    #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = ['#'];
+                    #       for (var i = 0; i < missingZeros; i++) {
+                    #          resultBuilder.push('0');
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join('');
+                    #     };
+                    #
+                    #     // ...
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+                "type": "A String", # How the value should be interpreted.
+                "value": "A String", # The value this interpolation point uses.  May be a formula.
+                    # Unused if type is MIN or
+                    # MAX.
+              },
+              "minpoint": { # A single interpolation point a gradient conditional format. # The starting interpolation point.
+                  # These pin the gradient color scale according to the color,
+                  # type and value chosen.
+                "color": { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                    # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha <= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!('alpha' in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(',');
+                    #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = ['#'];
+                    #       for (var i = 0; i < missingZeros; i++) {
+                    #          resultBuilder.push('0');
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join('');
+                    #     };
+                    #
+                    #     // ...
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+                "type": "A String", # How the value should be interpreted.
+                "value": "A String", # The value this interpolation point uses.  May be a formula.
+                    # Unused if type is MIN or
+                    # MAX.
+              },
+            },
+          },
+        ],
+        "merges": [ # The ranges that are merged together.
+          { # A range on a sheet.
+              # All indexes are zero-based.
+              # Indexes are half open, e.g the start index is inclusive
+              # and the end index is exclusive -- [start_index, end_index).
+              # Missing indexes indicate the range is unbounded on that side.
+              #
+              # For example, if "Sheet1" is grid ID 0, then:
+              #
+              #   Sheet1!A1:A1 == sheet_id: 0,
+              #                   start_row_index: 0, end_row_index: 1,
+              #                   start_column_index: 0, end_column_index: 1
+              #
+              #   Sheet1!A3:B4 == sheet_id: 0,
+              #                   start_row_index: 2, end_row_index: 4,
+              #                   start_column_index: 0, end_column_index: 2
+              #
+              #   Sheet1!A:B == sheet_id: 0,
+              #                 start_column_index: 0, end_column_index: 2
+              #
+              #   Sheet1!A5:B == sheet_id: 0,
+              #                  start_row_index: 4,
+              #                  start_column_index: 0, end_column_index: 2
+              #
+              #   Sheet1 == sheet_id:0
+              #
+              # The start index must always be less than or equal to the end index.
+              # If the start index equals the end index, then the range is empty.
+              # Empty ranges are typically not meaningful and are usually rendered in the
+              # UI as `#REF!`.
+            "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+            "sheetId": 42, # The sheet this range is on.
+            "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+          },
+        ],
+        "basicFilter": { # The default filter associated with a sheet. # The filter on this sheet, if any.
+          "range": { # A range on a sheet. # The range the filter covers.
+              # All indexes are zero-based.
+              # Indexes are half open, e.g the start index is inclusive
+              # and the end index is exclusive -- [start_index, end_index).
+              # Missing indexes indicate the range is unbounded on that side.
+              #
+              # For example, if "Sheet1" is grid ID 0, then:
+              #
+              #   Sheet1!A1:A1 == sheet_id: 0,
+              #                   start_row_index: 0, end_row_index: 1,
+              #                   start_column_index: 0, end_column_index: 1
+              #
+              #   Sheet1!A3:B4 == sheet_id: 0,
+              #                   start_row_index: 2, end_row_index: 4,
+              #                   start_column_index: 0, end_column_index: 2
+              #
+              #   Sheet1!A:B == sheet_id: 0,
+              #                 start_column_index: 0, end_column_index: 2
+              #
+              #   Sheet1!A5:B == sheet_id: 0,
+              #                  start_row_index: 4,
+              #                  start_column_index: 0, end_column_index: 2
+              #
+              #   Sheet1 == sheet_id:0
+              #
+              # The start index must always be less than or equal to the end index.
+              # If the start index equals the end index, then the range is empty.
+              # Empty ranges are typically not meaningful and are usually rendered in the
+              # UI as `#REF!`.
+            "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+            "sheetId": 42, # The sheet this range is on.
+            "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+          },
+          "sortSpecs": [ # The sort order per column. Later specifications are used when values
+              # are equal in the earlier specifications.
+            { # A sort order associated with a specific column or row.
+              "sortOrder": "A String", # The order data should be sorted.
+              "dimensionIndex": 42, # The dimension the sort should be applied to.
+            },
+          ],
+          "criteria": { # The criteria for showing/hiding values per column.
+              # The map's key is the column index, and the value is the criteria for
+              # that column.
+            "a_key": { # Criteria for showing/hiding rows in a filter, filter view.
+              "hiddenValues": [ # Values that should be hidden.
+                "A String",
+              ],
+              "condition": { # A condition that can evaluate to true or false. # A condition that must be true for values to be shown.
+                  # (This does not override hiddenValues -- if a value is listed there,
+                  #  it will still be hidden.)
+                  # BooleanConditions are used by conditional formatting,
+                  # data validation, and the criteria in filters.
+                "type": "A String", # The type of condition.
+                "values": [ # The values of the condition. The number of supported values depends
+                    # on the condition type.  Some support zero values,
+                    # others one or two values,
+                    # and ConditionType.ONE_OF_LIST supports an arbitrary number of values.
+                  { # The value of the condition.
+                    "relativeDate": "A String", # A relative date (based on the current date).
+                        # Valid only if the type is
+                        # DATE_BEFORE,
+                        # DATE_AFTER,
+                        # DATE_ON_OR_BEFORE or
+                        # DATE_ON_OR_AFTER.
+                        #
+                        # Relative dates are not supported in data validation.
+                        # They are supported only in conditional formatting and
+                        # conditional filters.
+                    "userEnteredValue": "A String", # A value the condition is based on.
+                        # The value will be parsed as if the user typed into a cell.
+                        # Formulas are supported (and must begin with an `=`).
+                  },
+                ],
+              },
+            },
+          },
+        },
+        "charts": [ # The specifications of every chart on this sheet.
+          { # A chart embedded in a sheet.
+            "chartId": 42, # The ID of the chart.
+            "position": { # The position of an embedded object such as a chart. # The position of the chart.
+              "newSheet": True or False, # If true, the embedded object will be put on a new sheet whose ID
+                  # is chosen for you. Used only when writing.
+              "sheetId": 42, # The sheet this is on. Set only if the embedded object
+                  # is on its own sheet. Must be non-negative.
+              "overlayPosition": { # The location an object is overlaid on top of a grid. # The position the object is overlaid on top of a grid.
+                "anchorCell": { # A coordinate in a sheet. # The cell the object is anchored to.
+                    # All indexes are zero-based.
+                  "rowIndex": 42, # The row index of the coordinate.
+                  "columnIndex": 42, # The column index of the coordinate.
+                  "sheetId": 42, # The sheet this coordinate is on.
+                },
+                "offsetYPixels": 42, # The vertical offset, in pixels, that the object is offset
+                    # from the anchor cell.
+                "widthPixels": 42, # The width of the object, in pixels. Defaults to 600.
+                "offsetXPixels": 42, # The horizontal offset, in pixels, that the object is offset
+                    # from the anchor cell.
+                "heightPixels": 42, # The height of the object, in pixels. Defaults to 371.
+              },
+            },
+            "spec": { # The specifications of a chart. # The specification of the chart.
+              "hiddenDimensionStrategy": "A String", # Determines how the charts will use hidden rows or columns.
+                  # This value is only meaningful if the
+                  # ChartData.sourceRange
+                  # is used for a domain or series.
+              "pieChart": { # A pie chart. # A pie chart specification.
+                "series": { # The data included in a domain or series. # The data that covers the one and only series of the pie chart.
+                  "sourceRange": { # Source ranges for a chart. # The source ranges of the data.
+                    "sources": [ # The ranges of data for a series or domain.
+                        # Exactly one dimension must have a length of 1,
+                        # and all sources in the list must have the same dimension
+                        # with length 1.
+                        # The domain (if it exists) & all series must have the same number
+                        # of source ranges. If using more than one source range, then the source
+                        # range at a given offset must be contiguous across the domain and series.
+                        #
+                        # For example, these are valid configurations:
+                        #
+                        #     domain sources: A1:A5
+                        #     series1 sources: B1:B5
+                        #     series2 sources: D6:D10
+                        #
+                        #     domain sources: A1:A5, C10:C12
+                        #     series1 sources: B1:B5, D10:D12
+                        #     series2 sources: C1:C5, E10:E12
+                      { # A range on a sheet.
+                          # All indexes are zero-based.
+                          # Indexes are half open, e.g the start index is inclusive
+                          # and the end index is exclusive -- [start_index, end_index).
+                          # Missing indexes indicate the range is unbounded on that side.
+                          #
+                          # For example, if "Sheet1" is grid ID 0, then:
+                          #
+                          #   Sheet1!A1:A1 == sheet_id: 0,
+                          #                   start_row_index: 0, end_row_index: 1,
+                          #                   start_column_index: 0, end_column_index: 1
+                          #
+                          #   Sheet1!A3:B4 == sheet_id: 0,
+                          #                   start_row_index: 2, end_row_index: 4,
+                          #                   start_column_index: 0, end_column_index: 2
+                          #
+                          #   Sheet1!A:B == sheet_id: 0,
+                          #                 start_column_index: 0, end_column_index: 2
+                          #
+                          #   Sheet1!A5:B == sheet_id: 0,
+                          #                  start_row_index: 4,
+                          #                  start_column_index: 0, end_column_index: 2
+                          #
+                          #   Sheet1 == sheet_id:0
+                          #
+                          # The start index must always be less than or equal to the end index.
+                          # If the start index equals the end index, then the range is empty.
+                          # Empty ranges are typically not meaningful and are usually rendered in the
+                          # UI as `#REF!`.
+                        "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        "sheetId": 42, # The sheet this range is on.
+                        "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+                        "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                      },
+                    ],
+                  },
+                },
+                "domain": { # The data included in a domain or series. # The data that covers the domain of the pie chart.
+                  "sourceRange": { # Source ranges for a chart. # The source ranges of the data.
+                    "sources": [ # The ranges of data for a series or domain.
+                        # Exactly one dimension must have a length of 1,
+                        # and all sources in the list must have the same dimension
+                        # with length 1.
+                        # The domain (if it exists) & all series must have the same number
+                        # of source ranges. If using more than one source range, then the source
+                        # range at a given offset must be contiguous across the domain and series.
+                        #
+                        # For example, these are valid configurations:
+                        #
+                        #     domain sources: A1:A5
+                        #     series1 sources: B1:B5
+                        #     series2 sources: D6:D10
+                        #
+                        #     domain sources: A1:A5, C10:C12
+                        #     series1 sources: B1:B5, D10:D12
+                        #     series2 sources: C1:C5, E10:E12
+                      { # A range on a sheet.
+                          # All indexes are zero-based.
+                          # Indexes are half open, e.g the start index is inclusive
+                          # and the end index is exclusive -- [start_index, end_index).
+                          # Missing indexes indicate the range is unbounded on that side.
+                          #
+                          # For example, if "Sheet1" is grid ID 0, then:
+                          #
+                          #   Sheet1!A1:A1 == sheet_id: 0,
+                          #                   start_row_index: 0, end_row_index: 1,
+                          #                   start_column_index: 0, end_column_index: 1
+                          #
+                          #   Sheet1!A3:B4 == sheet_id: 0,
+                          #                   start_row_index: 2, end_row_index: 4,
+                          #                   start_column_index: 0, end_column_index: 2
+                          #
+                          #   Sheet1!A:B == sheet_id: 0,
+                          #                 start_column_index: 0, end_column_index: 2
+                          #
+                          #   Sheet1!A5:B == sheet_id: 0,
+                          #                  start_row_index: 4,
+                          #                  start_column_index: 0, end_column_index: 2
+                          #
+                          #   Sheet1 == sheet_id:0
+                          #
+                          # The start index must always be less than or equal to the end index.
+                          # If the start index equals the end index, then the range is empty.
+                          # Empty ranges are typically not meaningful and are usually rendered in the
+                          # UI as `#REF!`.
+                        "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        "sheetId": 42, # The sheet this range is on.
+                        "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+                        "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                      },
+                    ],
+                  },
+                },
+                "threeDimensional": True or False, # True if the pie is three dimensional.
+                "legendPosition": "A String", # Where the legend of the pie chart should be drawn.
+                "pieHole": 3.14, # The size of the hole in the pie chart.
+              },
+              "basicChart": { # The specification for a basic chart.  See BasicChartType for the list # A basic chart specification, can be one of many kinds of charts.
+                  # See BasicChartType for the list of all charts this supports.
+                  # of charts this supports.
+                "headerCount": 42, # The number of rows or columns in the data that are "headers".
+                    # If not set, Google Sheets will guess how many rows are headers based
+                    # on the data.
+                    #
+                    # (Note that BasicChartAxis.title may override the axis title
+                    #  inferred from the header values.)
+                "series": [ # The data this chart is visualizing.
+                  { # A single series of data in a chart.
+                      # For example, if charting stock prices over time, multiple series may exist,
+                      # one for the "Open Price", "High Price", "Low Price" and "Close Price".
+                    "series": { # The data included in a domain or series. # The data being visualized in this chart series.
+                      "sourceRange": { # Source ranges for a chart. # The source ranges of the data.
+                        "sources": [ # The ranges of data for a series or domain.
+                            # Exactly one dimension must have a length of 1,
+                            # and all sources in the list must have the same dimension
+                            # with length 1.
+                            # The domain (if it exists) & all series must have the same number
+                            # of source ranges. If using more than one source range, then the source
+                            # range at a given offset must be contiguous across the domain and series.
+                            #
+                            # For example, these are valid configurations:
+                            #
+                            #     domain sources: A1:A5
+                            #     series1 sources: B1:B5
+                            #     series2 sources: D6:D10
+                            #
+                            #     domain sources: A1:A5, C10:C12
+                            #     series1 sources: B1:B5, D10:D12
+                            #     series2 sources: C1:C5, E10:E12
+                          { # A range on a sheet.
+                              # All indexes are zero-based.
+                              # Indexes are half open, e.g the start index is inclusive
+                              # and the end index is exclusive -- [start_index, end_index).
+                              # Missing indexes indicate the range is unbounded on that side.
+                              #
+                              # For example, if "Sheet1" is grid ID 0, then:
+                              #
+                              #   Sheet1!A1:A1 == sheet_id: 0,
+                              #                   start_row_index: 0, end_row_index: 1,
+                              #                   start_column_index: 0, end_column_index: 1
+                              #
+                              #   Sheet1!A3:B4 == sheet_id: 0,
+                              #                   start_row_index: 2, end_row_index: 4,
+                              #                   start_column_index: 0, end_column_index: 2
+                              #
+                              #   Sheet1!A:B == sheet_id: 0,
+                              #                 start_column_index: 0, end_column_index: 2
+                              #
+                              #   Sheet1!A5:B == sheet_id: 0,
+                              #                  start_row_index: 4,
+                              #                  start_column_index: 0, end_column_index: 2
+                              #
+                              #   Sheet1 == sheet_id:0
+                              #
+                              # The start index must always be less than or equal to the end index.
+                              # If the start index equals the end index, then the range is empty.
+                              # Empty ranges are typically not meaningful and are usually rendered in the
+                              # UI as `#REF!`.
+                            "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+                            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                            "sheetId": 42, # The sheet this range is on.
+                            "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+                            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                          },
+                        ],
+                      },
+                    },
+                    "targetAxis": "A String", # The minor axis that will specify the range of values for this series.
+                        # For example, if charting stocks over time, the "Volume" series
+                        # may want to be pinned to the right with the prices pinned to the left,
+                        # because the scale of trading volume is different than the scale of
+                        # prices.
+                        # It is an error to specify an axis that isn't a valid minor axis
+                        # for the chart's type.
+                    "type": "A String", # The type of this series. Valid only if the
+                        # chartType is
+                        # COMBO.
+                        # Different types will change the way the series is visualized.
+                        # Only LINE, AREA,
+                        # and COLUMN are supported.
+                  },
+                ],
+                "legendPosition": "A String", # The position of the chart legend.
+                "domains": [ # The domain of data this is charting.
+                    # Only a single domain is currently supported.
+                  { # The domain of a chart.
+                      # For example, if charting stock prices over time, this would be the date.
+                    "domain": { # The data included in a domain or series. # The data of the domain. For example, if charting stock prices over time,
+                        # this be the data representing the dates.
+                      "sourceRange": { # Source ranges for a chart. # The source ranges of the data.
+                        "sources": [ # The ranges of data for a series or domain.
+                            # Exactly one dimension must have a length of 1,
+                            # and all sources in the list must have the same dimension
+                            # with length 1.
+                            # The domain (if it exists) & all series must have the same number
+                            # of source ranges. If using more than one source range, then the source
+                            # range at a given offset must be contiguous across the domain and series.
+                            #
+                            # For example, these are valid configurations:
+                            #
+                            #     domain sources: A1:A5
+                            #     series1 sources: B1:B5
+                            #     series2 sources: D6:D10
+                            #
+                            #     domain sources: A1:A5, C10:C12
+                            #     series1 sources: B1:B5, D10:D12
+                            #     series2 sources: C1:C5, E10:E12
+                          { # A range on a sheet.
+                              # All indexes are zero-based.
+                              # Indexes are half open, e.g the start index is inclusive
+                              # and the end index is exclusive -- [start_index, end_index).
+                              # Missing indexes indicate the range is unbounded on that side.
+                              #
+                              # For example, if "Sheet1" is grid ID 0, then:
+                              #
+                              #   Sheet1!A1:A1 == sheet_id: 0,
+                              #                   start_row_index: 0, end_row_index: 1,
+                              #                   start_column_index: 0, end_column_index: 1
+                              #
+                              #   Sheet1!A3:B4 == sheet_id: 0,
+                              #                   start_row_index: 2, end_row_index: 4,
+                              #                   start_column_index: 0, end_column_index: 2
+                              #
+                              #   Sheet1!A:B == sheet_id: 0,
+                              #                 start_column_index: 0, end_column_index: 2
+                              #
+                              #   Sheet1!A5:B == sheet_id: 0,
+                              #                  start_row_index: 4,
+                              #                  start_column_index: 0, end_column_index: 2
+                              #
+                              #   Sheet1 == sheet_id:0
+                              #
+                              # The start index must always be less than or equal to the end index.
+                              # If the start index equals the end index, then the range is empty.
+                              # Empty ranges are typically not meaningful and are usually rendered in the
+                              # UI as `#REF!`.
+                            "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+                            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                            "sheetId": 42, # The sheet this range is on.
+                            "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+                            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                          },
+                        ],
+                      },
+                    },
+                  },
+                ],
+                "chartType": "A String", # The type of the chart.
+                "axis": [ # The axis on the chart.
+                  { # An axis of the chart.
+                      # A chart may not have more than one axis per
+                      # axis position.
+                    "position": "A String", # The position of this axis.
+                    "format": { # The format of a run of text in a cell. # The format of the title.
+                        # Only valid if the axis is not associated with the domain.
+                        # Absent values indicate that the field isn't specified.
+                      "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
+                          # for simplicity of conversion to/from color representations in various
+                          # languages over compactness; for example, the fields of this representation
+                          # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                          # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                          # method in iOS; and, with just a little work, it can be easily formatted into
+                          # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                          #
+                          # Example (Java):
+                          #
+                          #      import com.google.type.Color;
+                          #
+                          #      // ...
+                          #      public static java.awt.Color fromProto(Color protocolor) {
+                          #        float alpha = protocolor.hasAlpha()
+                          #            ? protocolor.getAlpha().getValue()
+                          #            : 1.0;
+                          #
+                          #        return new java.awt.Color(
+                          #            protocolor.getRed(),
+                          #            protocolor.getGreen(),
+                          #            protocolor.getBlue(),
+                          #            alpha);
+                          #      }
+                          #
+                          #      public static Color toProto(java.awt.Color color) {
+                          #        float red = (float) color.getRed();
+                          #        float green = (float) color.getGreen();
+                          #        float blue = (float) color.getBlue();
+                          #        float denominator = 255.0;
+                          #        Color.Builder resultBuilder =
+                          #            Color
+                          #                .newBuilder()
+                          #                .setRed(red / denominator)
+                          #                .setGreen(green / denominator)
+                          #                .setBlue(blue / denominator);
+                          #        int alpha = color.getAlpha();
+                          #        if (alpha != 255) {
+                          #          result.setAlpha(
+                          #              FloatValue
+                          #                  .newBuilder()
+                          #                  .setValue(((float) alpha) / denominator)
+                          #                  .build());
+                          #        }
+                          #        return resultBuilder.build();
+                          #      }
+                          #      // ...
+                          #
+                          # Example (iOS / Obj-C):
+                          #
+                          #      // ...
+                          #      static UIColor* fromProto(Color* protocolor) {
+                          #         float red = [protocolor red];
+                          #         float green = [protocolor green];
+                          #         float blue = [protocolor blue];
+                          #         FloatValue* alpha_wrapper = [protocolor alpha];
+                          #         float alpha = 1.0;
+                          #         if (alpha_wrapper != nil) {
+                          #           alpha = [alpha_wrapper value];
+                          #         }
+                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                          #      }
+                          #
+                          #      static Color* toProto(UIColor* color) {
+                          #          CGFloat red, green, blue, alpha;
+                          #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                          #            return nil;
+                          #          }
+                          #          Color* result = [Color alloc] init];
+                          #          [result setRed:red];
+                          #          [result setGreen:green];
+                          #          [result setBlue:blue];
+                          #          if (alpha <= 0.9999) {
+                          #            [result setAlpha:floatWrapperWithValue(alpha)];
+                          #          }
+                          #          [result autorelease];
+                          #          return result;
+                          #     }
+                          #     // ...
+                          #
+                          #  Example (JavaScript):
+                          #
+                          #     // ...
+                          #
+                          #     var protoToCssColor = function(rgb_color) {
+                          #        var redFrac = rgb_color.red || 0.0;
+                          #        var greenFrac = rgb_color.green || 0.0;
+                          #        var blueFrac = rgb_color.blue || 0.0;
+                          #        var red = Math.floor(redFrac * 255);
+                          #        var green = Math.floor(greenFrac * 255);
+                          #        var blue = Math.floor(blueFrac * 255);
+                          #
+                          #        if (!('alpha' in rgb_color)) {
+                          #           return rgbToCssColor_(red, green, blue);
+                          #        }
+                          #
+                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                          #        var rgbParams = [red, green, blue].join(',');
+                          #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                          #     };
+                          #
+                          #     var rgbToCssColor_ = function(red, green, blue) {
+                          #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                          #       var hexString = rgbNumber.toString(16);
+                          #       var missingZeros = 6 - hexString.length;
+                          #       var resultBuilder = ['#'];
+                          #       for (var i = 0; i < missingZeros; i++) {
+                          #          resultBuilder.push('0');
+                          #       }
+                          #       resultBuilder.push(hexString);
+                          #       return resultBuilder.join('');
+                          #     };
+                          #
+                          #     // ...
+                        "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                        "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                            # the final pixel color is defined by the equation:
+                            #
+                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                            #
+                            # This means that a value of 1.0 corresponds to a solid color, whereas
+                            # a value of 0.0 corresponds to a completely transparent color. This
+                            # uses a wrapper message rather than a simple float scalar so that it is
+                            # possible to distinguish between a default value and the value being unset.
+                            # If omitted, this color object is to be rendered as a solid color
+                            # (as if the alpha value had been explicitly given with a value of 1.0).
+                        "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      },
+                      "bold": True or False, # True if the text is bold.
+                      "strikethrough": True or False, # True if the text has a strikethrough.
+                      "fontFamily": "A String", # The font family.
+                      "fontSize": 42, # The size of the font.
+                      "italic": True or False, # True if the text is italicized.
+                      "underline": True or False, # True if the text is underlined.
+                    },
+                    "title": "A String", # The title of this axis. If set, this overrides any title inferred
+                        # from headers of the data.
+                  },
+                ],
+              },
+              "title": "A String", # The title of the chart.
+            },
+          },
+        ],
+        "filterViews": [ # The filter views in this sheet.
+          { # A filter view.
+            "title": "A String", # The name of the filter view.
+            "namedRangeId": "A String", # The named range this filter view is backed by, if any.
+                #
+                # When writing, only one of range or namedRangeId
+                # may be set.
+            "filterViewId": 42, # The ID of the filter view.
+            "range": { # A range on a sheet. # The range this filter view covers.
+                #
+                # When writing, only one of range or namedRangeId
+                # may be set.
+                # All indexes are zero-based.
+                # Indexes are half open, e.g the start index is inclusive
+                # and the end index is exclusive -- [start_index, end_index).
+                # Missing indexes indicate the range is unbounded on that side.
+                #
+                # For example, if "Sheet1" is grid ID 0, then:
+                #
+                #   Sheet1!A1:A1 == sheet_id: 0,
+                #                   start_row_index: 0, end_row_index: 1,
+                #                   start_column_index: 0, end_column_index: 1
+                #
+                #   Sheet1!A3:B4 == sheet_id: 0,
+                #                   start_row_index: 2, end_row_index: 4,
+                #                   start_column_index: 0, end_column_index: 2
+                #
+                #   Sheet1!A:B == sheet_id: 0,
+                #                 start_column_index: 0, end_column_index: 2
+                #
+                #   Sheet1!A5:B == sheet_id: 0,
+                #                  start_row_index: 4,
+                #                  start_column_index: 0, end_column_index: 2
+                #
+                #   Sheet1 == sheet_id:0
+                #
+                # The start index must always be less than or equal to the end index.
+                # If the start index equals the end index, then the range is empty.
+                # Empty ranges are typically not meaningful and are usually rendered in the
+                # UI as `#REF!`.
+              "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "sheetId": 42, # The sheet this range is on.
+              "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+            },
+            "sortSpecs": [ # The sort order per column. Later specifications are used when values
+                # are equal in the earlier specifications.
+              { # A sort order associated with a specific column or row.
+                "sortOrder": "A String", # The order data should be sorted.
+                "dimensionIndex": 42, # The dimension the sort should be applied to.
+              },
+            ],
+            "criteria": { # The criteria for showing/hiding values per column.
+                # The map's key is the column index, and the value is the criteria for
+                # that column.
+              "a_key": { # Criteria for showing/hiding rows in a filter, filter view.
+                "hiddenValues": [ # Values that should be hidden.
+                  "A String",
+                ],
+                "condition": { # A condition that can evaluate to true or false. # A condition that must be true for values to be shown.
+                    # (This does not override hiddenValues -- if a value is listed there,
+                    #  it will still be hidden.)
+                    # BooleanConditions are used by conditional formatting,
+                    # data validation, and the criteria in filters.
+                  "type": "A String", # The type of condition.
+                  "values": [ # The values of the condition. The number of supported values depends
+                      # on the condition type.  Some support zero values,
+                      # others one or two values,
+                      # and ConditionType.ONE_OF_LIST supports an arbitrary number of values.
+                    { # The value of the condition.
+                      "relativeDate": "A String", # A relative date (based on the current date).
+                          # Valid only if the type is
+                          # DATE_BEFORE,
+                          # DATE_AFTER,
+                          # DATE_ON_OR_BEFORE or
+                          # DATE_ON_OR_AFTER.
+                          #
+                          # Relative dates are not supported in data validation.
+                          # They are supported only in conditional formatting and
+                          # conditional filters.
+                      "userEnteredValue": "A String", # A value the condition is based on.
+                          # The value will be parsed as if the user typed into a cell.
+                          # Formulas are supported (and must begin with an `=`).
+                    },
+                  ],
+                },
+              },
+            },
+          },
+        ],
+        "protectedRanges": [ # The protected ranges in this sheet.
+          { # A protected range.
+            "unprotectedRanges": [ # The list of unprotected ranges within a protected sheet.
+                # Unprotected ranges are only supported on protected sheets.
+              { # A range on a sheet.
+                  # All indexes are zero-based.
+                  # Indexes are half open, e.g the start index is inclusive
+                  # and the end index is exclusive -- [start_index, end_index).
+                  # Missing indexes indicate the range is unbounded on that side.
+                  #
+                  # For example, if "Sheet1" is grid ID 0, then:
+                  #
+                  #   Sheet1!A1:A1 == sheet_id: 0,
+                  #                   start_row_index: 0, end_row_index: 1,
+                  #                   start_column_index: 0, end_column_index: 1
+                  #
+                  #   Sheet1!A3:B4 == sheet_id: 0,
+                  #                   start_row_index: 2, end_row_index: 4,
+                  #                   start_column_index: 0, end_column_index: 2
+                  #
+                  #   Sheet1!A:B == sheet_id: 0,
+                  #                 start_column_index: 0, end_column_index: 2
+                  #
+                  #   Sheet1!A5:B == sheet_id: 0,
+                  #                  start_row_index: 4,
+                  #                  start_column_index: 0, end_column_index: 2
+                  #
+                  #   Sheet1 == sheet_id:0
+                  #
+                  # The start index must always be less than or equal to the end index.
+                  # If the start index equals the end index, then the range is empty.
+                  # Empty ranges are typically not meaningful and are usually rendered in the
+                  # UI as `#REF!`.
+                "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                "sheetId": 42, # The sheet this range is on.
+                "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+              },
+            ],
+            "requestingUserCanEdit": True or False, # True if the user who requested this protected range can edit the
+                # protected area.
+                # This field is read-only.
+            "description": "A String", # The description of this protected range.
+            "namedRangeId": "A String", # The named range this protected range is backed by, if any.
+                #
+                # When writing, only one of range or namedRangeId
+                # may be set.
+            "editors": { # The editors of a protected range. # The users and groups with edit access to the protected range.
+                # This field is only visible to users with edit access to the protected
+                # range and the document.
+                # Editors are not supported with warningOnly protection.
+              "domainUsersCanEdit": True or False, # True if anyone in the document's domain has edit access to the protected
+                  # range.  Domain protection is only supported on documents within a domain.
+              "users": [ # The email addresses of users with edit access to the protected range.
+                "A String",
+              ],
+              "groups": [ # The email addresses of groups with edit access to the protected range.
+                "A String",
+              ],
+            },
+            "protectedRangeId": 42, # The ID of the protected range.
+                # This field is read-only.
+            "warningOnly": True or False, # True if this this protected range will show a warning when editing.
+                # Warning-based protection means that every user can edit data in the
+                # protected range, except editing will prompt a warning asking the user
+                # to confirm the edit.
+                #
+                # When warning: if this field is true, then editors is ignored.
+                # Additionally, if this field is changed from true to false and the
+                # `editors` field is not set (nor included in the field mask), then
+                # the editors will be set to all the editors in the document.
+            "range": { # A range on a sheet. # The range that is being protected.
+                # The range may be fully unbounded, in which case this is considered
+                # a protected sheet.
+                #
+                # When writing, only one of range or namedRangeId
+                # may be set.
+                # All indexes are zero-based.
+                # Indexes are half open, e.g the start index is inclusive
+                # and the end index is exclusive -- [start_index, end_index).
+                # Missing indexes indicate the range is unbounded on that side.
+                #
+                # For example, if "Sheet1" is grid ID 0, then:
+                #
+                #   Sheet1!A1:A1 == sheet_id: 0,
+                #                   start_row_index: 0, end_row_index: 1,
+                #                   start_column_index: 0, end_column_index: 1
+                #
+                #   Sheet1!A3:B4 == sheet_id: 0,
+                #                   start_row_index: 2, end_row_index: 4,
+                #                   start_column_index: 0, end_column_index: 2
+                #
+                #   Sheet1!A:B == sheet_id: 0,
+                #                 start_column_index: 0, end_column_index: 2
+                #
+                #   Sheet1!A5:B == sheet_id: 0,
+                #                  start_row_index: 4,
+                #                  start_column_index: 0, end_column_index: 2
+                #
+                #   Sheet1 == sheet_id:0
+                #
+                # The start index must always be less than or equal to the end index.
+                # If the start index equals the end index, then the range is empty.
+                # Empty ranges are typically not meaningful and are usually rendered in the
+                # UI as `#REF!`.
+              "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "sheetId": 42, # The sheet this range is on.
+              "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+            },
+          },
+        ],
+        "data": [ # Data in the grid, if this is a grid sheet.
+            # The number of GridData objects returned is dependent on the number of
+            # ranges requested on this sheet. For example, if this is representing
+            # `Sheet1`, and the spreadsheet was requested with ranges
+            # `Sheet1!A1:C10` and `Sheet1!D15:E20`, then the first GridData will have a
+            # startRow/startColumn of `0`,
+            # while the second one will have `startRow 14` (zero-based row 15),
+            # and `startColumn 3` (zero-based column D).
+          { # Data in the grid, as well as metadata about the dimensions.
+            "startRow": 42, # The first row this GridData refers to, zero-based.
+            "rowMetadata": [ # Metadata about the requested rows in the grid, starting with the row
+                # in startRow.
+              { # Properties about a dimension.
+                "pixelSize": 42, # The height (if a row) or width (if a column) of the dimension in pixels.
+                "hiddenByUser": True or False, # True if this dimension is explicitly hidden.
+                "hiddenByFilter": True or False, # True if this dimension is being filtered.
+                    # This field is read-only.
+              },
+            ],
+            "startColumn": 42, # The first column this GridData refers to, zero-based.
+            "columnMetadata": [ # Metadata about the requested columns in the grid, starting with the column
+                # in startColumn.
+              { # Properties about a dimension.
+                "pixelSize": 42, # The height (if a row) or width (if a column) of the dimension in pixels.
+                "hiddenByUser": True or False, # True if this dimension is explicitly hidden.
+                "hiddenByFilter": True or False, # True if this dimension is being filtered.
+                    # This field is read-only.
+              },
+            ],
+            "rowData": [ # The data in the grid, one entry per row,
+                # starting with the row in startRow.
+                # The values in RowData will correspond to columns starting
+                # at startColumn.
+              { # Data about each cell in a row.
+                "values": [ # The values in the row, one per column.
+                  { # Data about a specific cell.
+                    "pivotTable": { # A pivot table. # A pivot table anchored at this cell. The size of pivot table itself
+                        # is computed dynamically based on its data, grouping, filters, values,
+                        # etc... Only the top-left cell of the pivot table contains the pivot table
+                        # definition. The other cells will contain the calculated values of the
+                        # results of the pivot in their effectiveValue fields.
+                      "valueLayout": "A String", # Whether values should be listed horizontally (as columns)
+                          # or vertically (as rows).
+                      "rows": [ # Each row grouping in the pivot table.
+                        { # A single grouping (either row or column) in a pivot table.
+                          "showTotals": True or False, # True if the pivot table should include the totals for this grouping.
+                          "valueMetadata": [ # Metadata about values in the grouping.
+                            { # Metadata about a value in a pivot grouping.
+                              "collapsed": True or False, # True if the data corresponding to the value is collapsed.
+                              "value": { # The kinds of value that a cell in a spreadsheet can have. # The calculated value the metadata corresponds to.
+                                  # (Note that formulaValue is not valid,
+                                  #  because the values will be calculated.)
+                                "numberValue": 3.14, # Represents a double value.
+                                    # Note: Dates, Times and DateTimes are represented as doubles in
+                                    # "serial number" format.
+                                "boolValue": True or False, # Represents a boolean value.
+                                "formulaValue": "A String", # Represents a formula.
+                                "stringValue": "A String", # Represents a string value.
+                                    # Leading single quotes are not included. For example, if the user typed
+                                    # `'123` into the UI, this would be represented as a `stringValue` of
+                                    # `"123"`.
+                                "errorValue": { # An error in a cell. # Represents an error.
+                                    # This field is read-only.
+                                  "message": "A String", # A message with more information about the error
+                                      # (in the spreadsheet's locale).
+                                  "type": "A String", # The type of error.
+                                },
+                              },
+                            },
+                          ],
+                          "valueBucket": { # Information about which values in a pivot group should be used for sorting. # The bucket of the opposite pivot group to sort by.
+                              # If not specified, sorting is alphabetical by this group's values.
+                            "buckets": [ # Determines the bucket from which values are chosen to sort.
+                                #
+                                # For example, in a pivot table with one row group & two column groups,
+                                # the row group can list up to two values. The first value corresponds
+                                # to a value within the first column group, and the second value
+                                # corresponds to a value in the second column group.  If no values
+                                # are listed, this would indicate that the row should be sorted according
+                                # to the "Grand Total" over the column groups. If a single value is listed,
+                                # this would correspond to using the "Total" of that bucket.
+                              { # The kinds of value that a cell in a spreadsheet can have.
+                                "numberValue": 3.14, # Represents a double value.
+                                    # Note: Dates, Times and DateTimes are represented as doubles in
+                                    # "serial number" format.
+                                "boolValue": True or False, # Represents a boolean value.
+                                "formulaValue": "A String", # Represents a formula.
+                                "stringValue": "A String", # Represents a string value.
+                                    # Leading single quotes are not included. For example, if the user typed
+                                    # `'123` into the UI, this would be represented as a `stringValue` of
+                                    # `"123"`.
+                                "errorValue": { # An error in a cell. # Represents an error.
+                                    # This field is read-only.
+                                  "message": "A String", # A message with more information about the error
+                                      # (in the spreadsheet's locale).
+                                  "type": "A String", # The type of error.
+                                },
+                              },
+                            ],
+                            "valuesIndex": 42, # The offset in the [PivotTable.values] list which the values in this
+                                # grouping should be sorted by.
+                          },
+                          "sortOrder": "A String", # The order the values in this group should be sorted.
+                          "sourceColumnOffset": 42, # The column offset of the source range that this grouping is based on.
+                              #
+                              # For example, if the source was `C10:E15', a `sourceColumnOffset` of `0`
+                              # means this group refers to column `C`, whereas the offset `1` would refer
+                              # to column `D`.
+                        },
+                      ],
+                      "source": { # A range on a sheet. # The range the pivot table is reading data from.
+                          # All indexes are zero-based.
+                          # Indexes are half open, e.g the start index is inclusive
+                          # and the end index is exclusive -- [start_index, end_index).
+                          # Missing indexes indicate the range is unbounded on that side.
+                          #
+                          # For example, if "Sheet1" is grid ID 0, then:
+                          #
+                          #   Sheet1!A1:A1 == sheet_id: 0,
+                          #                   start_row_index: 0, end_row_index: 1,
+                          #                   start_column_index: 0, end_column_index: 1
+                          #
+                          #   Sheet1!A3:B4 == sheet_id: 0,
+                          #                   start_row_index: 2, end_row_index: 4,
+                          #                   start_column_index: 0, end_column_index: 2
+                          #
+                          #   Sheet1!A:B == sheet_id: 0,
+                          #                 start_column_index: 0, end_column_index: 2
+                          #
+                          #   Sheet1!A5:B == sheet_id: 0,
+                          #                  start_row_index: 4,
+                          #                  start_column_index: 0, end_column_index: 2
+                          #
+                          #   Sheet1 == sheet_id:0
+                          #
+                          # The start index must always be less than or equal to the end index.
+                          # If the start index equals the end index, then the range is empty.
+                          # Empty ranges are typically not meaningful and are usually rendered in the
+                          # UI as `#REF!`.
+                        "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+                        "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                        "sheetId": 42, # The sheet this range is on.
+                        "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+                        "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                      },
+                      "values": [ # A list of values to include in the pivot table.
+                        { # The definition of how a value in a pivot table should be calculated.
+                          "formula": "A String", # A custom formula to calculate the value.  The formula must start
+                              # with an `=` character.
+                          "summarizeFunction": "A String", # A function to summarize the value.
+                              # If formula is set, the only supported values are
+                              # SUM and
+                              # CUSTOM.
+                              # If sourceColumnOffset is set, then `CUSTOM`
+                              # is not supported.
+                          "sourceColumnOffset": 42, # The column offset of the source range that this value reads from.
+                              #
+                              # For example, if the source was `C10:E15', a `sourceColumnOffset` of `0`
+                              # means this value refers to column `C`, whereas the offset `1` would
+                              # refer to column `D`.
+                          "name": "A String", # A name to use for the value. This is only used if formula was set.
+                              # Otherwise, the column name is used.
+                        },
+                      ],
+                      "criteria": { # An optional mapping of filters per source column offset.
+                          #
+                          # The filters will be applied before aggregating data into the pivot table.
+                          # The map's key is the column offset of the source range that you want to
+                          # filter, and the value is the criteria for that column.
+                          #
+                          # For example, if the source was `C10:E15', a key of `0` will have the filter
+                          # for column `C`, whereas the key `1` is for column `D`.
+                        "a_key": { # Criteria for showing/hiding rows in a pivot table.
+                          "visibleValues": [ # Values that should be included.  Values not listed here are excluded.
+                            "A String",
+                          ],
+                        },
+                      },
+                      "columns": [ # Each column grouping in the pivot table.
+                        { # A single grouping (either row or column) in a pivot table.
+                          "showTotals": True or False, # True if the pivot table should include the totals for this grouping.
+                          "valueMetadata": [ # Metadata about values in the grouping.
+                            { # Metadata about a value in a pivot grouping.
+                              "collapsed": True or False, # True if the data corresponding to the value is collapsed.
+                              "value": { # The kinds of value that a cell in a spreadsheet can have. # The calculated value the metadata corresponds to.
+                                  # (Note that formulaValue is not valid,
+                                  #  because the values will be calculated.)
+                                "numberValue": 3.14, # Represents a double value.
+                                    # Note: Dates, Times and DateTimes are represented as doubles in
+                                    # "serial number" format.
+                                "boolValue": True or False, # Represents a boolean value.
+                                "formulaValue": "A String", # Represents a formula.
+                                "stringValue": "A String", # Represents a string value.
+                                    # Leading single quotes are not included. For example, if the user typed
+                                    # `'123` into the UI, this would be represented as a `stringValue` of
+                                    # `"123"`.
+                                "errorValue": { # An error in a cell. # Represents an error.
+                                    # This field is read-only.
+                                  "message": "A String", # A message with more information about the error
+                                      # (in the spreadsheet's locale).
+                                  "type": "A String", # The type of error.
+                                },
+                              },
+                            },
+                          ],
+                          "valueBucket": { # Information about which values in a pivot group should be used for sorting. # The bucket of the opposite pivot group to sort by.
+                              # If not specified, sorting is alphabetical by this group's values.
+                            "buckets": [ # Determines the bucket from which values are chosen to sort.
+                                #
+                                # For example, in a pivot table with one row group & two column groups,
+                                # the row group can list up to two values. The first value corresponds
+                                # to a value within the first column group, and the second value
+                                # corresponds to a value in the second column group.  If no values
+                                # are listed, this would indicate that the row should be sorted according
+                                # to the "Grand Total" over the column groups. If a single value is listed,
+                                # this would correspond to using the "Total" of that bucket.
+                              { # The kinds of value that a cell in a spreadsheet can have.
+                                "numberValue": 3.14, # Represents a double value.
+                                    # Note: Dates, Times and DateTimes are represented as doubles in
+                                    # "serial number" format.
+                                "boolValue": True or False, # Represents a boolean value.
+                                "formulaValue": "A String", # Represents a formula.
+                                "stringValue": "A String", # Represents a string value.
+                                    # Leading single quotes are not included. For example, if the user typed
+                                    # `'123` into the UI, this would be represented as a `stringValue` of
+                                    # `"123"`.
+                                "errorValue": { # An error in a cell. # Represents an error.
+                                    # This field is read-only.
+                                  "message": "A String", # A message with more information about the error
+                                      # (in the spreadsheet's locale).
+                                  "type": "A String", # The type of error.
+                                },
+                              },
+                            ],
+                            "valuesIndex": 42, # The offset in the [PivotTable.values] list which the values in this
+                                # grouping should be sorted by.
+                          },
+                          "sortOrder": "A String", # The order the values in this group should be sorted.
+                          "sourceColumnOffset": 42, # The column offset of the source range that this grouping is based on.
+                              #
+                              # For example, if the source was `C10:E15', a `sourceColumnOffset` of `0`
+                              # means this group refers to column `C`, whereas the offset `1` would refer
+                              # to column `D`.
+                        },
+                      ],
+                    },
+                    "hyperlink": "A String", # A hyperlink this cell points to, if any.
+                        # This field is read-only.  (To set it, use a `=HYPERLINK` formula.)
+                    "effectiveValue": { # The kinds of value that a cell in a spreadsheet can have. # The effective value of the cell. For cells with formulas, this will be
+                        # the calculated value.  For cells with literals, this will be
+                        # the same as the user_entered_value.
+                        # This field is read-only.
+                      "numberValue": 3.14, # Represents a double value.
+                          # Note: Dates, Times and DateTimes are represented as doubles in
+                          # "serial number" format.
+                      "boolValue": True or False, # Represents a boolean value.
+                      "formulaValue": "A String", # Represents a formula.
+                      "stringValue": "A String", # Represents a string value.
+                          # Leading single quotes are not included. For example, if the user typed
+                          # `'123` into the UI, this would be represented as a `stringValue` of
+                          # `"123"`.
+                      "errorValue": { # An error in a cell. # Represents an error.
+                          # This field is read-only.
+                        "message": "A String", # A message with more information about the error
+                            # (in the spreadsheet's locale).
+                        "type": "A String", # The type of error.
+                      },
+                    },
+                    "formattedValue": "A String", # The formatted value of the cell.
+                        # This is the value as it's shown to the user.
+                        # This field is read-only.
+                    "userEnteredValue": { # The kinds of value that a cell in a spreadsheet can have. # The value the user entered in the cell. e.g, `1234`, `'Hello'`, or `=NOW()`
+                        # Note: Dates, Times and DateTimes are represented as doubles in
+                        # serial number format.
+                      "numberValue": 3.14, # Represents a double value.
+                          # Note: Dates, Times and DateTimes are represented as doubles in
+                          # "serial number" format.
+                      "boolValue": True or False, # Represents a boolean value.
+                      "formulaValue": "A String", # Represents a formula.
+                      "stringValue": "A String", # Represents a string value.
+                          # Leading single quotes are not included. For example, if the user typed
+                          # `'123` into the UI, this would be represented as a `stringValue` of
+                          # `"123"`.
+                      "errorValue": { # An error in a cell. # Represents an error.
+                          # This field is read-only.
+                        "message": "A String", # A message with more information about the error
+                            # (in the spreadsheet's locale).
+                        "type": "A String", # The type of error.
+                      },
+                    },
+                    "note": "A String", # Any note on the cell.
+                    "effectiveFormat": { # The format of a cell. # The effective format being used by the cell.
+                        # This includes the results of applying any conditional formatting and,
+                        # if the cell contains a formula, the computed number format.
+                        # If the effective format is the default format, effective format will
+                        # not be written.
+                        # This field is read-only.
+                      "numberFormat": { # The number format of a cell. # A format describing how number values should be represented to the user.
+                          # When updating, all fields must be set.
+                        "pattern": "A String", # Pattern string used for formatting.
+                        "type": "A String", # The type of the number format.
+                      },
+                      "textDirection": "A String", # The direction of the text in the cell.
+                      "padding": { # The amount of padding around the cell, in pixels. # The padding of the cell.
+                          # When updating padding, every field must be specified.
+                        "top": 42, # The top padding of the cell.
+                        "right": 42, # The right padding of the cell.
+                        "bottom": 42, # The bottom padding of the cell.
+                        "left": 42, # The left padding of the cell.
+                      },
+                      "horizontalAlignment": "A String", # The horizontal alignment of the value in cell.
+                      "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
+                          # for simplicity of conversion to/from color representations in various
+                          # languages over compactness; for example, the fields of this representation
+                          # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                          # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                          # method in iOS; and, with just a little work, it can be easily formatted into
+                          # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                          #
+                          # Example (Java):
+                          #
+                          #      import com.google.type.Color;
+                          #
+                          #      // ...
+                          #      public static java.awt.Color fromProto(Color protocolor) {
+                          #        float alpha = protocolor.hasAlpha()
+                          #            ? protocolor.getAlpha().getValue()
+                          #            : 1.0;
+                          #
+                          #        return new java.awt.Color(
+                          #            protocolor.getRed(),
+                          #            protocolor.getGreen(),
+                          #            protocolor.getBlue(),
+                          #            alpha);
+                          #      }
+                          #
+                          #      public static Color toProto(java.awt.Color color) {
+                          #        float red = (float) color.getRed();
+                          #        float green = (float) color.getGreen();
+                          #        float blue = (float) color.getBlue();
+                          #        float denominator = 255.0;
+                          #        Color.Builder resultBuilder =
+                          #            Color
+                          #                .newBuilder()
+                          #                .setRed(red / denominator)
+                          #                .setGreen(green / denominator)
+                          #                .setBlue(blue / denominator);
+                          #        int alpha = color.getAlpha();
+                          #        if (alpha != 255) {
+                          #          result.setAlpha(
+                          #              FloatValue
+                          #                  .newBuilder()
+                          #                  .setValue(((float) alpha) / denominator)
+                          #                  .build());
+                          #        }
+                          #        return resultBuilder.build();
+                          #      }
+                          #      // ...
+                          #
+                          # Example (iOS / Obj-C):
+                          #
+                          #      // ...
+                          #      static UIColor* fromProto(Color* protocolor) {
+                          #         float red = [protocolor red];
+                          #         float green = [protocolor green];
+                          #         float blue = [protocolor blue];
+                          #         FloatValue* alpha_wrapper = [protocolor alpha];
+                          #         float alpha = 1.0;
+                          #         if (alpha_wrapper != nil) {
+                          #           alpha = [alpha_wrapper value];
+                          #         }
+                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                          #      }
+                          #
+                          #      static Color* toProto(UIColor* color) {
+                          #          CGFloat red, green, blue, alpha;
+                          #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                          #            return nil;
+                          #          }
+                          #          Color* result = [Color alloc] init];
+                          #          [result setRed:red];
+                          #          [result setGreen:green];
+                          #          [result setBlue:blue];
+                          #          if (alpha <= 0.9999) {
+                          #            [result setAlpha:floatWrapperWithValue(alpha)];
+                          #          }
+                          #          [result autorelease];
+                          #          return result;
+                          #     }
+                          #     // ...
+                          #
+                          #  Example (JavaScript):
+                          #
+                          #     // ...
+                          #
+                          #     var protoToCssColor = function(rgb_color) {
+                          #        var redFrac = rgb_color.red || 0.0;
+                          #        var greenFrac = rgb_color.green || 0.0;
+                          #        var blueFrac = rgb_color.blue || 0.0;
+                          #        var red = Math.floor(redFrac * 255);
+                          #        var green = Math.floor(greenFrac * 255);
+                          #        var blue = Math.floor(blueFrac * 255);
+                          #
+                          #        if (!('alpha' in rgb_color)) {
+                          #           return rgbToCssColor_(red, green, blue);
+                          #        }
+                          #
+                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                          #        var rgbParams = [red, green, blue].join(',');
+                          #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                          #     };
+                          #
+                          #     var rgbToCssColor_ = function(red, green, blue) {
+                          #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                          #       var hexString = rgbNumber.toString(16);
+                          #       var missingZeros = 6 - hexString.length;
+                          #       var resultBuilder = ['#'];
+                          #       for (var i = 0; i < missingZeros; i++) {
+                          #          resultBuilder.push('0');
+                          #       }
+                          #       resultBuilder.push(hexString);
+                          #       return resultBuilder.join('');
+                          #     };
+                          #
+                          #     // ...
+                        "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                        "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                            # the final pixel color is defined by the equation:
+                            #
+                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                            #
+                            # This means that a value of 1.0 corresponds to a solid color, whereas
+                            # a value of 0.0 corresponds to a completely transparent color. This
+                            # uses a wrapper message rather than a simple float scalar so that it is
+                            # possible to distinguish between a default value and the value being unset.
+                            # If omitted, this color object is to be rendered as a solid color
+                            # (as if the alpha value had been explicitly given with a value of 1.0).
+                        "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      },
+                      "verticalAlignment": "A String", # The vertical alignment of the value in cell.
+                      "textFormat": { # The format of a run of text in a cell. # The format of the text in the cell (unless overridden by a format run).
+                          # Absent values indicate that the field isn't specified.
+                        "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
+                            # for simplicity of conversion to/from color representations in various
+                            # languages over compactness; for example, the fields of this representation
+                            # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                            # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                            # method in iOS; and, with just a little work, it can be easily formatted into
+                            # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                            #
+                            # Example (Java):
+                            #
+                            #      import com.google.type.Color;
+                            #
+                            #      // ...
+                            #      public static java.awt.Color fromProto(Color protocolor) {
+                            #        float alpha = protocolor.hasAlpha()
+                            #            ? protocolor.getAlpha().getValue()
+                            #            : 1.0;
+                            #
+                            #        return new java.awt.Color(
+                            #            protocolor.getRed(),
+                            #            protocolor.getGreen(),
+                            #            protocolor.getBlue(),
+                            #            alpha);
+                            #      }
+                            #
+                            #      public static Color toProto(java.awt.Color color) {
+                            #        float red = (float) color.getRed();
+                            #        float green = (float) color.getGreen();
+                            #        float blue = (float) color.getBlue();
+                            #        float denominator = 255.0;
+                            #        Color.Builder resultBuilder =
+                            #            Color
+                            #                .newBuilder()
+                            #                .setRed(red / denominator)
+                            #                .setGreen(green / denominator)
+                            #                .setBlue(blue / denominator);
+                            #        int alpha = color.getAlpha();
+                            #        if (alpha != 255) {
+                            #          result.setAlpha(
+                            #              FloatValue
+                            #                  .newBuilder()
+                            #                  .setValue(((float) alpha) / denominator)
+                            #                  .build());
+                            #        }
+                            #        return resultBuilder.build();
+                            #      }
+                            #      // ...
+                            #
+                            # Example (iOS / Obj-C):
+                            #
+                            #      // ...
+                            #      static UIColor* fromProto(Color* protocolor) {
+                            #         float red = [protocolor red];
+                            #         float green = [protocolor green];
+                            #         float blue = [protocolor blue];
+                            #         FloatValue* alpha_wrapper = [protocolor alpha];
+                            #         float alpha = 1.0;
+                            #         if (alpha_wrapper != nil) {
+                            #           alpha = [alpha_wrapper value];
+                            #         }
+                            #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                            #      }
+                            #
+                            #      static Color* toProto(UIColor* color) {
+                            #          CGFloat red, green, blue, alpha;
+                            #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                            #            return nil;
+                            #          }
+                            #          Color* result = [Color alloc] init];
+                            #          [result setRed:red];
+                            #          [result setGreen:green];
+                            #          [result setBlue:blue];
+                            #          if (alpha <= 0.9999) {
+                            #            [result setAlpha:floatWrapperWithValue(alpha)];
+                            #          }
+                            #          [result autorelease];
+                            #          return result;
+                            #     }
+                            #     // ...
+                            #
+                            #  Example (JavaScript):
+                            #
+                            #     // ...
+                            #
+                            #     var protoToCssColor = function(rgb_color) {
+                            #        var redFrac = rgb_color.red || 0.0;
+                            #        var greenFrac = rgb_color.green || 0.0;
+                            #        var blueFrac = rgb_color.blue || 0.0;
+                            #        var red = Math.floor(redFrac * 255);
+                            #        var green = Math.floor(greenFrac * 255);
+                            #        var blue = Math.floor(blueFrac * 255);
+                            #
+                            #        if (!('alpha' in rgb_color)) {
+                            #           return rgbToCssColor_(red, green, blue);
+                            #        }
+                            #
+                            #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                            #        var rgbParams = [red, green, blue].join(',');
+                            #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                            #     };
+                            #
+                            #     var rgbToCssColor_ = function(red, green, blue) {
+                            #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                            #       var hexString = rgbNumber.toString(16);
+                            #       var missingZeros = 6 - hexString.length;
+                            #       var resultBuilder = ['#'];
+                            #       for (var i = 0; i < missingZeros; i++) {
+                            #          resultBuilder.push('0');
+                            #       }
+                            #       resultBuilder.push(hexString);
+                            #       return resultBuilder.join('');
+                            #     };
+                            #
+                            #     // ...
+                          "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                          "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                              # the final pixel color is defined by the equation:
+                              #
+                              #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                              #
+                              # This means that a value of 1.0 corresponds to a solid color, whereas
+                              # a value of 0.0 corresponds to a completely transparent color. This
+                              # uses a wrapper message rather than a simple float scalar so that it is
+                              # possible to distinguish between a default value and the value being unset.
+                              # If omitted, this color object is to be rendered as a solid color
+                              # (as if the alpha value had been explicitly given with a value of 1.0).
+                          "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        },
+                        "bold": True or False, # True if the text is bold.
+                        "strikethrough": True or False, # True if the text has a strikethrough.
+                        "fontFamily": "A String", # The font family.
+                        "fontSize": 42, # The size of the font.
+                        "italic": True or False, # True if the text is italicized.
+                        "underline": True or False, # True if the text is underlined.
+                      },
+                      "hyperlinkDisplayType": "A String", # How a hyperlink, if it exists, should be displayed in the cell.
+                      "borders": { # The borders of the cell. # The borders of the cell.
+                        "top": { # A border along a cell. # The top border of the cell.
+                          "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                              # for simplicity of conversion to/from color representations in various
+                              # languages over compactness; for example, the fields of this representation
+                              # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                              # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                              # method in iOS; and, with just a little work, it can be easily formatted into
+                              # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                              #
+                              # Example (Java):
+                              #
+                              #      import com.google.type.Color;
+                              #
+                              #      // ...
+                              #      public static java.awt.Color fromProto(Color protocolor) {
+                              #        float alpha = protocolor.hasAlpha()
+                              #            ? protocolor.getAlpha().getValue()
+                              #            : 1.0;
+                              #
+                              #        return new java.awt.Color(
+                              #            protocolor.getRed(),
+                              #            protocolor.getGreen(),
+                              #            protocolor.getBlue(),
+                              #            alpha);
+                              #      }
+                              #
+                              #      public static Color toProto(java.awt.Color color) {
+                              #        float red = (float) color.getRed();
+                              #        float green = (float) color.getGreen();
+                              #        float blue = (float) color.getBlue();
+                              #        float denominator = 255.0;
+                              #        Color.Builder resultBuilder =
+                              #            Color
+                              #                .newBuilder()
+                              #                .setRed(red / denominator)
+                              #                .setGreen(green / denominator)
+                              #                .setBlue(blue / denominator);
+                              #        int alpha = color.getAlpha();
+                              #        if (alpha != 255) {
+                              #          result.setAlpha(
+                              #              FloatValue
+                              #                  .newBuilder()
+                              #                  .setValue(((float) alpha) / denominator)
+                              #                  .build());
+                              #        }
+                              #        return resultBuilder.build();
+                              #      }
+                              #      // ...
+                              #
+                              # Example (iOS / Obj-C):
+                              #
+                              #      // ...
+                              #      static UIColor* fromProto(Color* protocolor) {
+                              #         float red = [protocolor red];
+                              #         float green = [protocolor green];
+                              #         float blue = [protocolor blue];
+                              #         FloatValue* alpha_wrapper = [protocolor alpha];
+                              #         float alpha = 1.0;
+                              #         if (alpha_wrapper != nil) {
+                              #           alpha = [alpha_wrapper value];
+                              #         }
+                              #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                              #      }
+                              #
+                              #      static Color* toProto(UIColor* color) {
+                              #          CGFloat red, green, blue, alpha;
+                              #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                              #            return nil;
+                              #          }
+                              #          Color* result = [Color alloc] init];
+                              #          [result setRed:red];
+                              #          [result setGreen:green];
+                              #          [result setBlue:blue];
+                              #          if (alpha <= 0.9999) {
+                              #            [result setAlpha:floatWrapperWithValue(alpha)];
+                              #          }
+                              #          [result autorelease];
+                              #          return result;
+                              #     }
+                              #     // ...
+                              #
+                              #  Example (JavaScript):
+                              #
+                              #     // ...
+                              #
+                              #     var protoToCssColor = function(rgb_color) {
+                              #        var redFrac = rgb_color.red || 0.0;
+                              #        var greenFrac = rgb_color.green || 0.0;
+                              #        var blueFrac = rgb_color.blue || 0.0;
+                              #        var red = Math.floor(redFrac * 255);
+                              #        var green = Math.floor(greenFrac * 255);
+                              #        var blue = Math.floor(blueFrac * 255);
+                              #
+                              #        if (!('alpha' in rgb_color)) {
+                              #           return rgbToCssColor_(red, green, blue);
+                              #        }
+                              #
+                              #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                              #        var rgbParams = [red, green, blue].join(',');
+                              #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                              #     };
+                              #
+                              #     var rgbToCssColor_ = function(red, green, blue) {
+                              #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                              #       var hexString = rgbNumber.toString(16);
+                              #       var missingZeros = 6 - hexString.length;
+                              #       var resultBuilder = ['#'];
+                              #       for (var i = 0; i < missingZeros; i++) {
+                              #          resultBuilder.push('0');
+                              #       }
+                              #       resultBuilder.push(hexString);
+                              #       return resultBuilder.join('');
+                              #     };
+                              #
+                              #     // ...
+                            "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                            "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                                # the final pixel color is defined by the equation:
+                                #
+                                #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                                #
+                                # This means that a value of 1.0 corresponds to a solid color, whereas
+                                # a value of 0.0 corresponds to a completely transparent color. This
+                                # uses a wrapper message rather than a simple float scalar so that it is
+                                # possible to distinguish between a default value and the value being unset.
+                                # If omitted, this color object is to be rendered as a solid color
+                                # (as if the alpha value had been explicitly given with a value of 1.0).
+                            "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          },
+                          "width": 42, # The width of the border, in pixels.
+                              # Border widths must be between 0 and 3 pixels.
+                          "style": "A String", # The style of the border.
+                        },
+                        "right": { # A border along a cell. # The right border of the cell.
+                          "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                              # for simplicity of conversion to/from color representations in various
+                              # languages over compactness; for example, the fields of this representation
+                              # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                              # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                              # method in iOS; and, with just a little work, it can be easily formatted into
+                              # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                              #
+                              # Example (Java):
+                              #
+                              #      import com.google.type.Color;
+                              #
+                              #      // ...
+                              #      public static java.awt.Color fromProto(Color protocolor) {
+                              #        float alpha = protocolor.hasAlpha()
+                              #            ? protocolor.getAlpha().getValue()
+                              #            : 1.0;
+                              #
+                              #        return new java.awt.Color(
+                              #            protocolor.getRed(),
+                              #            protocolor.getGreen(),
+                              #            protocolor.getBlue(),
+                              #            alpha);
+                              #      }
+                              #
+                              #      public static Color toProto(java.awt.Color color) {
+                              #        float red = (float) color.getRed();
+                              #        float green = (float) color.getGreen();
+                              #        float blue = (float) color.getBlue();
+                              #        float denominator = 255.0;
+                              #        Color.Builder resultBuilder =
+                              #            Color
+                              #                .newBuilder()
+                              #                .setRed(red / denominator)
+                              #                .setGreen(green / denominator)
+                              #                .setBlue(blue / denominator);
+                              #        int alpha = color.getAlpha();
+                              #        if (alpha != 255) {
+                              #          result.setAlpha(
+                              #              FloatValue
+                              #                  .newBuilder()
+                              #                  .setValue(((float) alpha) / denominator)
+                              #                  .build());
+                              #        }
+                              #        return resultBuilder.build();
+                              #      }
+                              #      // ...
+                              #
+                              # Example (iOS / Obj-C):
+                              #
+                              #      // ...
+                              #      static UIColor* fromProto(Color* protocolor) {
+                              #         float red = [protocolor red];
+                              #         float green = [protocolor green];
+                              #         float blue = [protocolor blue];
+                              #         FloatValue* alpha_wrapper = [protocolor alpha];
+                              #         float alpha = 1.0;
+                              #         if (alpha_wrapper != nil) {
+                              #           alpha = [alpha_wrapper value];
+                              #         }
+                              #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                              #      }
+                              #
+                              #      static Color* toProto(UIColor* color) {
+                              #          CGFloat red, green, blue, alpha;
+                              #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                              #            return nil;
+                              #          }
+                              #          Color* result = [Color alloc] init];
+                              #          [result setRed:red];
+                              #          [result setGreen:green];
+                              #          [result setBlue:blue];
+                              #          if (alpha <= 0.9999) {
+                              #            [result setAlpha:floatWrapperWithValue(alpha)];
+                              #          }
+                              #          [result autorelease];
+                              #          return result;
+                              #     }
+                              #     // ...
+                              #
+                              #  Example (JavaScript):
+                              #
+                              #     // ...
+                              #
+                              #     var protoToCssColor = function(rgb_color) {
+                              #        var redFrac = rgb_color.red || 0.0;
+                              #        var greenFrac = rgb_color.green || 0.0;
+                              #        var blueFrac = rgb_color.blue || 0.0;
+                              #        var red = Math.floor(redFrac * 255);
+                              #        var green = Math.floor(greenFrac * 255);
+                              #        var blue = Math.floor(blueFrac * 255);
+                              #
+                              #        if (!('alpha' in rgb_color)) {
+                              #           return rgbToCssColor_(red, green, blue);
+                              #        }
+                              #
+                              #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                              #        var rgbParams = [red, green, blue].join(',');
+                              #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                              #     };
+                              #
+                              #     var rgbToCssColor_ = function(red, green, blue) {
+                              #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                              #       var hexString = rgbNumber.toString(16);
+                              #       var missingZeros = 6 - hexString.length;
+                              #       var resultBuilder = ['#'];
+                              #       for (var i = 0; i < missingZeros; i++) {
+                              #          resultBuilder.push('0');
+                              #       }
+                              #       resultBuilder.push(hexString);
+                              #       return resultBuilder.join('');
+                              #     };
+                              #
+                              #     // ...
+                            "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                            "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                                # the final pixel color is defined by the equation:
+                                #
+                                #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                                #
+                                # This means that a value of 1.0 corresponds to a solid color, whereas
+                                # a value of 0.0 corresponds to a completely transparent color. This
+                                # uses a wrapper message rather than a simple float scalar so that it is
+                                # possible to distinguish between a default value and the value being unset.
+                                # If omitted, this color object is to be rendered as a solid color
+                                # (as if the alpha value had been explicitly given with a value of 1.0).
+                            "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          },
+                          "width": 42, # The width of the border, in pixels.
+                              # Border widths must be between 0 and 3 pixels.
+                          "style": "A String", # The style of the border.
+                        },
+                        "bottom": { # A border along a cell. # The bottom border of the cell.
+                          "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                              # for simplicity of conversion to/from color representations in various
+                              # languages over compactness; for example, the fields of this representation
+                              # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                              # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                              # method in iOS; and, with just a little work, it can be easily formatted into
+                              # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                              #
+                              # Example (Java):
+                              #
+                              #      import com.google.type.Color;
+                              #
+                              #      // ...
+                              #      public static java.awt.Color fromProto(Color protocolor) {
+                              #        float alpha = protocolor.hasAlpha()
+                              #            ? protocolor.getAlpha().getValue()
+                              #            : 1.0;
+                              #
+                              #        return new java.awt.Color(
+                              #            protocolor.getRed(),
+                              #            protocolor.getGreen(),
+                              #            protocolor.getBlue(),
+                              #            alpha);
+                              #      }
+                              #
+                              #      public static Color toProto(java.awt.Color color) {
+                              #        float red = (float) color.getRed();
+                              #        float green = (float) color.getGreen();
+                              #        float blue = (float) color.getBlue();
+                              #        float denominator = 255.0;
+                              #        Color.Builder resultBuilder =
+                              #            Color
+                              #                .newBuilder()
+                              #                .setRed(red / denominator)
+                              #                .setGreen(green / denominator)
+                              #                .setBlue(blue / denominator);
+                              #        int alpha = color.getAlpha();
+                              #        if (alpha != 255) {
+                              #          result.setAlpha(
+                              #              FloatValue
+                              #                  .newBuilder()
+                              #                  .setValue(((float) alpha) / denominator)
+                              #                  .build());
+                              #        }
+                              #        return resultBuilder.build();
+                              #      }
+                              #      // ...
+                              #
+                              # Example (iOS / Obj-C):
+                              #
+                              #      // ...
+                              #      static UIColor* fromProto(Color* protocolor) {
+                              #         float red = [protocolor red];
+                              #         float green = [protocolor green];
+                              #         float blue = [protocolor blue];
+                              #         FloatValue* alpha_wrapper = [protocolor alpha];
+                              #         float alpha = 1.0;
+                              #         if (alpha_wrapper != nil) {
+                              #           alpha = [alpha_wrapper value];
+                              #         }
+                              #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                              #      }
+                              #
+                              #      static Color* toProto(UIColor* color) {
+                              #          CGFloat red, green, blue, alpha;
+                              #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                              #            return nil;
+                              #          }
+                              #          Color* result = [Color alloc] init];
+                              #          [result setRed:red];
+                              #          [result setGreen:green];
+                              #          [result setBlue:blue];
+                              #          if (alpha <= 0.9999) {
+                              #            [result setAlpha:floatWrapperWithValue(alpha)];
+                              #          }
+                              #          [result autorelease];
+                              #          return result;
+                              #     }
+                              #     // ...
+                              #
+                              #  Example (JavaScript):
+                              #
+                              #     // ...
+                              #
+                              #     var protoToCssColor = function(rgb_color) {
+                              #        var redFrac = rgb_color.red || 0.0;
+                              #        var greenFrac = rgb_color.green || 0.0;
+                              #        var blueFrac = rgb_color.blue || 0.0;
+                              #        var red = Math.floor(redFrac * 255);
+                              #        var green = Math.floor(greenFrac * 255);
+                              #        var blue = Math.floor(blueFrac * 255);
+                              #
+                              #        if (!('alpha' in rgb_color)) {
+                              #           return rgbToCssColor_(red, green, blue);
+                              #        }
+                              #
+                              #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                              #        var rgbParams = [red, green, blue].join(',');
+                              #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                              #     };
+                              #
+                              #     var rgbToCssColor_ = function(red, green, blue) {
+                              #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                              #       var hexString = rgbNumber.toString(16);
+                              #       var missingZeros = 6 - hexString.length;
+                              #       var resultBuilder = ['#'];
+                              #       for (var i = 0; i < missingZeros; i++) {
+                              #          resultBuilder.push('0');
+                              #       }
+                              #       resultBuilder.push(hexString);
+                              #       return resultBuilder.join('');
+                              #     };
+                              #
+                              #     // ...
+                            "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                            "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                                # the final pixel color is defined by the equation:
+                                #
+                                #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                                #
+                                # This means that a value of 1.0 corresponds to a solid color, whereas
+                                # a value of 0.0 corresponds to a completely transparent color. This
+                                # uses a wrapper message rather than a simple float scalar so that it is
+                                # possible to distinguish between a default value and the value being unset.
+                                # If omitted, this color object is to be rendered as a solid color
+                                # (as if the alpha value had been explicitly given with a value of 1.0).
+                            "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          },
+                          "width": 42, # The width of the border, in pixels.
+                              # Border widths must be between 0 and 3 pixels.
+                          "style": "A String", # The style of the border.
+                        },
+                        "left": { # A border along a cell. # The left border of the cell.
+                          "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                              # for simplicity of conversion to/from color representations in various
+                              # languages over compactness; for example, the fields of this representation
+                              # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                              # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                              # method in iOS; and, with just a little work, it can be easily formatted into
+                              # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                              #
+                              # Example (Java):
+                              #
+                              #      import com.google.type.Color;
+                              #
+                              #      // ...
+                              #      public static java.awt.Color fromProto(Color protocolor) {
+                              #        float alpha = protocolor.hasAlpha()
+                              #            ? protocolor.getAlpha().getValue()
+                              #            : 1.0;
+                              #
+                              #        return new java.awt.Color(
+                              #            protocolor.getRed(),
+                              #            protocolor.getGreen(),
+                              #            protocolor.getBlue(),
+                              #            alpha);
+                              #      }
+                              #
+                              #      public static Color toProto(java.awt.Color color) {
+                              #        float red = (float) color.getRed();
+                              #        float green = (float) color.getGreen();
+                              #        float blue = (float) color.getBlue();
+                              #        float denominator = 255.0;
+                              #        Color.Builder resultBuilder =
+                              #            Color
+                              #                .newBuilder()
+                              #                .setRed(red / denominator)
+                              #                .setGreen(green / denominator)
+                              #                .setBlue(blue / denominator);
+                              #        int alpha = color.getAlpha();
+                              #        if (alpha != 255) {
+                              #          result.setAlpha(
+                              #              FloatValue
+                              #                  .newBuilder()
+                              #                  .setValue(((float) alpha) / denominator)
+                              #                  .build());
+                              #        }
+                              #        return resultBuilder.build();
+                              #      }
+                              #      // ...
+                              #
+                              # Example (iOS / Obj-C):
+                              #
+                              #      // ...
+                              #      static UIColor* fromProto(Color* protocolor) {
+                              #         float red = [protocolor red];
+                              #         float green = [protocolor green];
+                              #         float blue = [protocolor blue];
+                              #         FloatValue* alpha_wrapper = [protocolor alpha];
+                              #         float alpha = 1.0;
+                              #         if (alpha_wrapper != nil) {
+                              #           alpha = [alpha_wrapper value];
+                              #         }
+                              #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                              #      }
+                              #
+                              #      static Color* toProto(UIColor* color) {
+                              #          CGFloat red, green, blue, alpha;
+                              #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                              #            return nil;
+                              #          }
+                              #          Color* result = [Color alloc] init];
+                              #          [result setRed:red];
+                              #          [result setGreen:green];
+                              #          [result setBlue:blue];
+                              #          if (alpha <= 0.9999) {
+                              #            [result setAlpha:floatWrapperWithValue(alpha)];
+                              #          }
+                              #          [result autorelease];
+                              #          return result;
+                              #     }
+                              #     // ...
+                              #
+                              #  Example (JavaScript):
+                              #
+                              #     // ...
+                              #
+                              #     var protoToCssColor = function(rgb_color) {
+                              #        var redFrac = rgb_color.red || 0.0;
+                              #        var greenFrac = rgb_color.green || 0.0;
+                              #        var blueFrac = rgb_color.blue || 0.0;
+                              #        var red = Math.floor(redFrac * 255);
+                              #        var green = Math.floor(greenFrac * 255);
+                              #        var blue = Math.floor(blueFrac * 255);
+                              #
+                              #        if (!('alpha' in rgb_color)) {
+                              #           return rgbToCssColor_(red, green, blue);
+                              #        }
+                              #
+                              #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                              #        var rgbParams = [red, green, blue].join(',');
+                              #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                              #     };
+                              #
+                              #     var rgbToCssColor_ = function(red, green, blue) {
+                              #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                              #       var hexString = rgbNumber.toString(16);
+                              #       var missingZeros = 6 - hexString.length;
+                              #       var resultBuilder = ['#'];
+                              #       for (var i = 0; i < missingZeros; i++) {
+                              #          resultBuilder.push('0');
+                              #       }
+                              #       resultBuilder.push(hexString);
+                              #       return resultBuilder.join('');
+                              #     };
+                              #
+                              #     // ...
+                            "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                            "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                                # the final pixel color is defined by the equation:
+                                #
+                                #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                                #
+                                # This means that a value of 1.0 corresponds to a solid color, whereas
+                                # a value of 0.0 corresponds to a completely transparent color. This
+                                # uses a wrapper message rather than a simple float scalar so that it is
+                                # possible to distinguish between a default value and the value being unset.
+                                # If omitted, this color object is to be rendered as a solid color
+                                # (as if the alpha value had been explicitly given with a value of 1.0).
+                            "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          },
+                          "width": 42, # The width of the border, in pixels.
+                              # Border widths must be between 0 and 3 pixels.
+                          "style": "A String", # The style of the border.
+                        },
+                      },
+                      "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
+                    },
+                    "userEnteredFormat": { # The format of a cell. # The format the user entered for the cell.
+                        #
+                        # When writing, the new format will be merged with the existing format.
+                      "numberFormat": { # The number format of a cell. # A format describing how number values should be represented to the user.
+                          # When updating, all fields must be set.
+                        "pattern": "A String", # Pattern string used for formatting.
+                        "type": "A String", # The type of the number format.
+                      },
+                      "textDirection": "A String", # The direction of the text in the cell.
+                      "padding": { # The amount of padding around the cell, in pixels. # The padding of the cell.
+                          # When updating padding, every field must be specified.
+                        "top": 42, # The top padding of the cell.
+                        "right": 42, # The right padding of the cell.
+                        "bottom": 42, # The bottom padding of the cell.
+                        "left": 42, # The left padding of the cell.
+                      },
+                      "horizontalAlignment": "A String", # The horizontal alignment of the value in cell.
+                      "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
+                          # for simplicity of conversion to/from color representations in various
+                          # languages over compactness; for example, the fields of this representation
+                          # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                          # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                          # method in iOS; and, with just a little work, it can be easily formatted into
+                          # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                          #
+                          # Example (Java):
+                          #
+                          #      import com.google.type.Color;
+                          #
+                          #      // ...
+                          #      public static java.awt.Color fromProto(Color protocolor) {
+                          #        float alpha = protocolor.hasAlpha()
+                          #            ? protocolor.getAlpha().getValue()
+                          #            : 1.0;
+                          #
+                          #        return new java.awt.Color(
+                          #            protocolor.getRed(),
+                          #            protocolor.getGreen(),
+                          #            protocolor.getBlue(),
+                          #            alpha);
+                          #      }
+                          #
+                          #      public static Color toProto(java.awt.Color color) {
+                          #        float red = (float) color.getRed();
+                          #        float green = (float) color.getGreen();
+                          #        float blue = (float) color.getBlue();
+                          #        float denominator = 255.0;
+                          #        Color.Builder resultBuilder =
+                          #            Color
+                          #                .newBuilder()
+                          #                .setRed(red / denominator)
+                          #                .setGreen(green / denominator)
+                          #                .setBlue(blue / denominator);
+                          #        int alpha = color.getAlpha();
+                          #        if (alpha != 255) {
+                          #          result.setAlpha(
+                          #              FloatValue
+                          #                  .newBuilder()
+                          #                  .setValue(((float) alpha) / denominator)
+                          #                  .build());
+                          #        }
+                          #        return resultBuilder.build();
+                          #      }
+                          #      // ...
+                          #
+                          # Example (iOS / Obj-C):
+                          #
+                          #      // ...
+                          #      static UIColor* fromProto(Color* protocolor) {
+                          #         float red = [protocolor red];
+                          #         float green = [protocolor green];
+                          #         float blue = [protocolor blue];
+                          #         FloatValue* alpha_wrapper = [protocolor alpha];
+                          #         float alpha = 1.0;
+                          #         if (alpha_wrapper != nil) {
+                          #           alpha = [alpha_wrapper value];
+                          #         }
+                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                          #      }
+                          #
+                          #      static Color* toProto(UIColor* color) {
+                          #          CGFloat red, green, blue, alpha;
+                          #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                          #            return nil;
+                          #          }
+                          #          Color* result = [Color alloc] init];
+                          #          [result setRed:red];
+                          #          [result setGreen:green];
+                          #          [result setBlue:blue];
+                          #          if (alpha <= 0.9999) {
+                          #            [result setAlpha:floatWrapperWithValue(alpha)];
+                          #          }
+                          #          [result autorelease];
+                          #          return result;
+                          #     }
+                          #     // ...
+                          #
+                          #  Example (JavaScript):
+                          #
+                          #     // ...
+                          #
+                          #     var protoToCssColor = function(rgb_color) {
+                          #        var redFrac = rgb_color.red || 0.0;
+                          #        var greenFrac = rgb_color.green || 0.0;
+                          #        var blueFrac = rgb_color.blue || 0.0;
+                          #        var red = Math.floor(redFrac * 255);
+                          #        var green = Math.floor(greenFrac * 255);
+                          #        var blue = Math.floor(blueFrac * 255);
+                          #
+                          #        if (!('alpha' in rgb_color)) {
+                          #           return rgbToCssColor_(red, green, blue);
+                          #        }
+                          #
+                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                          #        var rgbParams = [red, green, blue].join(',');
+                          #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                          #     };
+                          #
+                          #     var rgbToCssColor_ = function(red, green, blue) {
+                          #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                          #       var hexString = rgbNumber.toString(16);
+                          #       var missingZeros = 6 - hexString.length;
+                          #       var resultBuilder = ['#'];
+                          #       for (var i = 0; i < missingZeros; i++) {
+                          #          resultBuilder.push('0');
+                          #       }
+                          #       resultBuilder.push(hexString);
+                          #       return resultBuilder.join('');
+                          #     };
+                          #
+                          #     // ...
+                        "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                        "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                            # the final pixel color is defined by the equation:
+                            #
+                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                            #
+                            # This means that a value of 1.0 corresponds to a solid color, whereas
+                            # a value of 0.0 corresponds to a completely transparent color. This
+                            # uses a wrapper message rather than a simple float scalar so that it is
+                            # possible to distinguish between a default value and the value being unset.
+                            # If omitted, this color object is to be rendered as a solid color
+                            # (as if the alpha value had been explicitly given with a value of 1.0).
+                        "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      },
+                      "verticalAlignment": "A String", # The vertical alignment of the value in cell.
+                      "textFormat": { # The format of a run of text in a cell. # The format of the text in the cell (unless overridden by a format run).
+                          # Absent values indicate that the field isn't specified.
+                        "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
+                            # for simplicity of conversion to/from color representations in various
+                            # languages over compactness; for example, the fields of this representation
+                            # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                            # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                            # method in iOS; and, with just a little work, it can be easily formatted into
+                            # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                            #
+                            # Example (Java):
+                            #
+                            #      import com.google.type.Color;
+                            #
+                            #      // ...
+                            #      public static java.awt.Color fromProto(Color protocolor) {
+                            #        float alpha = protocolor.hasAlpha()
+                            #            ? protocolor.getAlpha().getValue()
+                            #            : 1.0;
+                            #
+                            #        return new java.awt.Color(
+                            #            protocolor.getRed(),
+                            #            protocolor.getGreen(),
+                            #            protocolor.getBlue(),
+                            #            alpha);
+                            #      }
+                            #
+                            #      public static Color toProto(java.awt.Color color) {
+                            #        float red = (float) color.getRed();
+                            #        float green = (float) color.getGreen();
+                            #        float blue = (float) color.getBlue();
+                            #        float denominator = 255.0;
+                            #        Color.Builder resultBuilder =
+                            #            Color
+                            #                .newBuilder()
+                            #                .setRed(red / denominator)
+                            #                .setGreen(green / denominator)
+                            #                .setBlue(blue / denominator);
+                            #        int alpha = color.getAlpha();
+                            #        if (alpha != 255) {
+                            #          result.setAlpha(
+                            #              FloatValue
+                            #                  .newBuilder()
+                            #                  .setValue(((float) alpha) / denominator)
+                            #                  .build());
+                            #        }
+                            #        return resultBuilder.build();
+                            #      }
+                            #      // ...
+                            #
+                            # Example (iOS / Obj-C):
+                            #
+                            #      // ...
+                            #      static UIColor* fromProto(Color* protocolor) {
+                            #         float red = [protocolor red];
+                            #         float green = [protocolor green];
+                            #         float blue = [protocolor blue];
+                            #         FloatValue* alpha_wrapper = [protocolor alpha];
+                            #         float alpha = 1.0;
+                            #         if (alpha_wrapper != nil) {
+                            #           alpha = [alpha_wrapper value];
+                            #         }
+                            #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                            #      }
+                            #
+                            #      static Color* toProto(UIColor* color) {
+                            #          CGFloat red, green, blue, alpha;
+                            #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                            #            return nil;
+                            #          }
+                            #          Color* result = [Color alloc] init];
+                            #          [result setRed:red];
+                            #          [result setGreen:green];
+                            #          [result setBlue:blue];
+                            #          if (alpha <= 0.9999) {
+                            #            [result setAlpha:floatWrapperWithValue(alpha)];
+                            #          }
+                            #          [result autorelease];
+                            #          return result;
+                            #     }
+                            #     // ...
+                            #
+                            #  Example (JavaScript):
+                            #
+                            #     // ...
+                            #
+                            #     var protoToCssColor = function(rgb_color) {
+                            #        var redFrac = rgb_color.red || 0.0;
+                            #        var greenFrac = rgb_color.green || 0.0;
+                            #        var blueFrac = rgb_color.blue || 0.0;
+                            #        var red = Math.floor(redFrac * 255);
+                            #        var green = Math.floor(greenFrac * 255);
+                            #        var blue = Math.floor(blueFrac * 255);
+                            #
+                            #        if (!('alpha' in rgb_color)) {
+                            #           return rgbToCssColor_(red, green, blue);
+                            #        }
+                            #
+                            #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                            #        var rgbParams = [red, green, blue].join(',');
+                            #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                            #     };
+                            #
+                            #     var rgbToCssColor_ = function(red, green, blue) {
+                            #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                            #       var hexString = rgbNumber.toString(16);
+                            #       var missingZeros = 6 - hexString.length;
+                            #       var resultBuilder = ['#'];
+                            #       for (var i = 0; i < missingZeros; i++) {
+                            #          resultBuilder.push('0');
+                            #       }
+                            #       resultBuilder.push(hexString);
+                            #       return resultBuilder.join('');
+                            #     };
+                            #
+                            #     // ...
+                          "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                          "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                              # the final pixel color is defined by the equation:
+                              #
+                              #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                              #
+                              # This means that a value of 1.0 corresponds to a solid color, whereas
+                              # a value of 0.0 corresponds to a completely transparent color. This
+                              # uses a wrapper message rather than a simple float scalar so that it is
+                              # possible to distinguish between a default value and the value being unset.
+                              # If omitted, this color object is to be rendered as a solid color
+                              # (as if the alpha value had been explicitly given with a value of 1.0).
+                          "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        },
+                        "bold": True or False, # True if the text is bold.
+                        "strikethrough": True or False, # True if the text has a strikethrough.
+                        "fontFamily": "A String", # The font family.
+                        "fontSize": 42, # The size of the font.
+                        "italic": True or False, # True if the text is italicized.
+                        "underline": True or False, # True if the text is underlined.
+                      },
+                      "hyperlinkDisplayType": "A String", # How a hyperlink, if it exists, should be displayed in the cell.
+                      "borders": { # The borders of the cell. # The borders of the cell.
+                        "top": { # A border along a cell. # The top border of the cell.
+                          "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                              # for simplicity of conversion to/from color representations in various
+                              # languages over compactness; for example, the fields of this representation
+                              # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                              # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                              # method in iOS; and, with just a little work, it can be easily formatted into
+                              # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                              #
+                              # Example (Java):
+                              #
+                              #      import com.google.type.Color;
+                              #
+                              #      // ...
+                              #      public static java.awt.Color fromProto(Color protocolor) {
+                              #        float alpha = protocolor.hasAlpha()
+                              #            ? protocolor.getAlpha().getValue()
+                              #            : 1.0;
+                              #
+                              #        return new java.awt.Color(
+                              #            protocolor.getRed(),
+                              #            protocolor.getGreen(),
+                              #            protocolor.getBlue(),
+                              #            alpha);
+                              #      }
+                              #
+                              #      public static Color toProto(java.awt.Color color) {
+                              #        float red = (float) color.getRed();
+                              #        float green = (float) color.getGreen();
+                              #        float blue = (float) color.getBlue();
+                              #        float denominator = 255.0;
+                              #        Color.Builder resultBuilder =
+                              #            Color
+                              #                .newBuilder()
+                              #                .setRed(red / denominator)
+                              #                .setGreen(green / denominator)
+                              #                .setBlue(blue / denominator);
+                              #        int alpha = color.getAlpha();
+                              #        if (alpha != 255) {
+                              #          result.setAlpha(
+                              #              FloatValue
+                              #                  .newBuilder()
+                              #                  .setValue(((float) alpha) / denominator)
+                              #                  .build());
+                              #        }
+                              #        return resultBuilder.build();
+                              #      }
+                              #      // ...
+                              #
+                              # Example (iOS / Obj-C):
+                              #
+                              #      // ...
+                              #      static UIColor* fromProto(Color* protocolor) {
+                              #         float red = [protocolor red];
+                              #         float green = [protocolor green];
+                              #         float blue = [protocolor blue];
+                              #         FloatValue* alpha_wrapper = [protocolor alpha];
+                              #         float alpha = 1.0;
+                              #         if (alpha_wrapper != nil) {
+                              #           alpha = [alpha_wrapper value];
+                              #         }
+                              #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                              #      }
+                              #
+                              #      static Color* toProto(UIColor* color) {
+                              #          CGFloat red, green, blue, alpha;
+                              #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                              #            return nil;
+                              #          }
+                              #          Color* result = [Color alloc] init];
+                              #          [result setRed:red];
+                              #          [result setGreen:green];
+                              #          [result setBlue:blue];
+                              #          if (alpha <= 0.9999) {
+                              #            [result setAlpha:floatWrapperWithValue(alpha)];
+                              #          }
+                              #          [result autorelease];
+                              #          return result;
+                              #     }
+                              #     // ...
+                              #
+                              #  Example (JavaScript):
+                              #
+                              #     // ...
+                              #
+                              #     var protoToCssColor = function(rgb_color) {
+                              #        var redFrac = rgb_color.red || 0.0;
+                              #        var greenFrac = rgb_color.green || 0.0;
+                              #        var blueFrac = rgb_color.blue || 0.0;
+                              #        var red = Math.floor(redFrac * 255);
+                              #        var green = Math.floor(greenFrac * 255);
+                              #        var blue = Math.floor(blueFrac * 255);
+                              #
+                              #        if (!('alpha' in rgb_color)) {
+                              #           return rgbToCssColor_(red, green, blue);
+                              #        }
+                              #
+                              #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                              #        var rgbParams = [red, green, blue].join(',');
+                              #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                              #     };
+                              #
+                              #     var rgbToCssColor_ = function(red, green, blue) {
+                              #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                              #       var hexString = rgbNumber.toString(16);
+                              #       var missingZeros = 6 - hexString.length;
+                              #       var resultBuilder = ['#'];
+                              #       for (var i = 0; i < missingZeros; i++) {
+                              #          resultBuilder.push('0');
+                              #       }
+                              #       resultBuilder.push(hexString);
+                              #       return resultBuilder.join('');
+                              #     };
+                              #
+                              #     // ...
+                            "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                            "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                                # the final pixel color is defined by the equation:
+                                #
+                                #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                                #
+                                # This means that a value of 1.0 corresponds to a solid color, whereas
+                                # a value of 0.0 corresponds to a completely transparent color. This
+                                # uses a wrapper message rather than a simple float scalar so that it is
+                                # possible to distinguish between a default value and the value being unset.
+                                # If omitted, this color object is to be rendered as a solid color
+                                # (as if the alpha value had been explicitly given with a value of 1.0).
+                            "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          },
+                          "width": 42, # The width of the border, in pixels.
+                              # Border widths must be between 0 and 3 pixels.
+                          "style": "A String", # The style of the border.
+                        },
+                        "right": { # A border along a cell. # The right border of the cell.
+                          "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                              # for simplicity of conversion to/from color representations in various
+                              # languages over compactness; for example, the fields of this representation
+                              # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                              # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                              # method in iOS; and, with just a little work, it can be easily formatted into
+                              # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                              #
+                              # Example (Java):
+                              #
+                              #      import com.google.type.Color;
+                              #
+                              #      // ...
+                              #      public static java.awt.Color fromProto(Color protocolor) {
+                              #        float alpha = protocolor.hasAlpha()
+                              #            ? protocolor.getAlpha().getValue()
+                              #            : 1.0;
+                              #
+                              #        return new java.awt.Color(
+                              #            protocolor.getRed(),
+                              #            protocolor.getGreen(),
+                              #            protocolor.getBlue(),
+                              #            alpha);
+                              #      }
+                              #
+                              #      public static Color toProto(java.awt.Color color) {
+                              #        float red = (float) color.getRed();
+                              #        float green = (float) color.getGreen();
+                              #        float blue = (float) color.getBlue();
+                              #        float denominator = 255.0;
+                              #        Color.Builder resultBuilder =
+                              #            Color
+                              #                .newBuilder()
+                              #                .setRed(red / denominator)
+                              #                .setGreen(green / denominator)
+                              #                .setBlue(blue / denominator);
+                              #        int alpha = color.getAlpha();
+                              #        if (alpha != 255) {
+                              #          result.setAlpha(
+                              #              FloatValue
+                              #                  .newBuilder()
+                              #                  .setValue(((float) alpha) / denominator)
+                              #                  .build());
+                              #        }
+                              #        return resultBuilder.build();
+                              #      }
+                              #      // ...
+                              #
+                              # Example (iOS / Obj-C):
+                              #
+                              #      // ...
+                              #      static UIColor* fromProto(Color* protocolor) {
+                              #         float red = [protocolor red];
+                              #         float green = [protocolor green];
+                              #         float blue = [protocolor blue];
+                              #         FloatValue* alpha_wrapper = [protocolor alpha];
+                              #         float alpha = 1.0;
+                              #         if (alpha_wrapper != nil) {
+                              #           alpha = [alpha_wrapper value];
+                              #         }
+                              #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                              #      }
+                              #
+                              #      static Color* toProto(UIColor* color) {
+                              #          CGFloat red, green, blue, alpha;
+                              #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                              #            return nil;
+                              #          }
+                              #          Color* result = [Color alloc] init];
+                              #          [result setRed:red];
+                              #          [result setGreen:green];
+                              #          [result setBlue:blue];
+                              #          if (alpha <= 0.9999) {
+                              #            [result setAlpha:floatWrapperWithValue(alpha)];
+                              #          }
+                              #          [result autorelease];
+                              #          return result;
+                              #     }
+                              #     // ...
+                              #
+                              #  Example (JavaScript):
+                              #
+                              #     // ...
+                              #
+                              #     var protoToCssColor = function(rgb_color) {
+                              #        var redFrac = rgb_color.red || 0.0;
+                              #        var greenFrac = rgb_color.green || 0.0;
+                              #        var blueFrac = rgb_color.blue || 0.0;
+                              #        var red = Math.floor(redFrac * 255);
+                              #        var green = Math.floor(greenFrac * 255);
+                              #        var blue = Math.floor(blueFrac * 255);
+                              #
+                              #        if (!('alpha' in rgb_color)) {
+                              #           return rgbToCssColor_(red, green, blue);
+                              #        }
+                              #
+                              #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                              #        var rgbParams = [red, green, blue].join(',');
+                              #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                              #     };
+                              #
+                              #     var rgbToCssColor_ = function(red, green, blue) {
+                              #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                              #       var hexString = rgbNumber.toString(16);
+                              #       var missingZeros = 6 - hexString.length;
+                              #       var resultBuilder = ['#'];
+                              #       for (var i = 0; i < missingZeros; i++) {
+                              #          resultBuilder.push('0');
+                              #       }
+                              #       resultBuilder.push(hexString);
+                              #       return resultBuilder.join('');
+                              #     };
+                              #
+                              #     // ...
+                            "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                            "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                                # the final pixel color is defined by the equation:
+                                #
+                                #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                                #
+                                # This means that a value of 1.0 corresponds to a solid color, whereas
+                                # a value of 0.0 corresponds to a completely transparent color. This
+                                # uses a wrapper message rather than a simple float scalar so that it is
+                                # possible to distinguish between a default value and the value being unset.
+                                # If omitted, this color object is to be rendered as a solid color
+                                # (as if the alpha value had been explicitly given with a value of 1.0).
+                            "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          },
+                          "width": 42, # The width of the border, in pixels.
+                              # Border widths must be between 0 and 3 pixels.
+                          "style": "A String", # The style of the border.
+                        },
+                        "bottom": { # A border along a cell. # The bottom border of the cell.
+                          "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                              # for simplicity of conversion to/from color representations in various
+                              # languages over compactness; for example, the fields of this representation
+                              # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                              # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                              # method in iOS; and, with just a little work, it can be easily formatted into
+                              # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                              #
+                              # Example (Java):
+                              #
+                              #      import com.google.type.Color;
+                              #
+                              #      // ...
+                              #      public static java.awt.Color fromProto(Color protocolor) {
+                              #        float alpha = protocolor.hasAlpha()
+                              #            ? protocolor.getAlpha().getValue()
+                              #            : 1.0;
+                              #
+                              #        return new java.awt.Color(
+                              #            protocolor.getRed(),
+                              #            protocolor.getGreen(),
+                              #            protocolor.getBlue(),
+                              #            alpha);
+                              #      }
+                              #
+                              #      public static Color toProto(java.awt.Color color) {
+                              #        float red = (float) color.getRed();
+                              #        float green = (float) color.getGreen();
+                              #        float blue = (float) color.getBlue();
+                              #        float denominator = 255.0;
+                              #        Color.Builder resultBuilder =
+                              #            Color
+                              #                .newBuilder()
+                              #                .setRed(red / denominator)
+                              #                .setGreen(green / denominator)
+                              #                .setBlue(blue / denominator);
+                              #        int alpha = color.getAlpha();
+                              #        if (alpha != 255) {
+                              #          result.setAlpha(
+                              #              FloatValue
+                              #                  .newBuilder()
+                              #                  .setValue(((float) alpha) / denominator)
+                              #                  .build());
+                              #        }
+                              #        return resultBuilder.build();
+                              #      }
+                              #      // ...
+                              #
+                              # Example (iOS / Obj-C):
+                              #
+                              #      // ...
+                              #      static UIColor* fromProto(Color* protocolor) {
+                              #         float red = [protocolor red];
+                              #         float green = [protocolor green];
+                              #         float blue = [protocolor blue];
+                              #         FloatValue* alpha_wrapper = [protocolor alpha];
+                              #         float alpha = 1.0;
+                              #         if (alpha_wrapper != nil) {
+                              #           alpha = [alpha_wrapper value];
+                              #         }
+                              #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                              #      }
+                              #
+                              #      static Color* toProto(UIColor* color) {
+                              #          CGFloat red, green, blue, alpha;
+                              #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                              #            return nil;
+                              #          }
+                              #          Color* result = [Color alloc] init];
+                              #          [result setRed:red];
+                              #          [result setGreen:green];
+                              #          [result setBlue:blue];
+                              #          if (alpha <= 0.9999) {
+                              #            [result setAlpha:floatWrapperWithValue(alpha)];
+                              #          }
+                              #          [result autorelease];
+                              #          return result;
+                              #     }
+                              #     // ...
+                              #
+                              #  Example (JavaScript):
+                              #
+                              #     // ...
+                              #
+                              #     var protoToCssColor = function(rgb_color) {
+                              #        var redFrac = rgb_color.red || 0.0;
+                              #        var greenFrac = rgb_color.green || 0.0;
+                              #        var blueFrac = rgb_color.blue || 0.0;
+                              #        var red = Math.floor(redFrac * 255);
+                              #        var green = Math.floor(greenFrac * 255);
+                              #        var blue = Math.floor(blueFrac * 255);
+                              #
+                              #        if (!('alpha' in rgb_color)) {
+                              #           return rgbToCssColor_(red, green, blue);
+                              #        }
+                              #
+                              #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                              #        var rgbParams = [red, green, blue].join(',');
+                              #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                              #     };
+                              #
+                              #     var rgbToCssColor_ = function(red, green, blue) {
+                              #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                              #       var hexString = rgbNumber.toString(16);
+                              #       var missingZeros = 6 - hexString.length;
+                              #       var resultBuilder = ['#'];
+                              #       for (var i = 0; i < missingZeros; i++) {
+                              #          resultBuilder.push('0');
+                              #       }
+                              #       resultBuilder.push(hexString);
+                              #       return resultBuilder.join('');
+                              #     };
+                              #
+                              #     // ...
+                            "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                            "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                                # the final pixel color is defined by the equation:
+                                #
+                                #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                                #
+                                # This means that a value of 1.0 corresponds to a solid color, whereas
+                                # a value of 0.0 corresponds to a completely transparent color. This
+                                # uses a wrapper message rather than a simple float scalar so that it is
+                                # possible to distinguish between a default value and the value being unset.
+                                # If omitted, this color object is to be rendered as a solid color
+                                # (as if the alpha value had been explicitly given with a value of 1.0).
+                            "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          },
+                          "width": 42, # The width of the border, in pixels.
+                              # Border widths must be between 0 and 3 pixels.
+                          "style": "A String", # The style of the border.
+                        },
+                        "left": { # A border along a cell. # The left border of the cell.
+                          "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                              # for simplicity of conversion to/from color representations in various
+                              # languages over compactness; for example, the fields of this representation
+                              # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                              # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                              # method in iOS; and, with just a little work, it can be easily formatted into
+                              # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                              #
+                              # Example (Java):
+                              #
+                              #      import com.google.type.Color;
+                              #
+                              #      // ...
+                              #      public static java.awt.Color fromProto(Color protocolor) {
+                              #        float alpha = protocolor.hasAlpha()
+                              #            ? protocolor.getAlpha().getValue()
+                              #            : 1.0;
+                              #
+                              #        return new java.awt.Color(
+                              #            protocolor.getRed(),
+                              #            protocolor.getGreen(),
+                              #            protocolor.getBlue(),
+                              #            alpha);
+                              #      }
+                              #
+                              #      public static Color toProto(java.awt.Color color) {
+                              #        float red = (float) color.getRed();
+                              #        float green = (float) color.getGreen();
+                              #        float blue = (float) color.getBlue();
+                              #        float denominator = 255.0;
+                              #        Color.Builder resultBuilder =
+                              #            Color
+                              #                .newBuilder()
+                              #                .setRed(red / denominator)
+                              #                .setGreen(green / denominator)
+                              #                .setBlue(blue / denominator);
+                              #        int alpha = color.getAlpha();
+                              #        if (alpha != 255) {
+                              #          result.setAlpha(
+                              #              FloatValue
+                              #                  .newBuilder()
+                              #                  .setValue(((float) alpha) / denominator)
+                              #                  .build());
+                              #        }
+                              #        return resultBuilder.build();
+                              #      }
+                              #      // ...
+                              #
+                              # Example (iOS / Obj-C):
+                              #
+                              #      // ...
+                              #      static UIColor* fromProto(Color* protocolor) {
+                              #         float red = [protocolor red];
+                              #         float green = [protocolor green];
+                              #         float blue = [protocolor blue];
+                              #         FloatValue* alpha_wrapper = [protocolor alpha];
+                              #         float alpha = 1.0;
+                              #         if (alpha_wrapper != nil) {
+                              #           alpha = [alpha_wrapper value];
+                              #         }
+                              #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                              #      }
+                              #
+                              #      static Color* toProto(UIColor* color) {
+                              #          CGFloat red, green, blue, alpha;
+                              #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                              #            return nil;
+                              #          }
+                              #          Color* result = [Color alloc] init];
+                              #          [result setRed:red];
+                              #          [result setGreen:green];
+                              #          [result setBlue:blue];
+                              #          if (alpha <= 0.9999) {
+                              #            [result setAlpha:floatWrapperWithValue(alpha)];
+                              #          }
+                              #          [result autorelease];
+                              #          return result;
+                              #     }
+                              #     // ...
+                              #
+                              #  Example (JavaScript):
+                              #
+                              #     // ...
+                              #
+                              #     var protoToCssColor = function(rgb_color) {
+                              #        var redFrac = rgb_color.red || 0.0;
+                              #        var greenFrac = rgb_color.green || 0.0;
+                              #        var blueFrac = rgb_color.blue || 0.0;
+                              #        var red = Math.floor(redFrac * 255);
+                              #        var green = Math.floor(greenFrac * 255);
+                              #        var blue = Math.floor(blueFrac * 255);
+                              #
+                              #        if (!('alpha' in rgb_color)) {
+                              #           return rgbToCssColor_(red, green, blue);
+                              #        }
+                              #
+                              #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                              #        var rgbParams = [red, green, blue].join(',');
+                              #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                              #     };
+                              #
+                              #     var rgbToCssColor_ = function(red, green, blue) {
+                              #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                              #       var hexString = rgbNumber.toString(16);
+                              #       var missingZeros = 6 - hexString.length;
+                              #       var resultBuilder = ['#'];
+                              #       for (var i = 0; i < missingZeros; i++) {
+                              #          resultBuilder.push('0');
+                              #       }
+                              #       resultBuilder.push(hexString);
+                              #       return resultBuilder.join('');
+                              #     };
+                              #
+                              #     // ...
+                            "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                            "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                                # the final pixel color is defined by the equation:
+                                #
+                                #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                                #
+                                # This means that a value of 1.0 corresponds to a solid color, whereas
+                                # a value of 0.0 corresponds to a completely transparent color. This
+                                # uses a wrapper message rather than a simple float scalar so that it is
+                                # possible to distinguish between a default value and the value being unset.
+                                # If omitted, this color object is to be rendered as a solid color
+                                # (as if the alpha value had been explicitly given with a value of 1.0).
+                            "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          },
+                          "width": 42, # The width of the border, in pixels.
+                              # Border widths must be between 0 and 3 pixels.
+                          "style": "A String", # The style of the border.
+                        },
+                      },
+                      "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
+                    },
+                    "dataValidation": { # A data validation rule. # A data validation rule on the cell, if any.
+                        #
+                        # When writing, the new data validation rule will overwrite any prior rule.
+                      "showCustomUi": True or False, # True if the UI should be customized based on the kind of condition.
+                          # If true, "List" conditions will show a dropdown.
+                      "strict": True or False, # True if invalid data should be rejected.
+                      "inputMessage": "A String", # A message to show the user when adding data to the cell.
+                      "condition": { # A condition that can evaluate to true or false. # The condition that data in the cell must match.
+                          # BooleanConditions are used by conditional formatting,
+                          # data validation, and the criteria in filters.
+                        "type": "A String", # The type of condition.
+                        "values": [ # The values of the condition. The number of supported values depends
+                            # on the condition type.  Some support zero values,
+                            # others one or two values,
+                            # and ConditionType.ONE_OF_LIST supports an arbitrary number of values.
+                          { # The value of the condition.
+                            "relativeDate": "A String", # A relative date (based on the current date).
+                                # Valid only if the type is
+                                # DATE_BEFORE,
+                                # DATE_AFTER,
+                                # DATE_ON_OR_BEFORE or
+                                # DATE_ON_OR_AFTER.
+                                #
+                                # Relative dates are not supported in data validation.
+                                # They are supported only in conditional formatting and
+                                # conditional filters.
+                            "userEnteredValue": "A String", # A value the condition is based on.
+                                # The value will be parsed as if the user typed into a cell.
+                                # Formulas are supported (and must begin with an `=`).
+                          },
+                        ],
+                      },
+                    },
+                    "textFormatRuns": [ # Runs of rich text applied to subsections of the cell.
+                        # Runs start at specific indexes in the text and continue until the next
+                        # run. Properties of a run will continue unless explicitly changed
+                        # in a subsequent run (and properties of the first run will continue
+                        # the properties of the cell unless explicitly changed).
+                        #
+                        # When writing, the new runs will overwrite any prior runs.
+                      { # A run of a text format. The format of this run continues until explicitly
+                          # overridden in the next run.
+                          # When updating, all fields must be set.
+                        "startIndex": 42, # The character index where this run starts.
+                        "format": { # The format of a run of text in a cell. # The format of this run.  Absent values inherit the cell's format.
+                            # Absent values indicate that the field isn't specified.
+                          "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
+                              # for simplicity of conversion to/from color representations in various
+                              # languages over compactness; for example, the fields of this representation
+                              # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                              # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                              # method in iOS; and, with just a little work, it can be easily formatted into
+                              # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                              #
+                              # Example (Java):
+                              #
+                              #      import com.google.type.Color;
+                              #
+                              #      // ...
+                              #      public static java.awt.Color fromProto(Color protocolor) {
+                              #        float alpha = protocolor.hasAlpha()
+                              #            ? protocolor.getAlpha().getValue()
+                              #            : 1.0;
+                              #
+                              #        return new java.awt.Color(
+                              #            protocolor.getRed(),
+                              #            protocolor.getGreen(),
+                              #            protocolor.getBlue(),
+                              #            alpha);
+                              #      }
+                              #
+                              #      public static Color toProto(java.awt.Color color) {
+                              #        float red = (float) color.getRed();
+                              #        float green = (float) color.getGreen();
+                              #        float blue = (float) color.getBlue();
+                              #        float denominator = 255.0;
+                              #        Color.Builder resultBuilder =
+                              #            Color
+                              #                .newBuilder()
+                              #                .setRed(red / denominator)
+                              #                .setGreen(green / denominator)
+                              #                .setBlue(blue / denominator);
+                              #        int alpha = color.getAlpha();
+                              #        if (alpha != 255) {
+                              #          result.setAlpha(
+                              #              FloatValue
+                              #                  .newBuilder()
+                              #                  .setValue(((float) alpha) / denominator)
+                              #                  .build());
+                              #        }
+                              #        return resultBuilder.build();
+                              #      }
+                              #      // ...
+                              #
+                              # Example (iOS / Obj-C):
+                              #
+                              #      // ...
+                              #      static UIColor* fromProto(Color* protocolor) {
+                              #         float red = [protocolor red];
+                              #         float green = [protocolor green];
+                              #         float blue = [protocolor blue];
+                              #         FloatValue* alpha_wrapper = [protocolor alpha];
+                              #         float alpha = 1.0;
+                              #         if (alpha_wrapper != nil) {
+                              #           alpha = [alpha_wrapper value];
+                              #         }
+                              #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                              #      }
+                              #
+                              #      static Color* toProto(UIColor* color) {
+                              #          CGFloat red, green, blue, alpha;
+                              #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                              #            return nil;
+                              #          }
+                              #          Color* result = [Color alloc] init];
+                              #          [result setRed:red];
+                              #          [result setGreen:green];
+                              #          [result setBlue:blue];
+                              #          if (alpha <= 0.9999) {
+                              #            [result setAlpha:floatWrapperWithValue(alpha)];
+                              #          }
+                              #          [result autorelease];
+                              #          return result;
+                              #     }
+                              #     // ...
+                              #
+                              #  Example (JavaScript):
+                              #
+                              #     // ...
+                              #
+                              #     var protoToCssColor = function(rgb_color) {
+                              #        var redFrac = rgb_color.red || 0.0;
+                              #        var greenFrac = rgb_color.green || 0.0;
+                              #        var blueFrac = rgb_color.blue || 0.0;
+                              #        var red = Math.floor(redFrac * 255);
+                              #        var green = Math.floor(greenFrac * 255);
+                              #        var blue = Math.floor(blueFrac * 255);
+                              #
+                              #        if (!('alpha' in rgb_color)) {
+                              #           return rgbToCssColor_(red, green, blue);
+                              #        }
+                              #
+                              #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                              #        var rgbParams = [red, green, blue].join(',');
+                              #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                              #     };
+                              #
+                              #     var rgbToCssColor_ = function(red, green, blue) {
+                              #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                              #       var hexString = rgbNumber.toString(16);
+                              #       var missingZeros = 6 - hexString.length;
+                              #       var resultBuilder = ['#'];
+                              #       for (var i = 0; i < missingZeros; i++) {
+                              #          resultBuilder.push('0');
+                              #       }
+                              #       resultBuilder.push(hexString);
+                              #       return resultBuilder.join('');
+                              #     };
+                              #
+                              #     // ...
+                            "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                            "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                                # the final pixel color is defined by the equation:
+                                #
+                                #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                                #
+                                # This means that a value of 1.0 corresponds to a solid color, whereas
+                                # a value of 0.0 corresponds to a completely transparent color. This
+                                # uses a wrapper message rather than a simple float scalar so that it is
+                                # possible to distinguish between a default value and the value being unset.
+                                # If omitted, this color object is to be rendered as a solid color
+                                # (as if the alpha value had been explicitly given with a value of 1.0).
+                            "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          },
+                          "bold": True or False, # True if the text is bold.
+                          "strikethrough": True or False, # True if the text has a strikethrough.
+                          "fontFamily": "A String", # The font family.
+                          "fontSize": 42, # The size of the font.
+                          "italic": True or False, # True if the text is italicized.
+                          "underline": True or False, # True if the text is underlined.
+                        },
+                      },
+                    ],
+                  },
+                ],
+              },
+            ],
+          },
+        ],
+        "properties": { # Properties of a sheet. # The properties of the sheet.
+          "sheetType": "A String", # The type of sheet. Defaults to GRID.
+              # This field cannot be changed once set.
+          "index": 42, # The index of the sheet within the spreadsheet.
+              # When adding or updating sheet properties, if this field
+              # is excluded then the sheet will be added or moved to the end
+              # of the sheet list.
+          "title": "A String", # The name of the sheet.
+          "gridProperties": { # Properties of a grid. # Additional properties of the sheet if this sheet is a grid.
+              # (If the sheet is an object sheet, containing a chart or image, then
+              # this field will be absent.)
+              # When writing it is an error to set any grid properties on non-grid sheets.
+            "columnCount": 42, # The number of columns in the grid.
+            "rowCount": 42, # The number of rows in the grid.
+            "frozenColumnCount": 42, # The number of columns that are frozen in the grid.
+            "hideGridlines": True or False, # True if the grid isn't showing gridlines in the UI.
+            "frozenRowCount": 42, # The number of rows that are frozen in the grid.
+          },
+          "rightToLeft": True or False, # True if the sheet is an RTL sheet instead of an LTR sheet.
+          "tabColor": { # Represents a color in the RGBA color space. This representation is designed # The color of the tab in the UI.
+              # for simplicity of conversion to/from color representations in various
+              # languages over compactness; for example, the fields of this representation
+              # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+              # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+              # method in iOS; and, with just a little work, it can be easily formatted into
+              # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+              #
+              # Example (Java):
+              #
+              #      import com.google.type.Color;
+              #
+              #      // ...
+              #      public static java.awt.Color fromProto(Color protocolor) {
+              #        float alpha = protocolor.hasAlpha()
+              #            ? protocolor.getAlpha().getValue()
+              #            : 1.0;
+              #
+              #        return new java.awt.Color(
+              #            protocolor.getRed(),
+              #            protocolor.getGreen(),
+              #            protocolor.getBlue(),
+              #            alpha);
+              #      }
+              #
+              #      public static Color toProto(java.awt.Color color) {
+              #        float red = (float) color.getRed();
+              #        float green = (float) color.getGreen();
+              #        float blue = (float) color.getBlue();
+              #        float denominator = 255.0;
+              #        Color.Builder resultBuilder =
+              #            Color
+              #                .newBuilder()
+              #                .setRed(red / denominator)
+              #                .setGreen(green / denominator)
+              #                .setBlue(blue / denominator);
+              #        int alpha = color.getAlpha();
+              #        if (alpha != 255) {
+              #          result.setAlpha(
+              #              FloatValue
+              #                  .newBuilder()
+              #                  .setValue(((float) alpha) / denominator)
+              #                  .build());
+              #        }
+              #        return resultBuilder.build();
+              #      }
+              #      // ...
+              #
+              # Example (iOS / Obj-C):
+              #
+              #      // ...
+              #      static UIColor* fromProto(Color* protocolor) {
+              #         float red = [protocolor red];
+              #         float green = [protocolor green];
+              #         float blue = [protocolor blue];
+              #         FloatValue* alpha_wrapper = [protocolor alpha];
+              #         float alpha = 1.0;
+              #         if (alpha_wrapper != nil) {
+              #           alpha = [alpha_wrapper value];
+              #         }
+              #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+              #      }
+              #
+              #      static Color* toProto(UIColor* color) {
+              #          CGFloat red, green, blue, alpha;
+              #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+              #            return nil;
+              #          }
+              #          Color* result = [Color alloc] init];
+              #          [result setRed:red];
+              #          [result setGreen:green];
+              #          [result setBlue:blue];
+              #          if (alpha <= 0.9999) {
+              #            [result setAlpha:floatWrapperWithValue(alpha)];
+              #          }
+              #          [result autorelease];
+              #          return result;
+              #     }
+              #     // ...
+              #
+              #  Example (JavaScript):
+              #
+              #     // ...
+              #
+              #     var protoToCssColor = function(rgb_color) {
+              #        var redFrac = rgb_color.red || 0.0;
+              #        var greenFrac = rgb_color.green || 0.0;
+              #        var blueFrac = rgb_color.blue || 0.0;
+              #        var red = Math.floor(redFrac * 255);
+              #        var green = Math.floor(greenFrac * 255);
+              #        var blue = Math.floor(blueFrac * 255);
+              #
+              #        if (!('alpha' in rgb_color)) {
+              #           return rgbToCssColor_(red, green, blue);
+              #        }
+              #
+              #        var alphaFrac = rgb_color.alpha.value || 0.0;
+              #        var rgbParams = [red, green, blue].join(',');
+              #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+              #     };
+              #
+              #     var rgbToCssColor_ = function(red, green, blue) {
+              #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+              #       var hexString = rgbNumber.toString(16);
+              #       var missingZeros = 6 - hexString.length;
+              #       var resultBuilder = ['#'];
+              #       for (var i = 0; i < missingZeros; i++) {
+              #          resultBuilder.push('0');
+              #       }
+              #       resultBuilder.push(hexString);
+              #       return resultBuilder.join('');
+              #     };
+              #
+              #     // ...
+            "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+            "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                # the final pixel color is defined by the equation:
+                #
+                #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                #
+                # This means that a value of 1.0 corresponds to a solid color, whereas
+                # a value of 0.0 corresponds to a completely transparent color. This
+                # uses a wrapper message rather than a simple float scalar so that it is
+                # possible to distinguish between a default value and the value being unset.
+                # If omitted, this color object is to be rendered as a solid color
+                # (as if the alpha value had been explicitly given with a value of 1.0).
+            "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+            "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+          },
+          "hidden": True or False, # True if the sheet is hidden in the UI, false if it's visible.
+          "sheetId": 42, # The ID of the sheet. Must be non-negative.
+              # This field cannot be changed once set.
+        },
+      },
+    ],
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Resource that represents a spreadsheet.
+      "spreadsheetId": "A String", # The ID of the spreadsheet.
+          # This field is read-only.
+      "namedRanges": [ # The named ranges defined in a spreadsheet.
+        { # A named range.
+          "namedRangeId": "A String", # The ID of the named range.
+          "range": { # A range on a sheet. # The range this represents.
+              # All indexes are zero-based.
+              # Indexes are half open, e.g the start index is inclusive
+              # and the end index is exclusive -- [start_index, end_index).
+              # Missing indexes indicate the range is unbounded on that side.
+              #
+              # For example, if "Sheet1" is grid ID 0, then:
+              #
+              #   Sheet1!A1:A1 == sheet_id: 0,
+              #                   start_row_index: 0, end_row_index: 1,
+              #                   start_column_index: 0, end_column_index: 1
+              #
+              #   Sheet1!A3:B4 == sheet_id: 0,
+              #                   start_row_index: 2, end_row_index: 4,
+              #                   start_column_index: 0, end_column_index: 2
+              #
+              #   Sheet1!A:B == sheet_id: 0,
+              #                 start_column_index: 0, end_column_index: 2
+              #
+              #   Sheet1!A5:B == sheet_id: 0,
+              #                  start_row_index: 4,
+              #                  start_column_index: 0, end_column_index: 2
+              #
+              #   Sheet1 == sheet_id:0
+              #
+              # The start index must always be less than or equal to the end index.
+              # If the start index equals the end index, then the range is empty.
+              # Empty ranges are typically not meaningful and are usually rendered in the
+              # UI as `#REF!`.
+            "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+            "sheetId": 42, # The sheet this range is on.
+            "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+          },
+          "name": "A String", # The name of the named range.
+        },
+      ],
+      "properties": { # Properties of a spreadsheet. # Overall properties of a spreadsheet.
+        "locale": "A String", # The locale of the spreadsheet in one of the following formats:
+            # * an ISO 639-1 language code such as `en`
+            # * an ISO 639-2 language code such as `fil`, if no 639-1 code exists
+            # * a combination of the ISO language code and country code, such as `en_US`
+            # Note: when updating this field, not all locales/languages are supported.
+        "timeZone": "A String", # The time zone of the spreadsheet, in CLDR format such as
+            # `America/New_York`. If the time zone isn't recognized, this may
+            # be a custom time zone such as `GMT-07:00`.
+        "autoRecalc": "A String", # The amount of time to wait before volatile functions are recalculated.
+        "defaultFormat": { # The format of a cell. # The default format of all cells in the spreadsheet.
+            # CellData.effectiveFormat will not be set if the cell's format is equal
+            # to this default format.
+            # This field is read-only.
+          "numberFormat": { # The number format of a cell. # A format describing how number values should be represented to the user.
+              # When updating, all fields must be set.
+            "pattern": "A String", # Pattern string used for formatting.
+            "type": "A String", # The type of the number format.
+          },
+          "textDirection": "A String", # The direction of the text in the cell.
+          "padding": { # The amount of padding around the cell, in pixels. # The padding of the cell.
+              # When updating padding, every field must be specified.
+            "top": 42, # The top padding of the cell.
+            "right": 42, # The right padding of the cell.
+            "bottom": 42, # The bottom padding of the cell.
+            "left": 42, # The left padding of the cell.
+          },
+          "horizontalAlignment": "A String", # The horizontal alignment of the value in cell.
+          "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
+              # for simplicity of conversion to/from color representations in various
+              # languages over compactness; for example, the fields of this representation
+              # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+              # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+              # method in iOS; and, with just a little work, it can be easily formatted into
+              # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+              #
+              # Example (Java):
+              #
+              #      import com.google.type.Color;
+              #
+              #      // ...
+              #      public static java.awt.Color fromProto(Color protocolor) {
+              #        float alpha = protocolor.hasAlpha()
+              #            ? protocolor.getAlpha().getValue()
+              #            : 1.0;
+              #
+              #        return new java.awt.Color(
+              #            protocolor.getRed(),
+              #            protocolor.getGreen(),
+              #            protocolor.getBlue(),
+              #            alpha);
+              #      }
+              #
+              #      public static Color toProto(java.awt.Color color) {
+              #        float red = (float) color.getRed();
+              #        float green = (float) color.getGreen();
+              #        float blue = (float) color.getBlue();
+              #        float denominator = 255.0;
+              #        Color.Builder resultBuilder =
+              #            Color
+              #                .newBuilder()
+              #                .setRed(red / denominator)
+              #                .setGreen(green / denominator)
+              #                .setBlue(blue / denominator);
+              #        int alpha = color.getAlpha();
+              #        if (alpha != 255) {
+              #          result.setAlpha(
+              #              FloatValue
+              #                  .newBuilder()
+              #                  .setValue(((float) alpha) / denominator)
+              #                  .build());
+              #        }
+              #        return resultBuilder.build();
+              #      }
+              #      // ...
+              #
+              # Example (iOS / Obj-C):
+              #
+              #      // ...
+              #      static UIColor* fromProto(Color* protocolor) {
+              #         float red = [protocolor red];
+              #         float green = [protocolor green];
+              #         float blue = [protocolor blue];
+              #         FloatValue* alpha_wrapper = [protocolor alpha];
+              #         float alpha = 1.0;
+              #         if (alpha_wrapper != nil) {
+              #           alpha = [alpha_wrapper value];
+              #         }
+              #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+              #      }
+              #
+              #      static Color* toProto(UIColor* color) {
+              #          CGFloat red, green, blue, alpha;
+              #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+              #            return nil;
+              #          }
+              #          Color* result = [Color alloc] init];
+              #          [result setRed:red];
+              #          [result setGreen:green];
+              #          [result setBlue:blue];
+              #          if (alpha <= 0.9999) {
+              #            [result setAlpha:floatWrapperWithValue(alpha)];
+              #          }
+              #          [result autorelease];
+              #          return result;
+              #     }
+              #     // ...
+              #
+              #  Example (JavaScript):
+              #
+              #     // ...
+              #
+              #     var protoToCssColor = function(rgb_color) {
+              #        var redFrac = rgb_color.red || 0.0;
+              #        var greenFrac = rgb_color.green || 0.0;
+              #        var blueFrac = rgb_color.blue || 0.0;
+              #        var red = Math.floor(redFrac * 255);
+              #        var green = Math.floor(greenFrac * 255);
+              #        var blue = Math.floor(blueFrac * 255);
+              #
+              #        if (!('alpha' in rgb_color)) {
+              #           return rgbToCssColor_(red, green, blue);
+              #        }
+              #
+              #        var alphaFrac = rgb_color.alpha.value || 0.0;
+              #        var rgbParams = [red, green, blue].join(',');
+              #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+              #     };
+              #
+              #     var rgbToCssColor_ = function(red, green, blue) {
+              #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+              #       var hexString = rgbNumber.toString(16);
+              #       var missingZeros = 6 - hexString.length;
+              #       var resultBuilder = ['#'];
+              #       for (var i = 0; i < missingZeros; i++) {
+              #          resultBuilder.push('0');
+              #       }
+              #       resultBuilder.push(hexString);
+              #       return resultBuilder.join('');
+              #     };
+              #
+              #     // ...
+            "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+            "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                # the final pixel color is defined by the equation:
+                #
+                #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                #
+                # This means that a value of 1.0 corresponds to a solid color, whereas
+                # a value of 0.0 corresponds to a completely transparent color. This
+                # uses a wrapper message rather than a simple float scalar so that it is
+                # possible to distinguish between a default value and the value being unset.
+                # If omitted, this color object is to be rendered as a solid color
+                # (as if the alpha value had been explicitly given with a value of 1.0).
+            "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+            "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+          },
+          "verticalAlignment": "A String", # The vertical alignment of the value in cell.
+          "textFormat": { # The format of a run of text in a cell. # The format of the text in the cell (unless overridden by a format run).
+              # Absent values indicate that the field isn't specified.
+            "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
+                # for simplicity of conversion to/from color representations in various
+                # languages over compactness; for example, the fields of this representation
+                # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                # method in iOS; and, with just a little work, it can be easily formatted into
+                # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                #
+                # Example (Java):
+                #
+                #      import com.google.type.Color;
+                #
+                #      // ...
+                #      public static java.awt.Color fromProto(Color protocolor) {
+                #        float alpha = protocolor.hasAlpha()
+                #            ? protocolor.getAlpha().getValue()
+                #            : 1.0;
+                #
+                #        return new java.awt.Color(
+                #            protocolor.getRed(),
+                #            protocolor.getGreen(),
+                #            protocolor.getBlue(),
+                #            alpha);
+                #      }
+                #
+                #      public static Color toProto(java.awt.Color color) {
+                #        float red = (float) color.getRed();
+                #        float green = (float) color.getGreen();
+                #        float blue = (float) color.getBlue();
+                #        float denominator = 255.0;
+                #        Color.Builder resultBuilder =
+                #            Color
+                #                .newBuilder()
+                #                .setRed(red / denominator)
+                #                .setGreen(green / denominator)
+                #                .setBlue(blue / denominator);
+                #        int alpha = color.getAlpha();
+                #        if (alpha != 255) {
+                #          result.setAlpha(
+                #              FloatValue
+                #                  .newBuilder()
+                #                  .setValue(((float) alpha) / denominator)
+                #                  .build());
+                #        }
+                #        return resultBuilder.build();
+                #      }
+                #      // ...
+                #
+                # Example (iOS / Obj-C):
+                #
+                #      // ...
+                #      static UIColor* fromProto(Color* protocolor) {
+                #         float red = [protocolor red];
+                #         float green = [protocolor green];
+                #         float blue = [protocolor blue];
+                #         FloatValue* alpha_wrapper = [protocolor alpha];
+                #         float alpha = 1.0;
+                #         if (alpha_wrapper != nil) {
+                #           alpha = [alpha_wrapper value];
+                #         }
+                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                #      }
+                #
+                #      static Color* toProto(UIColor* color) {
+                #          CGFloat red, green, blue, alpha;
+                #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                #            return nil;
+                #          }
+                #          Color* result = [Color alloc] init];
+                #          [result setRed:red];
+                #          [result setGreen:green];
+                #          [result setBlue:blue];
+                #          if (alpha <= 0.9999) {
+                #            [result setAlpha:floatWrapperWithValue(alpha)];
+                #          }
+                #          [result autorelease];
+                #          return result;
+                #     }
+                #     // ...
+                #
+                #  Example (JavaScript):
+                #
+                #     // ...
+                #
+                #     var protoToCssColor = function(rgb_color) {
+                #        var redFrac = rgb_color.red || 0.0;
+                #        var greenFrac = rgb_color.green || 0.0;
+                #        var blueFrac = rgb_color.blue || 0.0;
+                #        var red = Math.floor(redFrac * 255);
+                #        var green = Math.floor(greenFrac * 255);
+                #        var blue = Math.floor(blueFrac * 255);
+                #
+                #        if (!('alpha' in rgb_color)) {
+                #           return rgbToCssColor_(red, green, blue);
+                #        }
+                #
+                #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                #        var rgbParams = [red, green, blue].join(',');
+                #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                #     };
+                #
+                #     var rgbToCssColor_ = function(red, green, blue) {
+                #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                #       var hexString = rgbNumber.toString(16);
+                #       var missingZeros = 6 - hexString.length;
+                #       var resultBuilder = ['#'];
+                #       for (var i = 0; i < missingZeros; i++) {
+                #          resultBuilder.push('0');
+                #       }
+                #       resultBuilder.push(hexString);
+                #       return resultBuilder.join('');
+                #     };
+                #
+                #     // ...
+              "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+              "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                  # the final pixel color is defined by the equation:
+                  #
+                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                  #
+                  # This means that a value of 1.0 corresponds to a solid color, whereas
+                  # a value of 0.0 corresponds to a completely transparent color. This
+                  # uses a wrapper message rather than a simple float scalar so that it is
+                  # possible to distinguish between a default value and the value being unset.
+                  # If omitted, this color object is to be rendered as a solid color
+                  # (as if the alpha value had been explicitly given with a value of 1.0).
+              "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+            },
+            "bold": True or False, # True if the text is bold.
+            "strikethrough": True or False, # True if the text has a strikethrough.
+            "fontFamily": "A String", # The font family.
+            "fontSize": 42, # The size of the font.
+            "italic": True or False, # True if the text is italicized.
+            "underline": True or False, # True if the text is underlined.
+          },
+          "hyperlinkDisplayType": "A String", # How a hyperlink, if it exists, should be displayed in the cell.
+          "borders": { # The borders of the cell. # The borders of the cell.
+            "top": { # A border along a cell. # The top border of the cell.
+              "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                  # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha <= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!('alpha' in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(',');
+                  #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = ['#'];
+                  #       for (var i = 0; i < missingZeros; i++) {
+                  #          resultBuilder.push('0');
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join('');
+                  #     };
+                  #
+                  #     // ...
+                "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+                "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              },
+              "width": 42, # The width of the border, in pixels.
+                  # Border widths must be between 0 and 3 pixels.
+              "style": "A String", # The style of the border.
+            },
+            "right": { # A border along a cell. # The right border of the cell.
+              "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                  # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha <= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!('alpha' in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(',');
+                  #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = ['#'];
+                  #       for (var i = 0; i < missingZeros; i++) {
+                  #          resultBuilder.push('0');
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join('');
+                  #     };
+                  #
+                  #     // ...
+                "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+                "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              },
+              "width": 42, # The width of the border, in pixels.
+                  # Border widths must be between 0 and 3 pixels.
+              "style": "A String", # The style of the border.
+            },
+            "bottom": { # A border along a cell. # The bottom border of the cell.
+              "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                  # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha <= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!('alpha' in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(',');
+                  #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = ['#'];
+                  #       for (var i = 0; i < missingZeros; i++) {
+                  #          resultBuilder.push('0');
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join('');
+                  #     };
+                  #
+                  #     // ...
+                "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+                "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              },
+              "width": 42, # The width of the border, in pixels.
+                  # Border widths must be between 0 and 3 pixels.
+              "style": "A String", # The style of the border.
+            },
+            "left": { # A border along a cell. # The left border of the cell.
+              "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                  # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha <= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!('alpha' in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(',');
+                  #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = ['#'];
+                  #       for (var i = 0; i < missingZeros; i++) {
+                  #          resultBuilder.push('0');
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join('');
+                  #     };
+                  #
+                  #     // ...
+                "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+                "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              },
+              "width": 42, # The width of the border, in pixels.
+                  # Border widths must be between 0 and 3 pixels.
+              "style": "A String", # The style of the border.
+            },
+          },
+          "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
+        },
+        "title": "A String", # The title of the spreadsheet.
+      },
+      "sheets": [ # The sheets that are part of a spreadsheet.
+        { # A sheet in a spreadsheet.
+          "conditionalFormats": [ # The conditional format rules in this sheet.
+            { # A rule describing a conditional format.
+              "ranges": [ # The ranges that will be formatted if the condition is true.
+                  # All the ranges must be on the same grid.
+                { # A range on a sheet.
+                    # All indexes are zero-based.
+                    # Indexes are half open, e.g the start index is inclusive
+                    # and the end index is exclusive -- [start_index, end_index).
+                    # Missing indexes indicate the range is unbounded on that side.
+                    #
+                    # For example, if "Sheet1" is grid ID 0, then:
+                    #
+                    #   Sheet1!A1:A1 == sheet_id: 0,
+                    #                   start_row_index: 0, end_row_index: 1,
+                    #                   start_column_index: 0, end_column_index: 1
+                    #
+                    #   Sheet1!A3:B4 == sheet_id: 0,
+                    #                   start_row_index: 2, end_row_index: 4,
+                    #                   start_column_index: 0, end_column_index: 2
+                    #
+                    #   Sheet1!A:B == sheet_id: 0,
+                    #                 start_column_index: 0, end_column_index: 2
+                    #
+                    #   Sheet1!A5:B == sheet_id: 0,
+                    #                  start_row_index: 4,
+                    #                  start_column_index: 0, end_column_index: 2
+                    #
+                    #   Sheet1 == sheet_id:0
+                    #
+                    # The start index must always be less than or equal to the end index.
+                    # If the start index equals the end index, then the range is empty.
+                    # Empty ranges are typically not meaningful and are usually rendered in the
+                    # UI as `#REF!`.
+                  "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+                  "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                  "sheetId": 42, # The sheet this range is on.
+                  "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+                  "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                },
+              ],
+              "booleanRule": { # A rule that may or may not match, depending on the condition. # The formatting is either "on" or "off" according to the rule.
+                "condition": { # A condition that can evaluate to true or false. # The condition of the rule. If the condition evaluates to true,
+                    # the format will be applied.
+                    # BooleanConditions are used by conditional formatting,
+                    # data validation, and the criteria in filters.
+                  "type": "A String", # The type of condition.
+                  "values": [ # The values of the condition. The number of supported values depends
+                      # on the condition type.  Some support zero values,
+                      # others one or two values,
+                      # and ConditionType.ONE_OF_LIST supports an arbitrary number of values.
+                    { # The value of the condition.
+                      "relativeDate": "A String", # A relative date (based on the current date).
+                          # Valid only if the type is
+                          # DATE_BEFORE,
+                          # DATE_AFTER,
+                          # DATE_ON_OR_BEFORE or
+                          # DATE_ON_OR_AFTER.
+                          #
+                          # Relative dates are not supported in data validation.
+                          # They are supported only in conditional formatting and
+                          # conditional filters.
+                      "userEnteredValue": "A String", # A value the condition is based on.
+                          # The value will be parsed as if the user typed into a cell.
+                          # Formulas are supported (and must begin with an `=`).
+                    },
+                  ],
+                },
+                "format": { # The format of a cell. # The format to apply.
+                    # Conditional formatting can only apply a subset of formatting:
+                    # bold, italic,
+                    # strikethrough,
+                    # foreground color &
+                    # background color.
+                  "numberFormat": { # The number format of a cell. # A format describing how number values should be represented to the user.
+                      # When updating, all fields must be set.
+                    "pattern": "A String", # Pattern string used for formatting.
+                    "type": "A String", # The type of the number format.
+                  },
+                  "textDirection": "A String", # The direction of the text in the cell.
+                  "padding": { # The amount of padding around the cell, in pixels. # The padding of the cell.
+                      # When updating padding, every field must be specified.
+                    "top": 42, # The top padding of the cell.
+                    "right": 42, # The right padding of the cell.
+                    "bottom": 42, # The bottom padding of the cell.
+                    "left": 42, # The left padding of the cell.
+                  },
+                  "horizontalAlignment": "A String", # The horizontal alignment of the value in cell.
+                  "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                      # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha <= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!('alpha' in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(',');
+                      #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = ['#'];
+                      #       for (var i = 0; i < missingZeros; i++) {
+                      #          resultBuilder.push('0');
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join('');
+                      #     };
+                      #
+                      #     // ...
+                    "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                    "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  },
+                  "verticalAlignment": "A String", # The vertical alignment of the value in cell.
+                  "textFormat": { # The format of a run of text in a cell. # The format of the text in the cell (unless overridden by a format run).
+                      # Absent values indicate that the field isn't specified.
+                    "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                        # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha <= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!('alpha' in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(',');
+                        #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = ['#'];
+                        #       for (var i = 0; i < missingZeros; i++) {
+                        #          resultBuilder.push('0');
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join('');
+                        #     };
+                        #
+                        #     // ...
+                      "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                      "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    },
+                    "bold": True or False, # True if the text is bold.
+                    "strikethrough": True or False, # True if the text has a strikethrough.
+                    "fontFamily": "A String", # The font family.
+                    "fontSize": 42, # The size of the font.
+                    "italic": True or False, # True if the text is italicized.
+                    "underline": True or False, # True if the text is underlined.
+                  },
+                  "hyperlinkDisplayType": "A String", # How a hyperlink, if it exists, should be displayed in the cell.
+                  "borders": { # The borders of the cell. # The borders of the cell.
+                    "top": { # A border along a cell. # The top border of the cell.
+                      "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                          # for simplicity of conversion to/from color representations in various
+                          # languages over compactness; for example, the fields of this representation
+                          # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                          # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                          # method in iOS; and, with just a little work, it can be easily formatted into
+                          # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                          #
+                          # Example (Java):
+                          #
+                          #      import com.google.type.Color;
+                          #
+                          #      // ...
+                          #      public static java.awt.Color fromProto(Color protocolor) {
+                          #        float alpha = protocolor.hasAlpha()
+                          #            ? protocolor.getAlpha().getValue()
+                          #            : 1.0;
+                          #
+                          #        return new java.awt.Color(
+                          #            protocolor.getRed(),
+                          #            protocolor.getGreen(),
+                          #            protocolor.getBlue(),
+                          #            alpha);
+                          #      }
+                          #
+                          #      public static Color toProto(java.awt.Color color) {
+                          #        float red = (float) color.getRed();
+                          #        float green = (float) color.getGreen();
+                          #        float blue = (float) color.getBlue();
+                          #        float denominator = 255.0;
+                          #        Color.Builder resultBuilder =
+                          #            Color
+                          #                .newBuilder()
+                          #                .setRed(red / denominator)
+                          #                .setGreen(green / denominator)
+                          #                .setBlue(blue / denominator);
+                          #        int alpha = color.getAlpha();
+                          #        if (alpha != 255) {
+                          #          result.setAlpha(
+                          #              FloatValue
+                          #                  .newBuilder()
+                          #                  .setValue(((float) alpha) / denominator)
+                          #                  .build());
+                          #        }
+                          #        return resultBuilder.build();
+                          #      }
+                          #      // ...
+                          #
+                          # Example (iOS / Obj-C):
+                          #
+                          #      // ...
+                          #      static UIColor* fromProto(Color* protocolor) {
+                          #         float red = [protocolor red];
+                          #         float green = [protocolor green];
+                          #         float blue = [protocolor blue];
+                          #         FloatValue* alpha_wrapper = [protocolor alpha];
+                          #         float alpha = 1.0;
+                          #         if (alpha_wrapper != nil) {
+                          #           alpha = [alpha_wrapper value];
+                          #         }
+                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                          #      }
+                          #
+                          #      static Color* toProto(UIColor* color) {
+                          #          CGFloat red, green, blue, alpha;
+                          #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                          #            return nil;
+                          #          }
+                          #          Color* result = [Color alloc] init];
+                          #          [result setRed:red];
+                          #          [result setGreen:green];
+                          #          [result setBlue:blue];
+                          #          if (alpha <= 0.9999) {
+                          #            [result setAlpha:floatWrapperWithValue(alpha)];
+                          #          }
+                          #          [result autorelease];
+                          #          return result;
+                          #     }
+                          #     // ...
+                          #
+                          #  Example (JavaScript):
+                          #
+                          #     // ...
+                          #
+                          #     var protoToCssColor = function(rgb_color) {
+                          #        var redFrac = rgb_color.red || 0.0;
+                          #        var greenFrac = rgb_color.green || 0.0;
+                          #        var blueFrac = rgb_color.blue || 0.0;
+                          #        var red = Math.floor(redFrac * 255);
+                          #        var green = Math.floor(greenFrac * 255);
+                          #        var blue = Math.floor(blueFrac * 255);
+                          #
+                          #        if (!('alpha' in rgb_color)) {
+                          #           return rgbToCssColor_(red, green, blue);
+                          #        }
+                          #
+                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                          #        var rgbParams = [red, green, blue].join(',');
+                          #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                          #     };
+                          #
+                          #     var rgbToCssColor_ = function(red, green, blue) {
+                          #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                          #       var hexString = rgbNumber.toString(16);
+                          #       var missingZeros = 6 - hexString.length;
+                          #       var resultBuilder = ['#'];
+                          #       for (var i = 0; i < missingZeros; i++) {
+                          #          resultBuilder.push('0');
+                          #       }
+                          #       resultBuilder.push(hexString);
+                          #       return resultBuilder.join('');
+                          #     };
+                          #
+                          #     // ...
+                        "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                        "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                            # the final pixel color is defined by the equation:
+                            #
+                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                            #
+                            # This means that a value of 1.0 corresponds to a solid color, whereas
+                            # a value of 0.0 corresponds to a completely transparent color. This
+                            # uses a wrapper message rather than a simple float scalar so that it is
+                            # possible to distinguish between a default value and the value being unset.
+                            # If omitted, this color object is to be rendered as a solid color
+                            # (as if the alpha value had been explicitly given with a value of 1.0).
+                        "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      },
+                      "width": 42, # The width of the border, in pixels.
+                          # Border widths must be between 0 and 3 pixels.
+                      "style": "A String", # The style of the border.
+                    },
+                    "right": { # A border along a cell. # The right border of the cell.
+                      "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                          # for simplicity of conversion to/from color representations in various
+                          # languages over compactness; for example, the fields of this representation
+                          # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                          # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                          # method in iOS; and, with just a little work, it can be easily formatted into
+                          # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                          #
+                          # Example (Java):
+                          #
+                          #      import com.google.type.Color;
+                          #
+                          #      // ...
+                          #      public static java.awt.Color fromProto(Color protocolor) {
+                          #        float alpha = protocolor.hasAlpha()
+                          #            ? protocolor.getAlpha().getValue()
+                          #            : 1.0;
+                          #
+                          #        return new java.awt.Color(
+                          #            protocolor.getRed(),
+                          #            protocolor.getGreen(),
+                          #            protocolor.getBlue(),
+                          #            alpha);
+                          #      }
+                          #
+                          #      public static Color toProto(java.awt.Color color) {
+                          #        float red = (float) color.getRed();
+                          #        float green = (float) color.getGreen();
+                          #        float blue = (float) color.getBlue();
+                          #        float denominator = 255.0;
+                          #        Color.Builder resultBuilder =
+                          #            Color
+                          #                .newBuilder()
+                          #                .setRed(red / denominator)
+                          #                .setGreen(green / denominator)
+                          #                .setBlue(blue / denominator);
+                          #        int alpha = color.getAlpha();
+                          #        if (alpha != 255) {
+                          #          result.setAlpha(
+                          #              FloatValue
+                          #                  .newBuilder()
+                          #                  .setValue(((float) alpha) / denominator)
+                          #                  .build());
+                          #        }
+                          #        return resultBuilder.build();
+                          #      }
+                          #      // ...
+                          #
+                          # Example (iOS / Obj-C):
+                          #
+                          #      // ...
+                          #      static UIColor* fromProto(Color* protocolor) {
+                          #         float red = [protocolor red];
+                          #         float green = [protocolor green];
+                          #         float blue = [protocolor blue];
+                          #         FloatValue* alpha_wrapper = [protocolor alpha];
+                          #         float alpha = 1.0;
+                          #         if (alpha_wrapper != nil) {
+                          #           alpha = [alpha_wrapper value];
+                          #         }
+                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                          #      }
+                          #
+                          #      static Color* toProto(UIColor* color) {
+                          #          CGFloat red, green, blue, alpha;
+                          #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                          #            return nil;
+                          #          }
+                          #          Color* result = [Color alloc] init];
+                          #          [result setRed:red];
+                          #          [result setGreen:green];
+                          #          [result setBlue:blue];
+                          #          if (alpha <= 0.9999) {
+                          #            [result setAlpha:floatWrapperWithValue(alpha)];
+                          #          }
+                          #          [result autorelease];
+                          #          return result;
+                          #     }
+                          #     // ...
+                          #
+                          #  Example (JavaScript):
+                          #
+                          #     // ...
+                          #
+                          #     var protoToCssColor = function(rgb_color) {
+                          #        var redFrac = rgb_color.red || 0.0;
+                          #        var greenFrac = rgb_color.green || 0.0;
+                          #        var blueFrac = rgb_color.blue || 0.0;
+                          #        var red = Math.floor(redFrac * 255);
+                          #        var green = Math.floor(greenFrac * 255);
+                          #        var blue = Math.floor(blueFrac * 255);
+                          #
+                          #        if (!('alpha' in rgb_color)) {
+                          #           return rgbToCssColor_(red, green, blue);
+                          #        }
+                          #
+                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                          #        var rgbParams = [red, green, blue].join(',');
+                          #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                          #     };
+                          #
+                          #     var rgbToCssColor_ = function(red, green, blue) {
+                          #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                          #       var hexString = rgbNumber.toString(16);
+                          #       var missingZeros = 6 - hexString.length;
+                          #       var resultBuilder = ['#'];
+                          #       for (var i = 0; i < missingZeros; i++) {
+                          #          resultBuilder.push('0');
+                          #       }
+                          #       resultBuilder.push(hexString);
+                          #       return resultBuilder.join('');
+                          #     };
+                          #
+                          #     // ...
+                        "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                        "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                            # the final pixel color is defined by the equation:
+                            #
+                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                            #
+                            # This means that a value of 1.0 corresponds to a solid color, whereas
+                            # a value of 0.0 corresponds to a completely transparent color. This
+                            # uses a wrapper message rather than a simple float scalar so that it is
+                            # possible to distinguish between a default value and the value being unset.
+                            # If omitted, this color object is to be rendered as a solid color
+                            # (as if the alpha value had been explicitly given with a value of 1.0).
+                        "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      },
+                      "width": 42, # The width of the border, in pixels.
+                          # Border widths must be between 0 and 3 pixels.
+                      "style": "A String", # The style of the border.
+                    },
+                    "bottom": { # A border along a cell. # The bottom border of the cell.
+                      "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                          # for simplicity of conversion to/from color representations in various
+                          # languages over compactness; for example, the fields of this representation
+                          # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                          # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                          # method in iOS; and, with just a little work, it can be easily formatted into
+                          # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                          #
+                          # Example (Java):
+                          #
+                          #      import com.google.type.Color;
+                          #
+                          #      // ...
+                          #      public static java.awt.Color fromProto(Color protocolor) {
+                          #        float alpha = protocolor.hasAlpha()
+                          #            ? protocolor.getAlpha().getValue()
+                          #            : 1.0;
+                          #
+                          #        return new java.awt.Color(
+                          #            protocolor.getRed(),
+                          #            protocolor.getGreen(),
+                          #            protocolor.getBlue(),
+                          #            alpha);
+                          #      }
+                          #
+                          #      public static Color toProto(java.awt.Color color) {
+                          #        float red = (float) color.getRed();
+                          #        float green = (float) color.getGreen();
+                          #        float blue = (float) color.getBlue();
+                          #        float denominator = 255.0;
+                          #        Color.Builder resultBuilder =
+                          #            Color
+                          #                .newBuilder()
+                          #                .setRed(red / denominator)
+                          #                .setGreen(green / denominator)
+                          #                .setBlue(blue / denominator);
+                          #        int alpha = color.getAlpha();
+                          #        if (alpha != 255) {
+                          #          result.setAlpha(
+                          #              FloatValue
+                          #                  .newBuilder()
+                          #                  .setValue(((float) alpha) / denominator)
+                          #                  .build());
+                          #        }
+                          #        return resultBuilder.build();
+                          #      }
+                          #      // ...
+                          #
+                          # Example (iOS / Obj-C):
+                          #
+                          #      // ...
+                          #      static UIColor* fromProto(Color* protocolor) {
+                          #         float red = [protocolor red];
+                          #         float green = [protocolor green];
+                          #         float blue = [protocolor blue];
+                          #         FloatValue* alpha_wrapper = [protocolor alpha];
+                          #         float alpha = 1.0;
+                          #         if (alpha_wrapper != nil) {
+                          #           alpha = [alpha_wrapper value];
+                          #         }
+                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                          #      }
+                          #
+                          #      static Color* toProto(UIColor* color) {
+                          #          CGFloat red, green, blue, alpha;
+                          #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                          #            return nil;
+                          #          }
+                          #          Color* result = [Color alloc] init];
+                          #          [result setRed:red];
+                          #          [result setGreen:green];
+                          #          [result setBlue:blue];
+                          #          if (alpha <= 0.9999) {
+                          #            [result setAlpha:floatWrapperWithValue(alpha)];
+                          #          }
+                          #          [result autorelease];
+                          #          return result;
+                          #     }
+                          #     // ...
+                          #
+                          #  Example (JavaScript):
+                          #
+                          #     // ...
+                          #
+                          #     var protoToCssColor = function(rgb_color) {
+                          #        var redFrac = rgb_color.red || 0.0;
+                          #        var greenFrac = rgb_color.green || 0.0;
+                          #        var blueFrac = rgb_color.blue || 0.0;
+                          #        var red = Math.floor(redFrac * 255);
+                          #        var green = Math.floor(greenFrac * 255);
+                          #        var blue = Math.floor(blueFrac * 255);
+                          #
+                          #        if (!('alpha' in rgb_color)) {
+                          #           return rgbToCssColor_(red, green, blue);
+                          #        }
+                          #
+                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                          #        var rgbParams = [red, green, blue].join(',');
+                          #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                          #     };
+                          #
+                          #     var rgbToCssColor_ = function(red, green, blue) {
+                          #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                          #       var hexString = rgbNumber.toString(16);
+                          #       var missingZeros = 6 - hexString.length;
+                          #       var resultBuilder = ['#'];
+                          #       for (var i = 0; i < missingZeros; i++) {
+                          #          resultBuilder.push('0');
+                          #       }
+                          #       resultBuilder.push(hexString);
+                          #       return resultBuilder.join('');
+                          #     };
+                          #
+                          #     // ...
+                        "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                        "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                            # the final pixel color is defined by the equation:
+                            #
+                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                            #
+                            # This means that a value of 1.0 corresponds to a solid color, whereas
+                            # a value of 0.0 corresponds to a completely transparent color. This
+                            # uses a wrapper message rather than a simple float scalar so that it is
+                            # possible to distinguish between a default value and the value being unset.
+                            # If omitted, this color object is to be rendered as a solid color
+                            # (as if the alpha value had been explicitly given with a value of 1.0).
+                        "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      },
+                      "width": 42, # The width of the border, in pixels.
+                          # Border widths must be between 0 and 3 pixels.
+                      "style": "A String", # The style of the border.
+                    },
+                    "left": { # A border along a cell. # The left border of the cell.
+                      "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                          # for simplicity of conversion to/from color representations in various
+                          # languages over compactness; for example, the fields of this representation
+                          # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                          # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                          # method in iOS; and, with just a little work, it can be easily formatted into
+                          # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                          #
+                          # Example (Java):
+                          #
+                          #      import com.google.type.Color;
+                          #
+                          #      // ...
+                          #      public static java.awt.Color fromProto(Color protocolor) {
+                          #        float alpha = protocolor.hasAlpha()
+                          #            ? protocolor.getAlpha().getValue()
+                          #            : 1.0;
+                          #
+                          #        return new java.awt.Color(
+                          #            protocolor.getRed(),
+                          #            protocolor.getGreen(),
+                          #            protocolor.getBlue(),
+                          #            alpha);
+                          #      }
+                          #
+                          #      public static Color toProto(java.awt.Color color) {
+                          #        float red = (float) color.getRed();
+                          #        float green = (float) color.getGreen();
+                          #        float blue = (float) color.getBlue();
+                          #        float denominator = 255.0;
+                          #        Color.Builder resultBuilder =
+                          #            Color
+                          #                .newBuilder()
+                          #                .setRed(red / denominator)
+                          #                .setGreen(green / denominator)
+                          #                .setBlue(blue / denominator);
+                          #        int alpha = color.getAlpha();
+                          #        if (alpha != 255) {
+                          #          result.setAlpha(
+                          #              FloatValue
+                          #                  .newBuilder()
+                          #                  .setValue(((float) alpha) / denominator)
+                          #                  .build());
+                          #        }
+                          #        return resultBuilder.build();
+                          #      }
+                          #      // ...
+                          #
+                          # Example (iOS / Obj-C):
+                          #
+                          #      // ...
+                          #      static UIColor* fromProto(Color* protocolor) {
+                          #         float red = [protocolor red];
+                          #         float green = [protocolor green];
+                          #         float blue = [protocolor blue];
+                          #         FloatValue* alpha_wrapper = [protocolor alpha];
+                          #         float alpha = 1.0;
+                          #         if (alpha_wrapper != nil) {
+                          #           alpha = [alpha_wrapper value];
+                          #         }
+                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                          #      }
+                          #
+                          #      static Color* toProto(UIColor* color) {
+                          #          CGFloat red, green, blue, alpha;
+                          #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                          #            return nil;
+                          #          }
+                          #          Color* result = [Color alloc] init];
+                          #          [result setRed:red];
+                          #          [result setGreen:green];
+                          #          [result setBlue:blue];
+                          #          if (alpha <= 0.9999) {
+                          #            [result setAlpha:floatWrapperWithValue(alpha)];
+                          #          }
+                          #          [result autorelease];
+                          #          return result;
+                          #     }
+                          #     // ...
+                          #
+                          #  Example (JavaScript):
+                          #
+                          #     // ...
+                          #
+                          #     var protoToCssColor = function(rgb_color) {
+                          #        var redFrac = rgb_color.red || 0.0;
+                          #        var greenFrac = rgb_color.green || 0.0;
+                          #        var blueFrac = rgb_color.blue || 0.0;
+                          #        var red = Math.floor(redFrac * 255);
+                          #        var green = Math.floor(greenFrac * 255);
+                          #        var blue = Math.floor(blueFrac * 255);
+                          #
+                          #        if (!('alpha' in rgb_color)) {
+                          #           return rgbToCssColor_(red, green, blue);
+                          #        }
+                          #
+                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                          #        var rgbParams = [red, green, blue].join(',');
+                          #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                          #     };
+                          #
+                          #     var rgbToCssColor_ = function(red, green, blue) {
+                          #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                          #       var hexString = rgbNumber.toString(16);
+                          #       var missingZeros = 6 - hexString.length;
+                          #       var resultBuilder = ['#'];
+                          #       for (var i = 0; i < missingZeros; i++) {
+                          #          resultBuilder.push('0');
+                          #       }
+                          #       resultBuilder.push(hexString);
+                          #       return resultBuilder.join('');
+                          #     };
+                          #
+                          #     // ...
+                        "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                        "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                            # the final pixel color is defined by the equation:
+                            #
+                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                            #
+                            # This means that a value of 1.0 corresponds to a solid color, whereas
+                            # a value of 0.0 corresponds to a completely transparent color. This
+                            # uses a wrapper message rather than a simple float scalar so that it is
+                            # possible to distinguish between a default value and the value being unset.
+                            # If omitted, this color object is to be rendered as a solid color
+                            # (as if the alpha value had been explicitly given with a value of 1.0).
+                        "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      },
+                      "width": 42, # The width of the border, in pixels.
+                          # Border widths must be between 0 and 3 pixels.
+                      "style": "A String", # The style of the border.
+                    },
+                  },
+                  "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
+                },
+              },
+              "gradientRule": { # A rule that applies a gradient color scale format, based on # The formatting will vary based on the gradients in the rule.
+                  # the interpolation points listed. The format of a cell will vary
+                  # based on its contents as compared to the values of the interpolation
+                  # points.
+                "maxpoint": { # A single interpolation point a gradient conditional format. # The final interpolation point.
+                    # These pin the gradient color scale according to the color,
+                    # type and value chosen.
+                  "color": { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                      # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha <= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!('alpha' in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(',');
+                      #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = ['#'];
+                      #       for (var i = 0; i < missingZeros; i++) {
+                      #          resultBuilder.push('0');
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join('');
+                      #     };
+                      #
+                      #     // ...
+                    "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                    "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  },
+                  "type": "A String", # How the value should be interpreted.
+                  "value": "A String", # The value this interpolation point uses.  May be a formula.
+                      # Unused if type is MIN or
+                      # MAX.
+                },
+                "midpoint": { # A single interpolation point a gradient conditional format. # An optional midway interpolation point.
+                    # These pin the gradient color scale according to the color,
+                    # type and value chosen.
+                  "color": { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                      # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha <= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!('alpha' in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(',');
+                      #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = ['#'];
+                      #       for (var i = 0; i < missingZeros; i++) {
+                      #          resultBuilder.push('0');
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join('');
+                      #     };
+                      #
+                      #     // ...
+                    "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                    "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  },
+                  "type": "A String", # How the value should be interpreted.
+                  "value": "A String", # The value this interpolation point uses.  May be a formula.
+                      # Unused if type is MIN or
+                      # MAX.
+                },
+                "minpoint": { # A single interpolation point a gradient conditional format. # The starting interpolation point.
+                    # These pin the gradient color scale according to the color,
+                    # type and value chosen.
+                  "color": { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                      # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha <= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!('alpha' in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(',');
+                      #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = ['#'];
+                      #       for (var i = 0; i < missingZeros; i++) {
+                      #          resultBuilder.push('0');
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join('');
+                      #     };
+                      #
+                      #     // ...
+                    "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                    "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  },
+                  "type": "A String", # How the value should be interpreted.
+                  "value": "A String", # The value this interpolation point uses.  May be a formula.
+                      # Unused if type is MIN or
+                      # MAX.
+                },
+              },
+            },
+          ],
+          "merges": [ # The ranges that are merged together.
+            { # A range on a sheet.
+                # All indexes are zero-based.
+                # Indexes are half open, e.g the start index is inclusive
+                # and the end index is exclusive -- [start_index, end_index).
+                # Missing indexes indicate the range is unbounded on that side.
+                #
+                # For example, if "Sheet1" is grid ID 0, then:
+                #
+                #   Sheet1!A1:A1 == sheet_id: 0,
+                #                   start_row_index: 0, end_row_index: 1,
+                #                   start_column_index: 0, end_column_index: 1
+                #
+                #   Sheet1!A3:B4 == sheet_id: 0,
+                #                   start_row_index: 2, end_row_index: 4,
+                #                   start_column_index: 0, end_column_index: 2
+                #
+                #   Sheet1!A:B == sheet_id: 0,
+                #                 start_column_index: 0, end_column_index: 2
+                #
+                #   Sheet1!A5:B == sheet_id: 0,
+                #                  start_row_index: 4,
+                #                  start_column_index: 0, end_column_index: 2
+                #
+                #   Sheet1 == sheet_id:0
+                #
+                # The start index must always be less than or equal to the end index.
+                # If the start index equals the end index, then the range is empty.
+                # Empty ranges are typically not meaningful and are usually rendered in the
+                # UI as `#REF!`.
+              "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "sheetId": 42, # The sheet this range is on.
+              "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+            },
+          ],
+          "basicFilter": { # The default filter associated with a sheet. # The filter on this sheet, if any.
+            "range": { # A range on a sheet. # The range the filter covers.
+                # All indexes are zero-based.
+                # Indexes are half open, e.g the start index is inclusive
+                # and the end index is exclusive -- [start_index, end_index).
+                # Missing indexes indicate the range is unbounded on that side.
+                #
+                # For example, if "Sheet1" is grid ID 0, then:
+                #
+                #   Sheet1!A1:A1 == sheet_id: 0,
+                #                   start_row_index: 0, end_row_index: 1,
+                #                   start_column_index: 0, end_column_index: 1
+                #
+                #   Sheet1!A3:B4 == sheet_id: 0,
+                #                   start_row_index: 2, end_row_index: 4,
+                #                   start_column_index: 0, end_column_index: 2
+                #
+                #   Sheet1!A:B == sheet_id: 0,
+                #                 start_column_index: 0, end_column_index: 2
+                #
+                #   Sheet1!A5:B == sheet_id: 0,
+                #                  start_row_index: 4,
+                #                  start_column_index: 0, end_column_index: 2
+                #
+                #   Sheet1 == sheet_id:0
+                #
+                # The start index must always be less than or equal to the end index.
+                # If the start index equals the end index, then the range is empty.
+                # Empty ranges are typically not meaningful and are usually rendered in the
+                # UI as `#REF!`.
+              "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "sheetId": 42, # The sheet this range is on.
+              "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+            },
+            "sortSpecs": [ # The sort order per column. Later specifications are used when values
+                # are equal in the earlier specifications.
+              { # A sort order associated with a specific column or row.
+                "sortOrder": "A String", # The order data should be sorted.
+                "dimensionIndex": 42, # The dimension the sort should be applied to.
+              },
+            ],
+            "criteria": { # The criteria for showing/hiding values per column.
+                # The map's key is the column index, and the value is the criteria for
+                # that column.
+              "a_key": { # Criteria for showing/hiding rows in a filter, filter view.
+                "hiddenValues": [ # Values that should be hidden.
+                  "A String",
+                ],
+                "condition": { # A condition that can evaluate to true or false. # A condition that must be true for values to be shown.
+                    # (This does not override hiddenValues -- if a value is listed there,
+                    #  it will still be hidden.)
+                    # BooleanConditions are used by conditional formatting,
+                    # data validation, and the criteria in filters.
+                  "type": "A String", # The type of condition.
+                  "values": [ # The values of the condition. The number of supported values depends
+                      # on the condition type.  Some support zero values,
+                      # others one or two values,
+                      # and ConditionType.ONE_OF_LIST supports an arbitrary number of values.
+                    { # The value of the condition.
+                      "relativeDate": "A String", # A relative date (based on the current date).
+                          # Valid only if the type is
+                          # DATE_BEFORE,
+                          # DATE_AFTER,
+                          # DATE_ON_OR_BEFORE or
+                          # DATE_ON_OR_AFTER.
+                          #
+                          # Relative dates are not supported in data validation.
+                          # They are supported only in conditional formatting and
+                          # conditional filters.
+                      "userEnteredValue": "A String", # A value the condition is based on.
+                          # The value will be parsed as if the user typed into a cell.
+                          # Formulas are supported (and must begin with an `=`).
+                    },
+                  ],
+                },
+              },
+            },
+          },
+          "charts": [ # The specifications of every chart on this sheet.
+            { # A chart embedded in a sheet.
+              "chartId": 42, # The ID of the chart.
+              "position": { # The position of an embedded object such as a chart. # The position of the chart.
+                "newSheet": True or False, # If true, the embedded object will be put on a new sheet whose ID
+                    # is chosen for you. Used only when writing.
+                "sheetId": 42, # The sheet this is on. Set only if the embedded object
+                    # is on its own sheet. Must be non-negative.
+                "overlayPosition": { # The location an object is overlaid on top of a grid. # The position the object is overlaid on top of a grid.
+                  "anchorCell": { # A coordinate in a sheet. # The cell the object is anchored to.
+                      # All indexes are zero-based.
+                    "rowIndex": 42, # The row index of the coordinate.
+                    "columnIndex": 42, # The column index of the coordinate.
+                    "sheetId": 42, # The sheet this coordinate is on.
+                  },
+                  "offsetYPixels": 42, # The vertical offset, in pixels, that the object is offset
+                      # from the anchor cell.
+                  "widthPixels": 42, # The width of the object, in pixels. Defaults to 600.
+                  "offsetXPixels": 42, # The horizontal offset, in pixels, that the object is offset
+                      # from the anchor cell.
+                  "heightPixels": 42, # The height of the object, in pixels. Defaults to 371.
+                },
+              },
+              "spec": { # The specifications of a chart. # The specification of the chart.
+                "hiddenDimensionStrategy": "A String", # Determines how the charts will use hidden rows or columns.
+                    # This value is only meaningful if the
+                    # ChartData.sourceRange
+                    # is used for a domain or series.
+                "pieChart": { # A pie chart. # A pie chart specification.
+                  "series": { # The data included in a domain or series. # The data that covers the one and only series of the pie chart.
+                    "sourceRange": { # Source ranges for a chart. # The source ranges of the data.
+                      "sources": [ # The ranges of data for a series or domain.
+                          # Exactly one dimension must have a length of 1,
+                          # and all sources in the list must have the same dimension
+                          # with length 1.
+                          # The domain (if it exists) & all series must have the same number
+                          # of source ranges. If using more than one source range, then the source
+                          # range at a given offset must be contiguous across the domain and series.
+                          #
+                          # For example, these are valid configurations:
+                          #
+                          #     domain sources: A1:A5
+                          #     series1 sources: B1:B5
+                          #     series2 sources: D6:D10
+                          #
+                          #     domain sources: A1:A5, C10:C12
+                          #     series1 sources: B1:B5, D10:D12
+                          #     series2 sources: C1:C5, E10:E12
+                        { # A range on a sheet.
+                            # All indexes are zero-based.
+                            # Indexes are half open, e.g the start index is inclusive
+                            # and the end index is exclusive -- [start_index, end_index).
+                            # Missing indexes indicate the range is unbounded on that side.
+                            #
+                            # For example, if "Sheet1" is grid ID 0, then:
+                            #
+                            #   Sheet1!A1:A1 == sheet_id: 0,
+                            #                   start_row_index: 0, end_row_index: 1,
+                            #                   start_column_index: 0, end_column_index: 1
+                            #
+                            #   Sheet1!A3:B4 == sheet_id: 0,
+                            #                   start_row_index: 2, end_row_index: 4,
+                            #                   start_column_index: 0, end_column_index: 2
+                            #
+                            #   Sheet1!A:B == sheet_id: 0,
+                            #                 start_column_index: 0, end_column_index: 2
+                            #
+                            #   Sheet1!A5:B == sheet_id: 0,
+                            #                  start_row_index: 4,
+                            #                  start_column_index: 0, end_column_index: 2
+                            #
+                            #   Sheet1 == sheet_id:0
+                            #
+                            # The start index must always be less than or equal to the end index.
+                            # If the start index equals the end index, then the range is empty.
+                            # Empty ranges are typically not meaningful and are usually rendered in the
+                            # UI as `#REF!`.
+                          "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+                          "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                          "sheetId": 42, # The sheet this range is on.
+                          "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+                          "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        },
+                      ],
+                    },
+                  },
+                  "domain": { # The data included in a domain or series. # The data that covers the domain of the pie chart.
+                    "sourceRange": { # Source ranges for a chart. # The source ranges of the data.
+                      "sources": [ # The ranges of data for a series or domain.
+                          # Exactly one dimension must have a length of 1,
+                          # and all sources in the list must have the same dimension
+                          # with length 1.
+                          # The domain (if it exists) & all series must have the same number
+                          # of source ranges. If using more than one source range, then the source
+                          # range at a given offset must be contiguous across the domain and series.
+                          #
+                          # For example, these are valid configurations:
+                          #
+                          #     domain sources: A1:A5
+                          #     series1 sources: B1:B5
+                          #     series2 sources: D6:D10
+                          #
+                          #     domain sources: A1:A5, C10:C12
+                          #     series1 sources: B1:B5, D10:D12
+                          #     series2 sources: C1:C5, E10:E12
+                        { # A range on a sheet.
+                            # All indexes are zero-based.
+                            # Indexes are half open, e.g the start index is inclusive
+                            # and the end index is exclusive -- [start_index, end_index).
+                            # Missing indexes indicate the range is unbounded on that side.
+                            #
+                            # For example, if "Sheet1" is grid ID 0, then:
+                            #
+                            #   Sheet1!A1:A1 == sheet_id: 0,
+                            #                   start_row_index: 0, end_row_index: 1,
+                            #                   start_column_index: 0, end_column_index: 1
+                            #
+                            #   Sheet1!A3:B4 == sheet_id: 0,
+                            #                   start_row_index: 2, end_row_index: 4,
+                            #                   start_column_index: 0, end_column_index: 2
+                            #
+                            #   Sheet1!A:B == sheet_id: 0,
+                            #                 start_column_index: 0, end_column_index: 2
+                            #
+                            #   Sheet1!A5:B == sheet_id: 0,
+                            #                  start_row_index: 4,
+                            #                  start_column_index: 0, end_column_index: 2
+                            #
+                            #   Sheet1 == sheet_id:0
+                            #
+                            # The start index must always be less than or equal to the end index.
+                            # If the start index equals the end index, then the range is empty.
+                            # Empty ranges are typically not meaningful and are usually rendered in the
+                            # UI as `#REF!`.
+                          "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+                          "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                          "sheetId": 42, # The sheet this range is on.
+                          "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+                          "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        },
+                      ],
+                    },
+                  },
+                  "threeDimensional": True or False, # True if the pie is three dimensional.
+                  "legendPosition": "A String", # Where the legend of the pie chart should be drawn.
+                  "pieHole": 3.14, # The size of the hole in the pie chart.
+                },
+                "basicChart": { # The specification for a basic chart.  See BasicChartType for the list # A basic chart specification, can be one of many kinds of charts.
+                    # See BasicChartType for the list of all charts this supports.
+                    # of charts this supports.
+                  "headerCount": 42, # The number of rows or columns in the data that are "headers".
+                      # If not set, Google Sheets will guess how many rows are headers based
+                      # on the data.
+                      #
+                      # (Note that BasicChartAxis.title may override the axis title
+                      #  inferred from the header values.)
+                  "series": [ # The data this chart is visualizing.
+                    { # A single series of data in a chart.
+                        # For example, if charting stock prices over time, multiple series may exist,
+                        # one for the "Open Price", "High Price", "Low Price" and "Close Price".
+                      "series": { # The data included in a domain or series. # The data being visualized in this chart series.
+                        "sourceRange": { # Source ranges for a chart. # The source ranges of the data.
+                          "sources": [ # The ranges of data for a series or domain.
+                              # Exactly one dimension must have a length of 1,
+                              # and all sources in the list must have the same dimension
+                              # with length 1.
+                              # The domain (if it exists) & all series must have the same number
+                              # of source ranges. If using more than one source range, then the source
+                              # range at a given offset must be contiguous across the domain and series.
+                              #
+                              # For example, these are valid configurations:
+                              #
+                              #     domain sources: A1:A5
+                              #     series1 sources: B1:B5
+                              #     series2 sources: D6:D10
+                              #
+                              #     domain sources: A1:A5, C10:C12
+                              #     series1 sources: B1:B5, D10:D12
+                              #     series2 sources: C1:C5, E10:E12
+                            { # A range on a sheet.
+                                # All indexes are zero-based.
+                                # Indexes are half open, e.g the start index is inclusive
+                                # and the end index is exclusive -- [start_index, end_index).
+                                # Missing indexes indicate the range is unbounded on that side.
+                                #
+                                # For example, if "Sheet1" is grid ID 0, then:
+                                #
+                                #   Sheet1!A1:A1 == sheet_id: 0,
+                                #                   start_row_index: 0, end_row_index: 1,
+                                #                   start_column_index: 0, end_column_index: 1
+                                #
+                                #   Sheet1!A3:B4 == sheet_id: 0,
+                                #                   start_row_index: 2, end_row_index: 4,
+                                #                   start_column_index: 0, end_column_index: 2
+                                #
+                                #   Sheet1!A:B == sheet_id: 0,
+                                #                 start_column_index: 0, end_column_index: 2
+                                #
+                                #   Sheet1!A5:B == sheet_id: 0,
+                                #                  start_row_index: 4,
+                                #                  start_column_index: 0, end_column_index: 2
+                                #
+                                #   Sheet1 == sheet_id:0
+                                #
+                                # The start index must always be less than or equal to the end index.
+                                # If the start index equals the end index, then the range is empty.
+                                # Empty ranges are typically not meaningful and are usually rendered in the
+                                # UI as `#REF!`.
+                              "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+                              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                              "sheetId": 42, # The sheet this range is on.
+                              "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+                              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                            },
+                          ],
+                        },
+                      },
+                      "targetAxis": "A String", # The minor axis that will specify the range of values for this series.
+                          # For example, if charting stocks over time, the "Volume" series
+                          # may want to be pinned to the right with the prices pinned to the left,
+                          # because the scale of trading volume is different than the scale of
+                          # prices.
+                          # It is an error to specify an axis that isn't a valid minor axis
+                          # for the chart's type.
+                      "type": "A String", # The type of this series. Valid only if the
+                          # chartType is
+                          # COMBO.
+                          # Different types will change the way the series is visualized.
+                          # Only LINE, AREA,
+                          # and COLUMN are supported.
+                    },
+                  ],
+                  "legendPosition": "A String", # The position of the chart legend.
+                  "domains": [ # The domain of data this is charting.
+                      # Only a single domain is currently supported.
+                    { # The domain of a chart.
+                        # For example, if charting stock prices over time, this would be the date.
+                      "domain": { # The data included in a domain or series. # The data of the domain. For example, if charting stock prices over time,
+                          # this be the data representing the dates.
+                        "sourceRange": { # Source ranges for a chart. # The source ranges of the data.
+                          "sources": [ # The ranges of data for a series or domain.
+                              # Exactly one dimension must have a length of 1,
+                              # and all sources in the list must have the same dimension
+                              # with length 1.
+                              # The domain (if it exists) & all series must have the same number
+                              # of source ranges. If using more than one source range, then the source
+                              # range at a given offset must be contiguous across the domain and series.
+                              #
+                              # For example, these are valid configurations:
+                              #
+                              #     domain sources: A1:A5
+                              #     series1 sources: B1:B5
+                              #     series2 sources: D6:D10
+                              #
+                              #     domain sources: A1:A5, C10:C12
+                              #     series1 sources: B1:B5, D10:D12
+                              #     series2 sources: C1:C5, E10:E12
+                            { # A range on a sheet.
+                                # All indexes are zero-based.
+                                # Indexes are half open, e.g the start index is inclusive
+                                # and the end index is exclusive -- [start_index, end_index).
+                                # Missing indexes indicate the range is unbounded on that side.
+                                #
+                                # For example, if "Sheet1" is grid ID 0, then:
+                                #
+                                #   Sheet1!A1:A1 == sheet_id: 0,
+                                #                   start_row_index: 0, end_row_index: 1,
+                                #                   start_column_index: 0, end_column_index: 1
+                                #
+                                #   Sheet1!A3:B4 == sheet_id: 0,
+                                #                   start_row_index: 2, end_row_index: 4,
+                                #                   start_column_index: 0, end_column_index: 2
+                                #
+                                #   Sheet1!A:B == sheet_id: 0,
+                                #                 start_column_index: 0, end_column_index: 2
+                                #
+                                #   Sheet1!A5:B == sheet_id: 0,
+                                #                  start_row_index: 4,
+                                #                  start_column_index: 0, end_column_index: 2
+                                #
+                                #   Sheet1 == sheet_id:0
+                                #
+                                # The start index must always be less than or equal to the end index.
+                                # If the start index equals the end index, then the range is empty.
+                                # Empty ranges are typically not meaningful and are usually rendered in the
+                                # UI as `#REF!`.
+                              "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+                              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                              "sheetId": 42, # The sheet this range is on.
+                              "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+                              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                            },
+                          ],
+                        },
+                      },
+                    },
+                  ],
+                  "chartType": "A String", # The type of the chart.
+                  "axis": [ # The axis on the chart.
+                    { # An axis of the chart.
+                        # A chart may not have more than one axis per
+                        # axis position.
+                      "position": "A String", # The position of this axis.
+                      "format": { # The format of a run of text in a cell. # The format of the title.
+                          # Only valid if the axis is not associated with the domain.
+                          # Absent values indicate that the field isn't specified.
+                        "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
+                            # for simplicity of conversion to/from color representations in various
+                            # languages over compactness; for example, the fields of this representation
+                            # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                            # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                            # method in iOS; and, with just a little work, it can be easily formatted into
+                            # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                            #
+                            # Example (Java):
+                            #
+                            #      import com.google.type.Color;
+                            #
+                            #      // ...
+                            #      public static java.awt.Color fromProto(Color protocolor) {
+                            #        float alpha = protocolor.hasAlpha()
+                            #            ? protocolor.getAlpha().getValue()
+                            #            : 1.0;
+                            #
+                            #        return new java.awt.Color(
+                            #            protocolor.getRed(),
+                            #            protocolor.getGreen(),
+                            #            protocolor.getBlue(),
+                            #            alpha);
+                            #      }
+                            #
+                            #      public static Color toProto(java.awt.Color color) {
+                            #        float red = (float) color.getRed();
+                            #        float green = (float) color.getGreen();
+                            #        float blue = (float) color.getBlue();
+                            #        float denominator = 255.0;
+                            #        Color.Builder resultBuilder =
+                            #            Color
+                            #                .newBuilder()
+                            #                .setRed(red / denominator)
+                            #                .setGreen(green / denominator)
+                            #                .setBlue(blue / denominator);
+                            #        int alpha = color.getAlpha();
+                            #        if (alpha != 255) {
+                            #          result.setAlpha(
+                            #              FloatValue
+                            #                  .newBuilder()
+                            #                  .setValue(((float) alpha) / denominator)
+                            #                  .build());
+                            #        }
+                            #        return resultBuilder.build();
+                            #      }
+                            #      // ...
+                            #
+                            # Example (iOS / Obj-C):
+                            #
+                            #      // ...
+                            #      static UIColor* fromProto(Color* protocolor) {
+                            #         float red = [protocolor red];
+                            #         float green = [protocolor green];
+                            #         float blue = [protocolor blue];
+                            #         FloatValue* alpha_wrapper = [protocolor alpha];
+                            #         float alpha = 1.0;
+                            #         if (alpha_wrapper != nil) {
+                            #           alpha = [alpha_wrapper value];
+                            #         }
+                            #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                            #      }
+                            #
+                            #      static Color* toProto(UIColor* color) {
+                            #          CGFloat red, green, blue, alpha;
+                            #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                            #            return nil;
+                            #          }
+                            #          Color* result = [Color alloc] init];
+                            #          [result setRed:red];
+                            #          [result setGreen:green];
+                            #          [result setBlue:blue];
+                            #          if (alpha <= 0.9999) {
+                            #            [result setAlpha:floatWrapperWithValue(alpha)];
+                            #          }
+                            #          [result autorelease];
+                            #          return result;
+                            #     }
+                            #     // ...
+                            #
+                            #  Example (JavaScript):
+                            #
+                            #     // ...
+                            #
+                            #     var protoToCssColor = function(rgb_color) {
+                            #        var redFrac = rgb_color.red || 0.0;
+                            #        var greenFrac = rgb_color.green || 0.0;
+                            #        var blueFrac = rgb_color.blue || 0.0;
+                            #        var red = Math.floor(redFrac * 255);
+                            #        var green = Math.floor(greenFrac * 255);
+                            #        var blue = Math.floor(blueFrac * 255);
+                            #
+                            #        if (!('alpha' in rgb_color)) {
+                            #           return rgbToCssColor_(red, green, blue);
+                            #        }
+                            #
+                            #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                            #        var rgbParams = [red, green, blue].join(',');
+                            #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                            #     };
+                            #
+                            #     var rgbToCssColor_ = function(red, green, blue) {
+                            #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                            #       var hexString = rgbNumber.toString(16);
+                            #       var missingZeros = 6 - hexString.length;
+                            #       var resultBuilder = ['#'];
+                            #       for (var i = 0; i < missingZeros; i++) {
+                            #          resultBuilder.push('0');
+                            #       }
+                            #       resultBuilder.push(hexString);
+                            #       return resultBuilder.join('');
+                            #     };
+                            #
+                            #     // ...
+                          "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                          "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                              # the final pixel color is defined by the equation:
+                              #
+                              #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                              #
+                              # This means that a value of 1.0 corresponds to a solid color, whereas
+                              # a value of 0.0 corresponds to a completely transparent color. This
+                              # uses a wrapper message rather than a simple float scalar so that it is
+                              # possible to distinguish between a default value and the value being unset.
+                              # If omitted, this color object is to be rendered as a solid color
+                              # (as if the alpha value had been explicitly given with a value of 1.0).
+                          "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        },
+                        "bold": True or False, # True if the text is bold.
+                        "strikethrough": True or False, # True if the text has a strikethrough.
+                        "fontFamily": "A String", # The font family.
+                        "fontSize": 42, # The size of the font.
+                        "italic": True or False, # True if the text is italicized.
+                        "underline": True or False, # True if the text is underlined.
+                      },
+                      "title": "A String", # The title of this axis. If set, this overrides any title inferred
+                          # from headers of the data.
+                    },
+                  ],
+                },
+                "title": "A String", # The title of the chart.
+              },
+            },
+          ],
+          "filterViews": [ # The filter views in this sheet.
+            { # A filter view.
+              "title": "A String", # The name of the filter view.
+              "namedRangeId": "A String", # The named range this filter view is backed by, if any.
+                  #
+                  # When writing, only one of range or namedRangeId
+                  # may be set.
+              "filterViewId": 42, # The ID of the filter view.
+              "range": { # A range on a sheet. # The range this filter view covers.
+                  #
+                  # When writing, only one of range or namedRangeId
+                  # may be set.
+                  # All indexes are zero-based.
+                  # Indexes are half open, e.g the start index is inclusive
+                  # and the end index is exclusive -- [start_index, end_index).
+                  # Missing indexes indicate the range is unbounded on that side.
+                  #
+                  # For example, if "Sheet1" is grid ID 0, then:
+                  #
+                  #   Sheet1!A1:A1 == sheet_id: 0,
+                  #                   start_row_index: 0, end_row_index: 1,
+                  #                   start_column_index: 0, end_column_index: 1
+                  #
+                  #   Sheet1!A3:B4 == sheet_id: 0,
+                  #                   start_row_index: 2, end_row_index: 4,
+                  #                   start_column_index: 0, end_column_index: 2
+                  #
+                  #   Sheet1!A:B == sheet_id: 0,
+                  #                 start_column_index: 0, end_column_index: 2
+                  #
+                  #   Sheet1!A5:B == sheet_id: 0,
+                  #                  start_row_index: 4,
+                  #                  start_column_index: 0, end_column_index: 2
+                  #
+                  #   Sheet1 == sheet_id:0
+                  #
+                  # The start index must always be less than or equal to the end index.
+                  # If the start index equals the end index, then the range is empty.
+                  # Empty ranges are typically not meaningful and are usually rendered in the
+                  # UI as `#REF!`.
+                "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                "sheetId": 42, # The sheet this range is on.
+                "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+              },
+              "sortSpecs": [ # The sort order per column. Later specifications are used when values
+                  # are equal in the earlier specifications.
+                { # A sort order associated with a specific column or row.
+                  "sortOrder": "A String", # The order data should be sorted.
+                  "dimensionIndex": 42, # The dimension the sort should be applied to.
+                },
+              ],
+              "criteria": { # The criteria for showing/hiding values per column.
+                  # The map's key is the column index, and the value is the criteria for
+                  # that column.
+                "a_key": { # Criteria for showing/hiding rows in a filter, filter view.
+                  "hiddenValues": [ # Values that should be hidden.
+                    "A String",
+                  ],
+                  "condition": { # A condition that can evaluate to true or false. # A condition that must be true for values to be shown.
+                      # (This does not override hiddenValues -- if a value is listed there,
+                      #  it will still be hidden.)
+                      # BooleanConditions are used by conditional formatting,
+                      # data validation, and the criteria in filters.
+                    "type": "A String", # The type of condition.
+                    "values": [ # The values of the condition. The number of supported values depends
+                        # on the condition type.  Some support zero values,
+                        # others one or two values,
+                        # and ConditionType.ONE_OF_LIST supports an arbitrary number of values.
+                      { # The value of the condition.
+                        "relativeDate": "A String", # A relative date (based on the current date).
+                            # Valid only if the type is
+                            # DATE_BEFORE,
+                            # DATE_AFTER,
+                            # DATE_ON_OR_BEFORE or
+                            # DATE_ON_OR_AFTER.
+                            #
+                            # Relative dates are not supported in data validation.
+                            # They are supported only in conditional formatting and
+                            # conditional filters.
+                        "userEnteredValue": "A String", # A value the condition is based on.
+                            # The value will be parsed as if the user typed into a cell.
+                            # Formulas are supported (and must begin with an `=`).
+                      },
+                    ],
+                  },
+                },
+              },
+            },
+          ],
+          "protectedRanges": [ # The protected ranges in this sheet.
+            { # A protected range.
+              "unprotectedRanges": [ # The list of unprotected ranges within a protected sheet.
+                  # Unprotected ranges are only supported on protected sheets.
+                { # A range on a sheet.
+                    # All indexes are zero-based.
+                    # Indexes are half open, e.g the start index is inclusive
+                    # and the end index is exclusive -- [start_index, end_index).
+                    # Missing indexes indicate the range is unbounded on that side.
+                    #
+                    # For example, if "Sheet1" is grid ID 0, then:
+                    #
+                    #   Sheet1!A1:A1 == sheet_id: 0,
+                    #                   start_row_index: 0, end_row_index: 1,
+                    #                   start_column_index: 0, end_column_index: 1
+                    #
+                    #   Sheet1!A3:B4 == sheet_id: 0,
+                    #                   start_row_index: 2, end_row_index: 4,
+                    #                   start_column_index: 0, end_column_index: 2
+                    #
+                    #   Sheet1!A:B == sheet_id: 0,
+                    #                 start_column_index: 0, end_column_index: 2
+                    #
+                    #   Sheet1!A5:B == sheet_id: 0,
+                    #                  start_row_index: 4,
+                    #                  start_column_index: 0, end_column_index: 2
+                    #
+                    #   Sheet1 == sheet_id:0
+                    #
+                    # The start index must always be less than or equal to the end index.
+                    # If the start index equals the end index, then the range is empty.
+                    # Empty ranges are typically not meaningful and are usually rendered in the
+                    # UI as `#REF!`.
+                  "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+                  "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                  "sheetId": 42, # The sheet this range is on.
+                  "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+                  "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                },
+              ],
+              "requestingUserCanEdit": True or False, # True if the user who requested this protected range can edit the
+                  # protected area.
+                  # This field is read-only.
+              "description": "A String", # The description of this protected range.
+              "namedRangeId": "A String", # The named range this protected range is backed by, if any.
+                  #
+                  # When writing, only one of range or namedRangeId
+                  # may be set.
+              "editors": { # The editors of a protected range. # The users and groups with edit access to the protected range.
+                  # This field is only visible to users with edit access to the protected
+                  # range and the document.
+                  # Editors are not supported with warningOnly protection.
+                "domainUsersCanEdit": True or False, # True if anyone in the document's domain has edit access to the protected
+                    # range.  Domain protection is only supported on documents within a domain.
+                "users": [ # The email addresses of users with edit access to the protected range.
+                  "A String",
+                ],
+                "groups": [ # The email addresses of groups with edit access to the protected range.
+                  "A String",
+                ],
+              },
+              "protectedRangeId": 42, # The ID of the protected range.
+                  # This field is read-only.
+              "warningOnly": True or False, # True if this this protected range will show a warning when editing.
+                  # Warning-based protection means that every user can edit data in the
+                  # protected range, except editing will prompt a warning asking the user
+                  # to confirm the edit.
+                  #
+                  # When warning: if this field is true, then editors is ignored.
+                  # Additionally, if this field is changed from true to false and the
+                  # `editors` field is not set (nor included in the field mask), then
+                  # the editors will be set to all the editors in the document.
+              "range": { # A range on a sheet. # The range that is being protected.
+                  # The range may be fully unbounded, in which case this is considered
+                  # a protected sheet.
+                  #
+                  # When writing, only one of range or namedRangeId
+                  # may be set.
+                  # All indexes are zero-based.
+                  # Indexes are half open, e.g the start index is inclusive
+                  # and the end index is exclusive -- [start_index, end_index).
+                  # Missing indexes indicate the range is unbounded on that side.
+                  #
+                  # For example, if "Sheet1" is grid ID 0, then:
+                  #
+                  #   Sheet1!A1:A1 == sheet_id: 0,
+                  #                   start_row_index: 0, end_row_index: 1,
+                  #                   start_column_index: 0, end_column_index: 1
+                  #
+                  #   Sheet1!A3:B4 == sheet_id: 0,
+                  #                   start_row_index: 2, end_row_index: 4,
+                  #                   start_column_index: 0, end_column_index: 2
+                  #
+                  #   Sheet1!A:B == sheet_id: 0,
+                  #                 start_column_index: 0, end_column_index: 2
+                  #
+                  #   Sheet1!A5:B == sheet_id: 0,
+                  #                  start_row_index: 4,
+                  #                  start_column_index: 0, end_column_index: 2
+                  #
+                  #   Sheet1 == sheet_id:0
+                  #
+                  # The start index must always be less than or equal to the end index.
+                  # If the start index equals the end index, then the range is empty.
+                  # Empty ranges are typically not meaningful and are usually rendered in the
+                  # UI as `#REF!`.
+                "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                "sheetId": 42, # The sheet this range is on.
+                "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+              },
+            },
+          ],
+          "data": [ # Data in the grid, if this is a grid sheet.
+              # The number of GridData objects returned is dependent on the number of
+              # ranges requested on this sheet. For example, if this is representing
+              # `Sheet1`, and the spreadsheet was requested with ranges
+              # `Sheet1!A1:C10` and `Sheet1!D15:E20`, then the first GridData will have a
+              # startRow/startColumn of `0`,
+              # while the second one will have `startRow 14` (zero-based row 15),
+              # and `startColumn 3` (zero-based column D).
+            { # Data in the grid, as well as metadata about the dimensions.
+              "startRow": 42, # The first row this GridData refers to, zero-based.
+              "rowMetadata": [ # Metadata about the requested rows in the grid, starting with the row
+                  # in startRow.
+                { # Properties about a dimension.
+                  "pixelSize": 42, # The height (if a row) or width (if a column) of the dimension in pixels.
+                  "hiddenByUser": True or False, # True if this dimension is explicitly hidden.
+                  "hiddenByFilter": True or False, # True if this dimension is being filtered.
+                      # This field is read-only.
+                },
+              ],
+              "startColumn": 42, # The first column this GridData refers to, zero-based.
+              "columnMetadata": [ # Metadata about the requested columns in the grid, starting with the column
+                  # in startColumn.
+                { # Properties about a dimension.
+                  "pixelSize": 42, # The height (if a row) or width (if a column) of the dimension in pixels.
+                  "hiddenByUser": True or False, # True if this dimension is explicitly hidden.
+                  "hiddenByFilter": True or False, # True if this dimension is being filtered.
+                      # This field is read-only.
+                },
+              ],
+              "rowData": [ # The data in the grid, one entry per row,
+                  # starting with the row in startRow.
+                  # The values in RowData will correspond to columns starting
+                  # at startColumn.
+                { # Data about each cell in a row.
+                  "values": [ # The values in the row, one per column.
+                    { # Data about a specific cell.
+                      "pivotTable": { # A pivot table. # A pivot table anchored at this cell. The size of pivot table itself
+                          # is computed dynamically based on its data, grouping, filters, values,
+                          # etc... Only the top-left cell of the pivot table contains the pivot table
+                          # definition. The other cells will contain the calculated values of the
+                          # results of the pivot in their effectiveValue fields.
+                        "valueLayout": "A String", # Whether values should be listed horizontally (as columns)
+                            # or vertically (as rows).
+                        "rows": [ # Each row grouping in the pivot table.
+                          { # A single grouping (either row or column) in a pivot table.
+                            "showTotals": True or False, # True if the pivot table should include the totals for this grouping.
+                            "valueMetadata": [ # Metadata about values in the grouping.
+                              { # Metadata about a value in a pivot grouping.
+                                "collapsed": True or False, # True if the data corresponding to the value is collapsed.
+                                "value": { # The kinds of value that a cell in a spreadsheet can have. # The calculated value the metadata corresponds to.
+                                    # (Note that formulaValue is not valid,
+                                    #  because the values will be calculated.)
+                                  "numberValue": 3.14, # Represents a double value.
+                                      # Note: Dates, Times and DateTimes are represented as doubles in
+                                      # "serial number" format.
+                                  "boolValue": True or False, # Represents a boolean value.
+                                  "formulaValue": "A String", # Represents a formula.
+                                  "stringValue": "A String", # Represents a string value.
+                                      # Leading single quotes are not included. For example, if the user typed
+                                      # `'123` into the UI, this would be represented as a `stringValue` of
+                                      # `"123"`.
+                                  "errorValue": { # An error in a cell. # Represents an error.
+                                      # This field is read-only.
+                                    "message": "A String", # A message with more information about the error
+                                        # (in the spreadsheet's locale).
+                                    "type": "A String", # The type of error.
+                                  },
+                                },
+                              },
+                            ],
+                            "valueBucket": { # Information about which values in a pivot group should be used for sorting. # The bucket of the opposite pivot group to sort by.
+                                # If not specified, sorting is alphabetical by this group's values.
+                              "buckets": [ # Determines the bucket from which values are chosen to sort.
+                                  #
+                                  # For example, in a pivot table with one row group & two column groups,
+                                  # the row group can list up to two values. The first value corresponds
+                                  # to a value within the first column group, and the second value
+                                  # corresponds to a value in the second column group.  If no values
+                                  # are listed, this would indicate that the row should be sorted according
+                                  # to the "Grand Total" over the column groups. If a single value is listed,
+                                  # this would correspond to using the "Total" of that bucket.
+                                { # The kinds of value that a cell in a spreadsheet can have.
+                                  "numberValue": 3.14, # Represents a double value.
+                                      # Note: Dates, Times and DateTimes are represented as doubles in
+                                      # "serial number" format.
+                                  "boolValue": True or False, # Represents a boolean value.
+                                  "formulaValue": "A String", # Represents a formula.
+                                  "stringValue": "A String", # Represents a string value.
+                                      # Leading single quotes are not included. For example, if the user typed
+                                      # `'123` into the UI, this would be represented as a `stringValue` of
+                                      # `"123"`.
+                                  "errorValue": { # An error in a cell. # Represents an error.
+                                      # This field is read-only.
+                                    "message": "A String", # A message with more information about the error
+                                        # (in the spreadsheet's locale).
+                                    "type": "A String", # The type of error.
+                                  },
+                                },
+                              ],
+                              "valuesIndex": 42, # The offset in the [PivotTable.values] list which the values in this
+                                  # grouping should be sorted by.
+                            },
+                            "sortOrder": "A String", # The order the values in this group should be sorted.
+                            "sourceColumnOffset": 42, # The column offset of the source range that this grouping is based on.
+                                #
+                                # For example, if the source was `C10:E15', a `sourceColumnOffset` of `0`
+                                # means this group refers to column `C`, whereas the offset `1` would refer
+                                # to column `D`.
+                          },
+                        ],
+                        "source": { # A range on a sheet. # The range the pivot table is reading data from.
+                            # All indexes are zero-based.
+                            # Indexes are half open, e.g the start index is inclusive
+                            # and the end index is exclusive -- [start_index, end_index).
+                            # Missing indexes indicate the range is unbounded on that side.
+                            #
+                            # For example, if "Sheet1" is grid ID 0, then:
+                            #
+                            #   Sheet1!A1:A1 == sheet_id: 0,
+                            #                   start_row_index: 0, end_row_index: 1,
+                            #                   start_column_index: 0, end_column_index: 1
+                            #
+                            #   Sheet1!A3:B4 == sheet_id: 0,
+                            #                   start_row_index: 2, end_row_index: 4,
+                            #                   start_column_index: 0, end_column_index: 2
+                            #
+                            #   Sheet1!A:B == sheet_id: 0,
+                            #                 start_column_index: 0, end_column_index: 2
+                            #
+                            #   Sheet1!A5:B == sheet_id: 0,
+                            #                  start_row_index: 4,
+                            #                  start_column_index: 0, end_column_index: 2
+                            #
+                            #   Sheet1 == sheet_id:0
+                            #
+                            # The start index must always be less than or equal to the end index.
+                            # If the start index equals the end index, then the range is empty.
+                            # Empty ranges are typically not meaningful and are usually rendered in the
+                            # UI as `#REF!`.
+                          "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+                          "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                          "sheetId": 42, # The sheet this range is on.
+                          "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+                          "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        },
+                        "values": [ # A list of values to include in the pivot table.
+                          { # The definition of how a value in a pivot table should be calculated.
+                            "formula": "A String", # A custom formula to calculate the value.  The formula must start
+                                # with an `=` character.
+                            "summarizeFunction": "A String", # A function to summarize the value.
+                                # If formula is set, the only supported values are
+                                # SUM and
+                                # CUSTOM.
+                                # If sourceColumnOffset is set, then `CUSTOM`
+                                # is not supported.
+                            "sourceColumnOffset": 42, # The column offset of the source range that this value reads from.
+                                #
+                                # For example, if the source was `C10:E15', a `sourceColumnOffset` of `0`
+                                # means this value refers to column `C`, whereas the offset `1` would
+                                # refer to column `D`.
+                            "name": "A String", # A name to use for the value. This is only used if formula was set.
+                                # Otherwise, the column name is used.
+                          },
+                        ],
+                        "criteria": { # An optional mapping of filters per source column offset.
+                            #
+                            # The filters will be applied before aggregating data into the pivot table.
+                            # The map's key is the column offset of the source range that you want to
+                            # filter, and the value is the criteria for that column.
+                            #
+                            # For example, if the source was `C10:E15', a key of `0` will have the filter
+                            # for column `C`, whereas the key `1` is for column `D`.
+                          "a_key": { # Criteria for showing/hiding rows in a pivot table.
+                            "visibleValues": [ # Values that should be included.  Values not listed here are excluded.
+                              "A String",
+                            ],
+                          },
+                        },
+                        "columns": [ # Each column grouping in the pivot table.
+                          { # A single grouping (either row or column) in a pivot table.
+                            "showTotals": True or False, # True if the pivot table should include the totals for this grouping.
+                            "valueMetadata": [ # Metadata about values in the grouping.
+                              { # Metadata about a value in a pivot grouping.
+                                "collapsed": True or False, # True if the data corresponding to the value is collapsed.
+                                "value": { # The kinds of value that a cell in a spreadsheet can have. # The calculated value the metadata corresponds to.
+                                    # (Note that formulaValue is not valid,
+                                    #  because the values will be calculated.)
+                                  "numberValue": 3.14, # Represents a double value.
+                                      # Note: Dates, Times and DateTimes are represented as doubles in
+                                      # "serial number" format.
+                                  "boolValue": True or False, # Represents a boolean value.
+                                  "formulaValue": "A String", # Represents a formula.
+                                  "stringValue": "A String", # Represents a string value.
+                                      # Leading single quotes are not included. For example, if the user typed
+                                      # `'123` into the UI, this would be represented as a `stringValue` of
+                                      # `"123"`.
+                                  "errorValue": { # An error in a cell. # Represents an error.
+                                      # This field is read-only.
+                                    "message": "A String", # A message with more information about the error
+                                        # (in the spreadsheet's locale).
+                                    "type": "A String", # The type of error.
+                                  },
+                                },
+                              },
+                            ],
+                            "valueBucket": { # Information about which values in a pivot group should be used for sorting. # The bucket of the opposite pivot group to sort by.
+                                # If not specified, sorting is alphabetical by this group's values.
+                              "buckets": [ # Determines the bucket from which values are chosen to sort.
+                                  #
+                                  # For example, in a pivot table with one row group & two column groups,
+                                  # the row group can list up to two values. The first value corresponds
+                                  # to a value within the first column group, and the second value
+                                  # corresponds to a value in the second column group.  If no values
+                                  # are listed, this would indicate that the row should be sorted according
+                                  # to the "Grand Total" over the column groups. If a single value is listed,
+                                  # this would correspond to using the "Total" of that bucket.
+                                { # The kinds of value that a cell in a spreadsheet can have.
+                                  "numberValue": 3.14, # Represents a double value.
+                                      # Note: Dates, Times and DateTimes are represented as doubles in
+                                      # "serial number" format.
+                                  "boolValue": True or False, # Represents a boolean value.
+                                  "formulaValue": "A String", # Represents a formula.
+                                  "stringValue": "A String", # Represents a string value.
+                                      # Leading single quotes are not included. For example, if the user typed
+                                      # `'123` into the UI, this would be represented as a `stringValue` of
+                                      # `"123"`.
+                                  "errorValue": { # An error in a cell. # Represents an error.
+                                      # This field is read-only.
+                                    "message": "A String", # A message with more information about the error
+                                        # (in the spreadsheet's locale).
+                                    "type": "A String", # The type of error.
+                                  },
+                                },
+                              ],
+                              "valuesIndex": 42, # The offset in the [PivotTable.values] list which the values in this
+                                  # grouping should be sorted by.
+                            },
+                            "sortOrder": "A String", # The order the values in this group should be sorted.
+                            "sourceColumnOffset": 42, # The column offset of the source range that this grouping is based on.
+                                #
+                                # For example, if the source was `C10:E15', a `sourceColumnOffset` of `0`
+                                # means this group refers to column `C`, whereas the offset `1` would refer
+                                # to column `D`.
+                          },
+                        ],
+                      },
+                      "hyperlink": "A String", # A hyperlink this cell points to, if any.
+                          # This field is read-only.  (To set it, use a `=HYPERLINK` formula.)
+                      "effectiveValue": { # The kinds of value that a cell in a spreadsheet can have. # The effective value of the cell. For cells with formulas, this will be
+                          # the calculated value.  For cells with literals, this will be
+                          # the same as the user_entered_value.
+                          # This field is read-only.
+                        "numberValue": 3.14, # Represents a double value.
+                            # Note: Dates, Times and DateTimes are represented as doubles in
+                            # "serial number" format.
+                        "boolValue": True or False, # Represents a boolean value.
+                        "formulaValue": "A String", # Represents a formula.
+                        "stringValue": "A String", # Represents a string value.
+                            # Leading single quotes are not included. For example, if the user typed
+                            # `'123` into the UI, this would be represented as a `stringValue` of
+                            # `"123"`.
+                        "errorValue": { # An error in a cell. # Represents an error.
+                            # This field is read-only.
+                          "message": "A String", # A message with more information about the error
+                              # (in the spreadsheet's locale).
+                          "type": "A String", # The type of error.
+                        },
+                      },
+                      "formattedValue": "A String", # The formatted value of the cell.
+                          # This is the value as it's shown to the user.
+                          # This field is read-only.
+                      "userEnteredValue": { # The kinds of value that a cell in a spreadsheet can have. # The value the user entered in the cell. e.g, `1234`, `'Hello'`, or `=NOW()`
+                          # Note: Dates, Times and DateTimes are represented as doubles in
+                          # serial number format.
+                        "numberValue": 3.14, # Represents a double value.
+                            # Note: Dates, Times and DateTimes are represented as doubles in
+                            # "serial number" format.
+                        "boolValue": True or False, # Represents a boolean value.
+                        "formulaValue": "A String", # Represents a formula.
+                        "stringValue": "A String", # Represents a string value.
+                            # Leading single quotes are not included. For example, if the user typed
+                            # `'123` into the UI, this would be represented as a `stringValue` of
+                            # `"123"`.
+                        "errorValue": { # An error in a cell. # Represents an error.
+                            # This field is read-only.
+                          "message": "A String", # A message with more information about the error
+                              # (in the spreadsheet's locale).
+                          "type": "A String", # The type of error.
+                        },
+                      },
+                      "note": "A String", # Any note on the cell.
+                      "effectiveFormat": { # The format of a cell. # The effective format being used by the cell.
+                          # This includes the results of applying any conditional formatting and,
+                          # if the cell contains a formula, the computed number format.
+                          # If the effective format is the default format, effective format will
+                          # not be written.
+                          # This field is read-only.
+                        "numberFormat": { # The number format of a cell. # A format describing how number values should be represented to the user.
+                            # When updating, all fields must be set.
+                          "pattern": "A String", # Pattern string used for formatting.
+                          "type": "A String", # The type of the number format.
+                        },
+                        "textDirection": "A String", # The direction of the text in the cell.
+                        "padding": { # The amount of padding around the cell, in pixels. # The padding of the cell.
+                            # When updating padding, every field must be specified.
+                          "top": 42, # The top padding of the cell.
+                          "right": 42, # The right padding of the cell.
+                          "bottom": 42, # The bottom padding of the cell.
+                          "left": 42, # The left padding of the cell.
+                        },
+                        "horizontalAlignment": "A String", # The horizontal alignment of the value in cell.
+                        "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
+                            # for simplicity of conversion to/from color representations in various
+                            # languages over compactness; for example, the fields of this representation
+                            # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                            # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                            # method in iOS; and, with just a little work, it can be easily formatted into
+                            # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                            #
+                            # Example (Java):
+                            #
+                            #      import com.google.type.Color;
+                            #
+                            #      // ...
+                            #      public static java.awt.Color fromProto(Color protocolor) {
+                            #        float alpha = protocolor.hasAlpha()
+                            #            ? protocolor.getAlpha().getValue()
+                            #            : 1.0;
+                            #
+                            #        return new java.awt.Color(
+                            #            protocolor.getRed(),
+                            #            protocolor.getGreen(),
+                            #            protocolor.getBlue(),
+                            #            alpha);
+                            #      }
+                            #
+                            #      public static Color toProto(java.awt.Color color) {
+                            #        float red = (float) color.getRed();
+                            #        float green = (float) color.getGreen();
+                            #        float blue = (float) color.getBlue();
+                            #        float denominator = 255.0;
+                            #        Color.Builder resultBuilder =
+                            #            Color
+                            #                .newBuilder()
+                            #                .setRed(red / denominator)
+                            #                .setGreen(green / denominator)
+                            #                .setBlue(blue / denominator);
+                            #        int alpha = color.getAlpha();
+                            #        if (alpha != 255) {
+                            #          result.setAlpha(
+                            #              FloatValue
+                            #                  .newBuilder()
+                            #                  .setValue(((float) alpha) / denominator)
+                            #                  .build());
+                            #        }
+                            #        return resultBuilder.build();
+                            #      }
+                            #      // ...
+                            #
+                            # Example (iOS / Obj-C):
+                            #
+                            #      // ...
+                            #      static UIColor* fromProto(Color* protocolor) {
+                            #         float red = [protocolor red];
+                            #         float green = [protocolor green];
+                            #         float blue = [protocolor blue];
+                            #         FloatValue* alpha_wrapper = [protocolor alpha];
+                            #         float alpha = 1.0;
+                            #         if (alpha_wrapper != nil) {
+                            #           alpha = [alpha_wrapper value];
+                            #         }
+                            #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                            #      }
+                            #
+                            #      static Color* toProto(UIColor* color) {
+                            #          CGFloat red, green, blue, alpha;
+                            #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                            #            return nil;
+                            #          }
+                            #          Color* result = [Color alloc] init];
+                            #          [result setRed:red];
+                            #          [result setGreen:green];
+                            #          [result setBlue:blue];
+                            #          if (alpha <= 0.9999) {
+                            #            [result setAlpha:floatWrapperWithValue(alpha)];
+                            #          }
+                            #          [result autorelease];
+                            #          return result;
+                            #     }
+                            #     // ...
+                            #
+                            #  Example (JavaScript):
+                            #
+                            #     // ...
+                            #
+                            #     var protoToCssColor = function(rgb_color) {
+                            #        var redFrac = rgb_color.red || 0.0;
+                            #        var greenFrac = rgb_color.green || 0.0;
+                            #        var blueFrac = rgb_color.blue || 0.0;
+                            #        var red = Math.floor(redFrac * 255);
+                            #        var green = Math.floor(greenFrac * 255);
+                            #        var blue = Math.floor(blueFrac * 255);
+                            #
+                            #        if (!('alpha' in rgb_color)) {
+                            #           return rgbToCssColor_(red, green, blue);
+                            #        }
+                            #
+                            #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                            #        var rgbParams = [red, green, blue].join(',');
+                            #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                            #     };
+                            #
+                            #     var rgbToCssColor_ = function(red, green, blue) {
+                            #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                            #       var hexString = rgbNumber.toString(16);
+                            #       var missingZeros = 6 - hexString.length;
+                            #       var resultBuilder = ['#'];
+                            #       for (var i = 0; i < missingZeros; i++) {
+                            #          resultBuilder.push('0');
+                            #       }
+                            #       resultBuilder.push(hexString);
+                            #       return resultBuilder.join('');
+                            #     };
+                            #
+                            #     // ...
+                          "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                          "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                              # the final pixel color is defined by the equation:
+                              #
+                              #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                              #
+                              # This means that a value of 1.0 corresponds to a solid color, whereas
+                              # a value of 0.0 corresponds to a completely transparent color. This
+                              # uses a wrapper message rather than a simple float scalar so that it is
+                              # possible to distinguish between a default value and the value being unset.
+                              # If omitted, this color object is to be rendered as a solid color
+                              # (as if the alpha value had been explicitly given with a value of 1.0).
+                          "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        },
+                        "verticalAlignment": "A String", # The vertical alignment of the value in cell.
+                        "textFormat": { # The format of a run of text in a cell. # The format of the text in the cell (unless overridden by a format run).
+                            # Absent values indicate that the field isn't specified.
+                          "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
+                              # for simplicity of conversion to/from color representations in various
+                              # languages over compactness; for example, the fields of this representation
+                              # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                              # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                              # method in iOS; and, with just a little work, it can be easily formatted into
+                              # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                              #
+                              # Example (Java):
+                              #
+                              #      import com.google.type.Color;
+                              #
+                              #      // ...
+                              #      public static java.awt.Color fromProto(Color protocolor) {
+                              #        float alpha = protocolor.hasAlpha()
+                              #            ? protocolor.getAlpha().getValue()
+                              #            : 1.0;
+                              #
+                              #        return new java.awt.Color(
+                              #            protocolor.getRed(),
+                              #            protocolor.getGreen(),
+                              #            protocolor.getBlue(),
+                              #            alpha);
+                              #      }
+                              #
+                              #      public static Color toProto(java.awt.Color color) {
+                              #        float red = (float) color.getRed();
+                              #        float green = (float) color.getGreen();
+                              #        float blue = (float) color.getBlue();
+                              #        float denominator = 255.0;
+                              #        Color.Builder resultBuilder =
+                              #            Color
+                              #                .newBuilder()
+                              #                .setRed(red / denominator)
+                              #                .setGreen(green / denominator)
+                              #                .setBlue(blue / denominator);
+                              #        int alpha = color.getAlpha();
+                              #        if (alpha != 255) {
+                              #          result.setAlpha(
+                              #              FloatValue
+                              #                  .newBuilder()
+                              #                  .setValue(((float) alpha) / denominator)
+                              #                  .build());
+                              #        }
+                              #        return resultBuilder.build();
+                              #      }
+                              #      // ...
+                              #
+                              # Example (iOS / Obj-C):
+                              #
+                              #      // ...
+                              #      static UIColor* fromProto(Color* protocolor) {
+                              #         float red = [protocolor red];
+                              #         float green = [protocolor green];
+                              #         float blue = [protocolor blue];
+                              #         FloatValue* alpha_wrapper = [protocolor alpha];
+                              #         float alpha = 1.0;
+                              #         if (alpha_wrapper != nil) {
+                              #           alpha = [alpha_wrapper value];
+                              #         }
+                              #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                              #      }
+                              #
+                              #      static Color* toProto(UIColor* color) {
+                              #          CGFloat red, green, blue, alpha;
+                              #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                              #            return nil;
+                              #          }
+                              #          Color* result = [Color alloc] init];
+                              #          [result setRed:red];
+                              #          [result setGreen:green];
+                              #          [result setBlue:blue];
+                              #          if (alpha <= 0.9999) {
+                              #            [result setAlpha:floatWrapperWithValue(alpha)];
+                              #          }
+                              #          [result autorelease];
+                              #          return result;
+                              #     }
+                              #     // ...
+                              #
+                              #  Example (JavaScript):
+                              #
+                              #     // ...
+                              #
+                              #     var protoToCssColor = function(rgb_color) {
+                              #        var redFrac = rgb_color.red || 0.0;
+                              #        var greenFrac = rgb_color.green || 0.0;
+                              #        var blueFrac = rgb_color.blue || 0.0;
+                              #        var red = Math.floor(redFrac * 255);
+                              #        var green = Math.floor(greenFrac * 255);
+                              #        var blue = Math.floor(blueFrac * 255);
+                              #
+                              #        if (!('alpha' in rgb_color)) {
+                              #           return rgbToCssColor_(red, green, blue);
+                              #        }
+                              #
+                              #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                              #        var rgbParams = [red, green, blue].join(',');
+                              #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                              #     };
+                              #
+                              #     var rgbToCssColor_ = function(red, green, blue) {
+                              #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                              #       var hexString = rgbNumber.toString(16);
+                              #       var missingZeros = 6 - hexString.length;
+                              #       var resultBuilder = ['#'];
+                              #       for (var i = 0; i < missingZeros; i++) {
+                              #          resultBuilder.push('0');
+                              #       }
+                              #       resultBuilder.push(hexString);
+                              #       return resultBuilder.join('');
+                              #     };
+                              #
+                              #     // ...
+                            "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                            "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                                # the final pixel color is defined by the equation:
+                                #
+                                #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                                #
+                                # This means that a value of 1.0 corresponds to a solid color, whereas
+                                # a value of 0.0 corresponds to a completely transparent color. This
+                                # uses a wrapper message rather than a simple float scalar so that it is
+                                # possible to distinguish between a default value and the value being unset.
+                                # If omitted, this color object is to be rendered as a solid color
+                                # (as if the alpha value had been explicitly given with a value of 1.0).
+                            "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          },
+                          "bold": True or False, # True if the text is bold.
+                          "strikethrough": True or False, # True if the text has a strikethrough.
+                          "fontFamily": "A String", # The font family.
+                          "fontSize": 42, # The size of the font.
+                          "italic": True or False, # True if the text is italicized.
+                          "underline": True or False, # True if the text is underlined.
+                        },
+                        "hyperlinkDisplayType": "A String", # How a hyperlink, if it exists, should be displayed in the cell.
+                        "borders": { # The borders of the cell. # The borders of the cell.
+                          "top": { # A border along a cell. # The top border of the cell.
+                            "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                                # for simplicity of conversion to/from color representations in various
+                                # languages over compactness; for example, the fields of this representation
+                                # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                                # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                                # method in iOS; and, with just a little work, it can be easily formatted into
+                                # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                                #
+                                # Example (Java):
+                                #
+                                #      import com.google.type.Color;
+                                #
+                                #      // ...
+                                #      public static java.awt.Color fromProto(Color protocolor) {
+                                #        float alpha = protocolor.hasAlpha()
+                                #            ? protocolor.getAlpha().getValue()
+                                #            : 1.0;
+                                #
+                                #        return new java.awt.Color(
+                                #            protocolor.getRed(),
+                                #            protocolor.getGreen(),
+                                #            protocolor.getBlue(),
+                                #            alpha);
+                                #      }
+                                #
+                                #      public static Color toProto(java.awt.Color color) {
+                                #        float red = (float) color.getRed();
+                                #        float green = (float) color.getGreen();
+                                #        float blue = (float) color.getBlue();
+                                #        float denominator = 255.0;
+                                #        Color.Builder resultBuilder =
+                                #            Color
+                                #                .newBuilder()
+                                #                .setRed(red / denominator)
+                                #                .setGreen(green / denominator)
+                                #                .setBlue(blue / denominator);
+                                #        int alpha = color.getAlpha();
+                                #        if (alpha != 255) {
+                                #          result.setAlpha(
+                                #              FloatValue
+                                #                  .newBuilder()
+                                #                  .setValue(((float) alpha) / denominator)
+                                #                  .build());
+                                #        }
+                                #        return resultBuilder.build();
+                                #      }
+                                #      // ...
+                                #
+                                # Example (iOS / Obj-C):
+                                #
+                                #      // ...
+                                #      static UIColor* fromProto(Color* protocolor) {
+                                #         float red = [protocolor red];
+                                #         float green = [protocolor green];
+                                #         float blue = [protocolor blue];
+                                #         FloatValue* alpha_wrapper = [protocolor alpha];
+                                #         float alpha = 1.0;
+                                #         if (alpha_wrapper != nil) {
+                                #           alpha = [alpha_wrapper value];
+                                #         }
+                                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                                #      }
+                                #
+                                #      static Color* toProto(UIColor* color) {
+                                #          CGFloat red, green, blue, alpha;
+                                #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                                #            return nil;
+                                #          }
+                                #          Color* result = [Color alloc] init];
+                                #          [result setRed:red];
+                                #          [result setGreen:green];
+                                #          [result setBlue:blue];
+                                #          if (alpha <= 0.9999) {
+                                #            [result setAlpha:floatWrapperWithValue(alpha)];
+                                #          }
+                                #          [result autorelease];
+                                #          return result;
+                                #     }
+                                #     // ...
+                                #
+                                #  Example (JavaScript):
+                                #
+                                #     // ...
+                                #
+                                #     var protoToCssColor = function(rgb_color) {
+                                #        var redFrac = rgb_color.red || 0.0;
+                                #        var greenFrac = rgb_color.green || 0.0;
+                                #        var blueFrac = rgb_color.blue || 0.0;
+                                #        var red = Math.floor(redFrac * 255);
+                                #        var green = Math.floor(greenFrac * 255);
+                                #        var blue = Math.floor(blueFrac * 255);
+                                #
+                                #        if (!('alpha' in rgb_color)) {
+                                #           return rgbToCssColor_(red, green, blue);
+                                #        }
+                                #
+                                #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                                #        var rgbParams = [red, green, blue].join(',');
+                                #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                                #     };
+                                #
+                                #     var rgbToCssColor_ = function(red, green, blue) {
+                                #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                                #       var hexString = rgbNumber.toString(16);
+                                #       var missingZeros = 6 - hexString.length;
+                                #       var resultBuilder = ['#'];
+                                #       for (var i = 0; i < missingZeros; i++) {
+                                #          resultBuilder.push('0');
+                                #       }
+                                #       resultBuilder.push(hexString);
+                                #       return resultBuilder.join('');
+                                #     };
+                                #
+                                #     // ...
+                              "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                              "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                                  # the final pixel color is defined by the equation:
+                                  #
+                                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                                  #
+                                  # This means that a value of 1.0 corresponds to a solid color, whereas
+                                  # a value of 0.0 corresponds to a completely transparent color. This
+                                  # uses a wrapper message rather than a simple float scalar so that it is
+                                  # possible to distinguish between a default value and the value being unset.
+                                  # If omitted, this color object is to be rendered as a solid color
+                                  # (as if the alpha value had been explicitly given with a value of 1.0).
+                              "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                              "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            },
+                            "width": 42, # The width of the border, in pixels.
+                                # Border widths must be between 0 and 3 pixels.
+                            "style": "A String", # The style of the border.
+                          },
+                          "right": { # A border along a cell. # The right border of the cell.
+                            "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                                # for simplicity of conversion to/from color representations in various
+                                # languages over compactness; for example, the fields of this representation
+                                # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                                # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                                # method in iOS; and, with just a little work, it can be easily formatted into
+                                # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                                #
+                                # Example (Java):
+                                #
+                                #      import com.google.type.Color;
+                                #
+                                #      // ...
+                                #      public static java.awt.Color fromProto(Color protocolor) {
+                                #        float alpha = protocolor.hasAlpha()
+                                #            ? protocolor.getAlpha().getValue()
+                                #            : 1.0;
+                                #
+                                #        return new java.awt.Color(
+                                #            protocolor.getRed(),
+                                #            protocolor.getGreen(),
+                                #            protocolor.getBlue(),
+                                #            alpha);
+                                #      }
+                                #
+                                #      public static Color toProto(java.awt.Color color) {
+                                #        float red = (float) color.getRed();
+                                #        float green = (float) color.getGreen();
+                                #        float blue = (float) color.getBlue();
+                                #        float denominator = 255.0;
+                                #        Color.Builder resultBuilder =
+                                #            Color
+                                #                .newBuilder()
+                                #                .setRed(red / denominator)
+                                #                .setGreen(green / denominator)
+                                #                .setBlue(blue / denominator);
+                                #        int alpha = color.getAlpha();
+                                #        if (alpha != 255) {
+                                #          result.setAlpha(
+                                #              FloatValue
+                                #                  .newBuilder()
+                                #                  .setValue(((float) alpha) / denominator)
+                                #                  .build());
+                                #        }
+                                #        return resultBuilder.build();
+                                #      }
+                                #      // ...
+                                #
+                                # Example (iOS / Obj-C):
+                                #
+                                #      // ...
+                                #      static UIColor* fromProto(Color* protocolor) {
+                                #         float red = [protocolor red];
+                                #         float green = [protocolor green];
+                                #         float blue = [protocolor blue];
+                                #         FloatValue* alpha_wrapper = [protocolor alpha];
+                                #         float alpha = 1.0;
+                                #         if (alpha_wrapper != nil) {
+                                #           alpha = [alpha_wrapper value];
+                                #         }
+                                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                                #      }
+                                #
+                                #      static Color* toProto(UIColor* color) {
+                                #          CGFloat red, green, blue, alpha;
+                                #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                                #            return nil;
+                                #          }
+                                #          Color* result = [Color alloc] init];
+                                #          [result setRed:red];
+                                #          [result setGreen:green];
+                                #          [result setBlue:blue];
+                                #          if (alpha <= 0.9999) {
+                                #            [result setAlpha:floatWrapperWithValue(alpha)];
+                                #          }
+                                #          [result autorelease];
+                                #          return result;
+                                #     }
+                                #     // ...
+                                #
+                                #  Example (JavaScript):
+                                #
+                                #     // ...
+                                #
+                                #     var protoToCssColor = function(rgb_color) {
+                                #        var redFrac = rgb_color.red || 0.0;
+                                #        var greenFrac = rgb_color.green || 0.0;
+                                #        var blueFrac = rgb_color.blue || 0.0;
+                                #        var red = Math.floor(redFrac * 255);
+                                #        var green = Math.floor(greenFrac * 255);
+                                #        var blue = Math.floor(blueFrac * 255);
+                                #
+                                #        if (!('alpha' in rgb_color)) {
+                                #           return rgbToCssColor_(red, green, blue);
+                                #        }
+                                #
+                                #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                                #        var rgbParams = [red, green, blue].join(',');
+                                #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                                #     };
+                                #
+                                #     var rgbToCssColor_ = function(red, green, blue) {
+                                #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                                #       var hexString = rgbNumber.toString(16);
+                                #       var missingZeros = 6 - hexString.length;
+                                #       var resultBuilder = ['#'];
+                                #       for (var i = 0; i < missingZeros; i++) {
+                                #          resultBuilder.push('0');
+                                #       }
+                                #       resultBuilder.push(hexString);
+                                #       return resultBuilder.join('');
+                                #     };
+                                #
+                                #     // ...
+                              "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                              "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                                  # the final pixel color is defined by the equation:
+                                  #
+                                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                                  #
+                                  # This means that a value of 1.0 corresponds to a solid color, whereas
+                                  # a value of 0.0 corresponds to a completely transparent color. This
+                                  # uses a wrapper message rather than a simple float scalar so that it is
+                                  # possible to distinguish between a default value and the value being unset.
+                                  # If omitted, this color object is to be rendered as a solid color
+                                  # (as if the alpha value had been explicitly given with a value of 1.0).
+                              "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                              "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            },
+                            "width": 42, # The width of the border, in pixels.
+                                # Border widths must be between 0 and 3 pixels.
+                            "style": "A String", # The style of the border.
+                          },
+                          "bottom": { # A border along a cell. # The bottom border of the cell.
+                            "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                                # for simplicity of conversion to/from color representations in various
+                                # languages over compactness; for example, the fields of this representation
+                                # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                                # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                                # method in iOS; and, with just a little work, it can be easily formatted into
+                                # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                                #
+                                # Example (Java):
+                                #
+                                #      import com.google.type.Color;
+                                #
+                                #      // ...
+                                #      public static java.awt.Color fromProto(Color protocolor) {
+                                #        float alpha = protocolor.hasAlpha()
+                                #            ? protocolor.getAlpha().getValue()
+                                #            : 1.0;
+                                #
+                                #        return new java.awt.Color(
+                                #            protocolor.getRed(),
+                                #            protocolor.getGreen(),
+                                #            protocolor.getBlue(),
+                                #            alpha);
+                                #      }
+                                #
+                                #      public static Color toProto(java.awt.Color color) {
+                                #        float red = (float) color.getRed();
+                                #        float green = (float) color.getGreen();
+                                #        float blue = (float) color.getBlue();
+                                #        float denominator = 255.0;
+                                #        Color.Builder resultBuilder =
+                                #            Color
+                                #                .newBuilder()
+                                #                .setRed(red / denominator)
+                                #                .setGreen(green / denominator)
+                                #                .setBlue(blue / denominator);
+                                #        int alpha = color.getAlpha();
+                                #        if (alpha != 255) {
+                                #          result.setAlpha(
+                                #              FloatValue
+                                #                  .newBuilder()
+                                #                  .setValue(((float) alpha) / denominator)
+                                #                  .build());
+                                #        }
+                                #        return resultBuilder.build();
+                                #      }
+                                #      // ...
+                                #
+                                # Example (iOS / Obj-C):
+                                #
+                                #      // ...
+                                #      static UIColor* fromProto(Color* protocolor) {
+                                #         float red = [protocolor red];
+                                #         float green = [protocolor green];
+                                #         float blue = [protocolor blue];
+                                #         FloatValue* alpha_wrapper = [protocolor alpha];
+                                #         float alpha = 1.0;
+                                #         if (alpha_wrapper != nil) {
+                                #           alpha = [alpha_wrapper value];
+                                #         }
+                                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                                #      }
+                                #
+                                #      static Color* toProto(UIColor* color) {
+                                #          CGFloat red, green, blue, alpha;
+                                #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                                #            return nil;
+                                #          }
+                                #          Color* result = [Color alloc] init];
+                                #          [result setRed:red];
+                                #          [result setGreen:green];
+                                #          [result setBlue:blue];
+                                #          if (alpha <= 0.9999) {
+                                #            [result setAlpha:floatWrapperWithValue(alpha)];
+                                #          }
+                                #          [result autorelease];
+                                #          return result;
+                                #     }
+                                #     // ...
+                                #
+                                #  Example (JavaScript):
+                                #
+                                #     // ...
+                                #
+                                #     var protoToCssColor = function(rgb_color) {
+                                #        var redFrac = rgb_color.red || 0.0;
+                                #        var greenFrac = rgb_color.green || 0.0;
+                                #        var blueFrac = rgb_color.blue || 0.0;
+                                #        var red = Math.floor(redFrac * 255);
+                                #        var green = Math.floor(greenFrac * 255);
+                                #        var blue = Math.floor(blueFrac * 255);
+                                #
+                                #        if (!('alpha' in rgb_color)) {
+                                #           return rgbToCssColor_(red, green, blue);
+                                #        }
+                                #
+                                #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                                #        var rgbParams = [red, green, blue].join(',');
+                                #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                                #     };
+                                #
+                                #     var rgbToCssColor_ = function(red, green, blue) {
+                                #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                                #       var hexString = rgbNumber.toString(16);
+                                #       var missingZeros = 6 - hexString.length;
+                                #       var resultBuilder = ['#'];
+                                #       for (var i = 0; i < missingZeros; i++) {
+                                #          resultBuilder.push('0');
+                                #       }
+                                #       resultBuilder.push(hexString);
+                                #       return resultBuilder.join('');
+                                #     };
+                                #
+                                #     // ...
+                              "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                              "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                                  # the final pixel color is defined by the equation:
+                                  #
+                                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                                  #
+                                  # This means that a value of 1.0 corresponds to a solid color, whereas
+                                  # a value of 0.0 corresponds to a completely transparent color. This
+                                  # uses a wrapper message rather than a simple float scalar so that it is
+                                  # possible to distinguish between a default value and the value being unset.
+                                  # If omitted, this color object is to be rendered as a solid color
+                                  # (as if the alpha value had been explicitly given with a value of 1.0).
+                              "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                              "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            },
+                            "width": 42, # The width of the border, in pixels.
+                                # Border widths must be between 0 and 3 pixels.
+                            "style": "A String", # The style of the border.
+                          },
+                          "left": { # A border along a cell. # The left border of the cell.
+                            "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                                # for simplicity of conversion to/from color representations in various
+                                # languages over compactness; for example, the fields of this representation
+                                # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                                # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                                # method in iOS; and, with just a little work, it can be easily formatted into
+                                # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                                #
+                                # Example (Java):
+                                #
+                                #      import com.google.type.Color;
+                                #
+                                #      // ...
+                                #      public static java.awt.Color fromProto(Color protocolor) {
+                                #        float alpha = protocolor.hasAlpha()
+                                #            ? protocolor.getAlpha().getValue()
+                                #            : 1.0;
+                                #
+                                #        return new java.awt.Color(
+                                #            protocolor.getRed(),
+                                #            protocolor.getGreen(),
+                                #            protocolor.getBlue(),
+                                #            alpha);
+                                #      }
+                                #
+                                #      public static Color toProto(java.awt.Color color) {
+                                #        float red = (float) color.getRed();
+                                #        float green = (float) color.getGreen();
+                                #        float blue = (float) color.getBlue();
+                                #        float denominator = 255.0;
+                                #        Color.Builder resultBuilder =
+                                #            Color
+                                #                .newBuilder()
+                                #                .setRed(red / denominator)
+                                #                .setGreen(green / denominator)
+                                #                .setBlue(blue / denominator);
+                                #        int alpha = color.getAlpha();
+                                #        if (alpha != 255) {
+                                #          result.setAlpha(
+                                #              FloatValue
+                                #                  .newBuilder()
+                                #                  .setValue(((float) alpha) / denominator)
+                                #                  .build());
+                                #        }
+                                #        return resultBuilder.build();
+                                #      }
+                                #      // ...
+                                #
+                                # Example (iOS / Obj-C):
+                                #
+                                #      // ...
+                                #      static UIColor* fromProto(Color* protocolor) {
+                                #         float red = [protocolor red];
+                                #         float green = [protocolor green];
+                                #         float blue = [protocolor blue];
+                                #         FloatValue* alpha_wrapper = [protocolor alpha];
+                                #         float alpha = 1.0;
+                                #         if (alpha_wrapper != nil) {
+                                #           alpha = [alpha_wrapper value];
+                                #         }
+                                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                                #      }
+                                #
+                                #      static Color* toProto(UIColor* color) {
+                                #          CGFloat red, green, blue, alpha;
+                                #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                                #            return nil;
+                                #          }
+                                #          Color* result = [Color alloc] init];
+                                #          [result setRed:red];
+                                #          [result setGreen:green];
+                                #          [result setBlue:blue];
+                                #          if (alpha <= 0.9999) {
+                                #            [result setAlpha:floatWrapperWithValue(alpha)];
+                                #          }
+                                #          [result autorelease];
+                                #          return result;
+                                #     }
+                                #     // ...
+                                #
+                                #  Example (JavaScript):
+                                #
+                                #     // ...
+                                #
+                                #     var protoToCssColor = function(rgb_color) {
+                                #        var redFrac = rgb_color.red || 0.0;
+                                #        var greenFrac = rgb_color.green || 0.0;
+                                #        var blueFrac = rgb_color.blue || 0.0;
+                                #        var red = Math.floor(redFrac * 255);
+                                #        var green = Math.floor(greenFrac * 255);
+                                #        var blue = Math.floor(blueFrac * 255);
+                                #
+                                #        if (!('alpha' in rgb_color)) {
+                                #           return rgbToCssColor_(red, green, blue);
+                                #        }
+                                #
+                                #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                                #        var rgbParams = [red, green, blue].join(',');
+                                #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                                #     };
+                                #
+                                #     var rgbToCssColor_ = function(red, green, blue) {
+                                #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                                #       var hexString = rgbNumber.toString(16);
+                                #       var missingZeros = 6 - hexString.length;
+                                #       var resultBuilder = ['#'];
+                                #       for (var i = 0; i < missingZeros; i++) {
+                                #          resultBuilder.push('0');
+                                #       }
+                                #       resultBuilder.push(hexString);
+                                #       return resultBuilder.join('');
+                                #     };
+                                #
+                                #     // ...
+                              "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                              "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                                  # the final pixel color is defined by the equation:
+                                  #
+                                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                                  #
+                                  # This means that a value of 1.0 corresponds to a solid color, whereas
+                                  # a value of 0.0 corresponds to a completely transparent color. This
+                                  # uses a wrapper message rather than a simple float scalar so that it is
+                                  # possible to distinguish between a default value and the value being unset.
+                                  # If omitted, this color object is to be rendered as a solid color
+                                  # (as if the alpha value had been explicitly given with a value of 1.0).
+                              "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                              "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            },
+                            "width": 42, # The width of the border, in pixels.
+                                # Border widths must be between 0 and 3 pixels.
+                            "style": "A String", # The style of the border.
+                          },
+                        },
+                        "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
+                      },
+                      "userEnteredFormat": { # The format of a cell. # The format the user entered for the cell.
+                          #
+                          # When writing, the new format will be merged with the existing format.
+                        "numberFormat": { # The number format of a cell. # A format describing how number values should be represented to the user.
+                            # When updating, all fields must be set.
+                          "pattern": "A String", # Pattern string used for formatting.
+                          "type": "A String", # The type of the number format.
+                        },
+                        "textDirection": "A String", # The direction of the text in the cell.
+                        "padding": { # The amount of padding around the cell, in pixels. # The padding of the cell.
+                            # When updating padding, every field must be specified.
+                          "top": 42, # The top padding of the cell.
+                          "right": 42, # The right padding of the cell.
+                          "bottom": 42, # The bottom padding of the cell.
+                          "left": 42, # The left padding of the cell.
+                        },
+                        "horizontalAlignment": "A String", # The horizontal alignment of the value in cell.
+                        "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
+                            # for simplicity of conversion to/from color representations in various
+                            # languages over compactness; for example, the fields of this representation
+                            # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                            # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                            # method in iOS; and, with just a little work, it can be easily formatted into
+                            # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                            #
+                            # Example (Java):
+                            #
+                            #      import com.google.type.Color;
+                            #
+                            #      // ...
+                            #      public static java.awt.Color fromProto(Color protocolor) {
+                            #        float alpha = protocolor.hasAlpha()
+                            #            ? protocolor.getAlpha().getValue()
+                            #            : 1.0;
+                            #
+                            #        return new java.awt.Color(
+                            #            protocolor.getRed(),
+                            #            protocolor.getGreen(),
+                            #            protocolor.getBlue(),
+                            #            alpha);
+                            #      }
+                            #
+                            #      public static Color toProto(java.awt.Color color) {
+                            #        float red = (float) color.getRed();
+                            #        float green = (float) color.getGreen();
+                            #        float blue = (float) color.getBlue();
+                            #        float denominator = 255.0;
+                            #        Color.Builder resultBuilder =
+                            #            Color
+                            #                .newBuilder()
+                            #                .setRed(red / denominator)
+                            #                .setGreen(green / denominator)
+                            #                .setBlue(blue / denominator);
+                            #        int alpha = color.getAlpha();
+                            #        if (alpha != 255) {
+                            #          result.setAlpha(
+                            #              FloatValue
+                            #                  .newBuilder()
+                            #                  .setValue(((float) alpha) / denominator)
+                            #                  .build());
+                            #        }
+                            #        return resultBuilder.build();
+                            #      }
+                            #      // ...
+                            #
+                            # Example (iOS / Obj-C):
+                            #
+                            #      // ...
+                            #      static UIColor* fromProto(Color* protocolor) {
+                            #         float red = [protocolor red];
+                            #         float green = [protocolor green];
+                            #         float blue = [protocolor blue];
+                            #         FloatValue* alpha_wrapper = [protocolor alpha];
+                            #         float alpha = 1.0;
+                            #         if (alpha_wrapper != nil) {
+                            #           alpha = [alpha_wrapper value];
+                            #         }
+                            #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                            #      }
+                            #
+                            #      static Color* toProto(UIColor* color) {
+                            #          CGFloat red, green, blue, alpha;
+                            #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                            #            return nil;
+                            #          }
+                            #          Color* result = [Color alloc] init];
+                            #          [result setRed:red];
+                            #          [result setGreen:green];
+                            #          [result setBlue:blue];
+                            #          if (alpha <= 0.9999) {
+                            #            [result setAlpha:floatWrapperWithValue(alpha)];
+                            #          }
+                            #          [result autorelease];
+                            #          return result;
+                            #     }
+                            #     // ...
+                            #
+                            #  Example (JavaScript):
+                            #
+                            #     // ...
+                            #
+                            #     var protoToCssColor = function(rgb_color) {
+                            #        var redFrac = rgb_color.red || 0.0;
+                            #        var greenFrac = rgb_color.green || 0.0;
+                            #        var blueFrac = rgb_color.blue || 0.0;
+                            #        var red = Math.floor(redFrac * 255);
+                            #        var green = Math.floor(greenFrac * 255);
+                            #        var blue = Math.floor(blueFrac * 255);
+                            #
+                            #        if (!('alpha' in rgb_color)) {
+                            #           return rgbToCssColor_(red, green, blue);
+                            #        }
+                            #
+                            #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                            #        var rgbParams = [red, green, blue].join(',');
+                            #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                            #     };
+                            #
+                            #     var rgbToCssColor_ = function(red, green, blue) {
+                            #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                            #       var hexString = rgbNumber.toString(16);
+                            #       var missingZeros = 6 - hexString.length;
+                            #       var resultBuilder = ['#'];
+                            #       for (var i = 0; i < missingZeros; i++) {
+                            #          resultBuilder.push('0');
+                            #       }
+                            #       resultBuilder.push(hexString);
+                            #       return resultBuilder.join('');
+                            #     };
+                            #
+                            #     // ...
+                          "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                          "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                              # the final pixel color is defined by the equation:
+                              #
+                              #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                              #
+                              # This means that a value of 1.0 corresponds to a solid color, whereas
+                              # a value of 0.0 corresponds to a completely transparent color. This
+                              # uses a wrapper message rather than a simple float scalar so that it is
+                              # possible to distinguish between a default value and the value being unset.
+                              # If omitted, this color object is to be rendered as a solid color
+                              # (as if the alpha value had been explicitly given with a value of 1.0).
+                          "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        },
+                        "verticalAlignment": "A String", # The vertical alignment of the value in cell.
+                        "textFormat": { # The format of a run of text in a cell. # The format of the text in the cell (unless overridden by a format run).
+                            # Absent values indicate that the field isn't specified.
+                          "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
+                              # for simplicity of conversion to/from color representations in various
+                              # languages over compactness; for example, the fields of this representation
+                              # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                              # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                              # method in iOS; and, with just a little work, it can be easily formatted into
+                              # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                              #
+                              # Example (Java):
+                              #
+                              #      import com.google.type.Color;
+                              #
+                              #      // ...
+                              #      public static java.awt.Color fromProto(Color protocolor) {
+                              #        float alpha = protocolor.hasAlpha()
+                              #            ? protocolor.getAlpha().getValue()
+                              #            : 1.0;
+                              #
+                              #        return new java.awt.Color(
+                              #            protocolor.getRed(),
+                              #            protocolor.getGreen(),
+                              #            protocolor.getBlue(),
+                              #            alpha);
+                              #      }
+                              #
+                              #      public static Color toProto(java.awt.Color color) {
+                              #        float red = (float) color.getRed();
+                              #        float green = (float) color.getGreen();
+                              #        float blue = (float) color.getBlue();
+                              #        float denominator = 255.0;
+                              #        Color.Builder resultBuilder =
+                              #            Color
+                              #                .newBuilder()
+                              #                .setRed(red / denominator)
+                              #                .setGreen(green / denominator)
+                              #                .setBlue(blue / denominator);
+                              #        int alpha = color.getAlpha();
+                              #        if (alpha != 255) {
+                              #          result.setAlpha(
+                              #              FloatValue
+                              #                  .newBuilder()
+                              #                  .setValue(((float) alpha) / denominator)
+                              #                  .build());
+                              #        }
+                              #        return resultBuilder.build();
+                              #      }
+                              #      // ...
+                              #
+                              # Example (iOS / Obj-C):
+                              #
+                              #      // ...
+                              #      static UIColor* fromProto(Color* protocolor) {
+                              #         float red = [protocolor red];
+                              #         float green = [protocolor green];
+                              #         float blue = [protocolor blue];
+                              #         FloatValue* alpha_wrapper = [protocolor alpha];
+                              #         float alpha = 1.0;
+                              #         if (alpha_wrapper != nil) {
+                              #           alpha = [alpha_wrapper value];
+                              #         }
+                              #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                              #      }
+                              #
+                              #      static Color* toProto(UIColor* color) {
+                              #          CGFloat red, green, blue, alpha;
+                              #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                              #            return nil;
+                              #          }
+                              #          Color* result = [Color alloc] init];
+                              #          [result setRed:red];
+                              #          [result setGreen:green];
+                              #          [result setBlue:blue];
+                              #          if (alpha <= 0.9999) {
+                              #            [result setAlpha:floatWrapperWithValue(alpha)];
+                              #          }
+                              #          [result autorelease];
+                              #          return result;
+                              #     }
+                              #     // ...
+                              #
+                              #  Example (JavaScript):
+                              #
+                              #     // ...
+                              #
+                              #     var protoToCssColor = function(rgb_color) {
+                              #        var redFrac = rgb_color.red || 0.0;
+                              #        var greenFrac = rgb_color.green || 0.0;
+                              #        var blueFrac = rgb_color.blue || 0.0;
+                              #        var red = Math.floor(redFrac * 255);
+                              #        var green = Math.floor(greenFrac * 255);
+                              #        var blue = Math.floor(blueFrac * 255);
+                              #
+                              #        if (!('alpha' in rgb_color)) {
+                              #           return rgbToCssColor_(red, green, blue);
+                              #        }
+                              #
+                              #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                              #        var rgbParams = [red, green, blue].join(',');
+                              #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                              #     };
+                              #
+                              #     var rgbToCssColor_ = function(red, green, blue) {
+                              #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                              #       var hexString = rgbNumber.toString(16);
+                              #       var missingZeros = 6 - hexString.length;
+                              #       var resultBuilder = ['#'];
+                              #       for (var i = 0; i < missingZeros; i++) {
+                              #          resultBuilder.push('0');
+                              #       }
+                              #       resultBuilder.push(hexString);
+                              #       return resultBuilder.join('');
+                              #     };
+                              #
+                              #     // ...
+                            "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                            "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                                # the final pixel color is defined by the equation:
+                                #
+                                #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                                #
+                                # This means that a value of 1.0 corresponds to a solid color, whereas
+                                # a value of 0.0 corresponds to a completely transparent color. This
+                                # uses a wrapper message rather than a simple float scalar so that it is
+                                # possible to distinguish between a default value and the value being unset.
+                                # If omitted, this color object is to be rendered as a solid color
+                                # (as if the alpha value had been explicitly given with a value of 1.0).
+                            "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          },
+                          "bold": True or False, # True if the text is bold.
+                          "strikethrough": True or False, # True if the text has a strikethrough.
+                          "fontFamily": "A String", # The font family.
+                          "fontSize": 42, # The size of the font.
+                          "italic": True or False, # True if the text is italicized.
+                          "underline": True or False, # True if the text is underlined.
+                        },
+                        "hyperlinkDisplayType": "A String", # How a hyperlink, if it exists, should be displayed in the cell.
+                        "borders": { # The borders of the cell. # The borders of the cell.
+                          "top": { # A border along a cell. # The top border of the cell.
+                            "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                                # for simplicity of conversion to/from color representations in various
+                                # languages over compactness; for example, the fields of this representation
+                                # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                                # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                                # method in iOS; and, with just a little work, it can be easily formatted into
+                                # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                                #
+                                # Example (Java):
+                                #
+                                #      import com.google.type.Color;
+                                #
+                                #      // ...
+                                #      public static java.awt.Color fromProto(Color protocolor) {
+                                #        float alpha = protocolor.hasAlpha()
+                                #            ? protocolor.getAlpha().getValue()
+                                #            : 1.0;
+                                #
+                                #        return new java.awt.Color(
+                                #            protocolor.getRed(),
+                                #            protocolor.getGreen(),
+                                #            protocolor.getBlue(),
+                                #            alpha);
+                                #      }
+                                #
+                                #      public static Color toProto(java.awt.Color color) {
+                                #        float red = (float) color.getRed();
+                                #        float green = (float) color.getGreen();
+                                #        float blue = (float) color.getBlue();
+                                #        float denominator = 255.0;
+                                #        Color.Builder resultBuilder =
+                                #            Color
+                                #                .newBuilder()
+                                #                .setRed(red / denominator)
+                                #                .setGreen(green / denominator)
+                                #                .setBlue(blue / denominator);
+                                #        int alpha = color.getAlpha();
+                                #        if (alpha != 255) {
+                                #          result.setAlpha(
+                                #              FloatValue
+                                #                  .newBuilder()
+                                #                  .setValue(((float) alpha) / denominator)
+                                #                  .build());
+                                #        }
+                                #        return resultBuilder.build();
+                                #      }
+                                #      // ...
+                                #
+                                # Example (iOS / Obj-C):
+                                #
+                                #      // ...
+                                #      static UIColor* fromProto(Color* protocolor) {
+                                #         float red = [protocolor red];
+                                #         float green = [protocolor green];
+                                #         float blue = [protocolor blue];
+                                #         FloatValue* alpha_wrapper = [protocolor alpha];
+                                #         float alpha = 1.0;
+                                #         if (alpha_wrapper != nil) {
+                                #           alpha = [alpha_wrapper value];
+                                #         }
+                                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                                #      }
+                                #
+                                #      static Color* toProto(UIColor* color) {
+                                #          CGFloat red, green, blue, alpha;
+                                #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                                #            return nil;
+                                #          }
+                                #          Color* result = [Color alloc] init];
+                                #          [result setRed:red];
+                                #          [result setGreen:green];
+                                #          [result setBlue:blue];
+                                #          if (alpha <= 0.9999) {
+                                #            [result setAlpha:floatWrapperWithValue(alpha)];
+                                #          }
+                                #          [result autorelease];
+                                #          return result;
+                                #     }
+                                #     // ...
+                                #
+                                #  Example (JavaScript):
+                                #
+                                #     // ...
+                                #
+                                #     var protoToCssColor = function(rgb_color) {
+                                #        var redFrac = rgb_color.red || 0.0;
+                                #        var greenFrac = rgb_color.green || 0.0;
+                                #        var blueFrac = rgb_color.blue || 0.0;
+                                #        var red = Math.floor(redFrac * 255);
+                                #        var green = Math.floor(greenFrac * 255);
+                                #        var blue = Math.floor(blueFrac * 255);
+                                #
+                                #        if (!('alpha' in rgb_color)) {
+                                #           return rgbToCssColor_(red, green, blue);
+                                #        }
+                                #
+                                #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                                #        var rgbParams = [red, green, blue].join(',');
+                                #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                                #     };
+                                #
+                                #     var rgbToCssColor_ = function(red, green, blue) {
+                                #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                                #       var hexString = rgbNumber.toString(16);
+                                #       var missingZeros = 6 - hexString.length;
+                                #       var resultBuilder = ['#'];
+                                #       for (var i = 0; i < missingZeros; i++) {
+                                #          resultBuilder.push('0');
+                                #       }
+                                #       resultBuilder.push(hexString);
+                                #       return resultBuilder.join('');
+                                #     };
+                                #
+                                #     // ...
+                              "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                              "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                                  # the final pixel color is defined by the equation:
+                                  #
+                                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                                  #
+                                  # This means that a value of 1.0 corresponds to a solid color, whereas
+                                  # a value of 0.0 corresponds to a completely transparent color. This
+                                  # uses a wrapper message rather than a simple float scalar so that it is
+                                  # possible to distinguish between a default value and the value being unset.
+                                  # If omitted, this color object is to be rendered as a solid color
+                                  # (as if the alpha value had been explicitly given with a value of 1.0).
+                              "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                              "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            },
+                            "width": 42, # The width of the border, in pixels.
+                                # Border widths must be between 0 and 3 pixels.
+                            "style": "A String", # The style of the border.
+                          },
+                          "right": { # A border along a cell. # The right border of the cell.
+                            "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                                # for simplicity of conversion to/from color representations in various
+                                # languages over compactness; for example, the fields of this representation
+                                # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                                # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                                # method in iOS; and, with just a little work, it can be easily formatted into
+                                # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                                #
+                                # Example (Java):
+                                #
+                                #      import com.google.type.Color;
+                                #
+                                #      // ...
+                                #      public static java.awt.Color fromProto(Color protocolor) {
+                                #        float alpha = protocolor.hasAlpha()
+                                #            ? protocolor.getAlpha().getValue()
+                                #            : 1.0;
+                                #
+                                #        return new java.awt.Color(
+                                #            protocolor.getRed(),
+                                #            protocolor.getGreen(),
+                                #            protocolor.getBlue(),
+                                #            alpha);
+                                #      }
+                                #
+                                #      public static Color toProto(java.awt.Color color) {
+                                #        float red = (float) color.getRed();
+                                #        float green = (float) color.getGreen();
+                                #        float blue = (float) color.getBlue();
+                                #        float denominator = 255.0;
+                                #        Color.Builder resultBuilder =
+                                #            Color
+                                #                .newBuilder()
+                                #                .setRed(red / denominator)
+                                #                .setGreen(green / denominator)
+                                #                .setBlue(blue / denominator);
+                                #        int alpha = color.getAlpha();
+                                #        if (alpha != 255) {
+                                #          result.setAlpha(
+                                #              FloatValue
+                                #                  .newBuilder()
+                                #                  .setValue(((float) alpha) / denominator)
+                                #                  .build());
+                                #        }
+                                #        return resultBuilder.build();
+                                #      }
+                                #      // ...
+                                #
+                                # Example (iOS / Obj-C):
+                                #
+                                #      // ...
+                                #      static UIColor* fromProto(Color* protocolor) {
+                                #         float red = [protocolor red];
+                                #         float green = [protocolor green];
+                                #         float blue = [protocolor blue];
+                                #         FloatValue* alpha_wrapper = [protocolor alpha];
+                                #         float alpha = 1.0;
+                                #         if (alpha_wrapper != nil) {
+                                #           alpha = [alpha_wrapper value];
+                                #         }
+                                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                                #      }
+                                #
+                                #      static Color* toProto(UIColor* color) {
+                                #          CGFloat red, green, blue, alpha;
+                                #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                                #            return nil;
+                                #          }
+                                #          Color* result = [Color alloc] init];
+                                #          [result setRed:red];
+                                #          [result setGreen:green];
+                                #          [result setBlue:blue];
+                                #          if (alpha <= 0.9999) {
+                                #            [result setAlpha:floatWrapperWithValue(alpha)];
+                                #          }
+                                #          [result autorelease];
+                                #          return result;
+                                #     }
+                                #     // ...
+                                #
+                                #  Example (JavaScript):
+                                #
+                                #     // ...
+                                #
+                                #     var protoToCssColor = function(rgb_color) {
+                                #        var redFrac = rgb_color.red || 0.0;
+                                #        var greenFrac = rgb_color.green || 0.0;
+                                #        var blueFrac = rgb_color.blue || 0.0;
+                                #        var red = Math.floor(redFrac * 255);
+                                #        var green = Math.floor(greenFrac * 255);
+                                #        var blue = Math.floor(blueFrac * 255);
+                                #
+                                #        if (!('alpha' in rgb_color)) {
+                                #           return rgbToCssColor_(red, green, blue);
+                                #        }
+                                #
+                                #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                                #        var rgbParams = [red, green, blue].join(',');
+                                #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                                #     };
+                                #
+                                #     var rgbToCssColor_ = function(red, green, blue) {
+                                #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                                #       var hexString = rgbNumber.toString(16);
+                                #       var missingZeros = 6 - hexString.length;
+                                #       var resultBuilder = ['#'];
+                                #       for (var i = 0; i < missingZeros; i++) {
+                                #          resultBuilder.push('0');
+                                #       }
+                                #       resultBuilder.push(hexString);
+                                #       return resultBuilder.join('');
+                                #     };
+                                #
+                                #     // ...
+                              "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                              "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                                  # the final pixel color is defined by the equation:
+                                  #
+                                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                                  #
+                                  # This means that a value of 1.0 corresponds to a solid color, whereas
+                                  # a value of 0.0 corresponds to a completely transparent color. This
+                                  # uses a wrapper message rather than a simple float scalar so that it is
+                                  # possible to distinguish between a default value and the value being unset.
+                                  # If omitted, this color object is to be rendered as a solid color
+                                  # (as if the alpha value had been explicitly given with a value of 1.0).
+                              "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                              "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            },
+                            "width": 42, # The width of the border, in pixels.
+                                # Border widths must be between 0 and 3 pixels.
+                            "style": "A String", # The style of the border.
+                          },
+                          "bottom": { # A border along a cell. # The bottom border of the cell.
+                            "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                                # for simplicity of conversion to/from color representations in various
+                                # languages over compactness; for example, the fields of this representation
+                                # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                                # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                                # method in iOS; and, with just a little work, it can be easily formatted into
+                                # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                                #
+                                # Example (Java):
+                                #
+                                #      import com.google.type.Color;
+                                #
+                                #      // ...
+                                #      public static java.awt.Color fromProto(Color protocolor) {
+                                #        float alpha = protocolor.hasAlpha()
+                                #            ? protocolor.getAlpha().getValue()
+                                #            : 1.0;
+                                #
+                                #        return new java.awt.Color(
+                                #            protocolor.getRed(),
+                                #            protocolor.getGreen(),
+                                #            protocolor.getBlue(),
+                                #            alpha);
+                                #      }
+                                #
+                                #      public static Color toProto(java.awt.Color color) {
+                                #        float red = (float) color.getRed();
+                                #        float green = (float) color.getGreen();
+                                #        float blue = (float) color.getBlue();
+                                #        float denominator = 255.0;
+                                #        Color.Builder resultBuilder =
+                                #            Color
+                                #                .newBuilder()
+                                #                .setRed(red / denominator)
+                                #                .setGreen(green / denominator)
+                                #                .setBlue(blue / denominator);
+                                #        int alpha = color.getAlpha();
+                                #        if (alpha != 255) {
+                                #          result.setAlpha(
+                                #              FloatValue
+                                #                  .newBuilder()
+                                #                  .setValue(((float) alpha) / denominator)
+                                #                  .build());
+                                #        }
+                                #        return resultBuilder.build();
+                                #      }
+                                #      // ...
+                                #
+                                # Example (iOS / Obj-C):
+                                #
+                                #      // ...
+                                #      static UIColor* fromProto(Color* protocolor) {
+                                #         float red = [protocolor red];
+                                #         float green = [protocolor green];
+                                #         float blue = [protocolor blue];
+                                #         FloatValue* alpha_wrapper = [protocolor alpha];
+                                #         float alpha = 1.0;
+                                #         if (alpha_wrapper != nil) {
+                                #           alpha = [alpha_wrapper value];
+                                #         }
+                                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                                #      }
+                                #
+                                #      static Color* toProto(UIColor* color) {
+                                #          CGFloat red, green, blue, alpha;
+                                #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                                #            return nil;
+                                #          }
+                                #          Color* result = [Color alloc] init];
+                                #          [result setRed:red];
+                                #          [result setGreen:green];
+                                #          [result setBlue:blue];
+                                #          if (alpha <= 0.9999) {
+                                #            [result setAlpha:floatWrapperWithValue(alpha)];
+                                #          }
+                                #          [result autorelease];
+                                #          return result;
+                                #     }
+                                #     // ...
+                                #
+                                #  Example (JavaScript):
+                                #
+                                #     // ...
+                                #
+                                #     var protoToCssColor = function(rgb_color) {
+                                #        var redFrac = rgb_color.red || 0.0;
+                                #        var greenFrac = rgb_color.green || 0.0;
+                                #        var blueFrac = rgb_color.blue || 0.0;
+                                #        var red = Math.floor(redFrac * 255);
+                                #        var green = Math.floor(greenFrac * 255);
+                                #        var blue = Math.floor(blueFrac * 255);
+                                #
+                                #        if (!('alpha' in rgb_color)) {
+                                #           return rgbToCssColor_(red, green, blue);
+                                #        }
+                                #
+                                #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                                #        var rgbParams = [red, green, blue].join(',');
+                                #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                                #     };
+                                #
+                                #     var rgbToCssColor_ = function(red, green, blue) {
+                                #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                                #       var hexString = rgbNumber.toString(16);
+                                #       var missingZeros = 6 - hexString.length;
+                                #       var resultBuilder = ['#'];
+                                #       for (var i = 0; i < missingZeros; i++) {
+                                #          resultBuilder.push('0');
+                                #       }
+                                #       resultBuilder.push(hexString);
+                                #       return resultBuilder.join('');
+                                #     };
+                                #
+                                #     // ...
+                              "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                              "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                                  # the final pixel color is defined by the equation:
+                                  #
+                                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                                  #
+                                  # This means that a value of 1.0 corresponds to a solid color, whereas
+                                  # a value of 0.0 corresponds to a completely transparent color. This
+                                  # uses a wrapper message rather than a simple float scalar so that it is
+                                  # possible to distinguish between a default value and the value being unset.
+                                  # If omitted, this color object is to be rendered as a solid color
+                                  # (as if the alpha value had been explicitly given with a value of 1.0).
+                              "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                              "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            },
+                            "width": 42, # The width of the border, in pixels.
+                                # Border widths must be between 0 and 3 pixels.
+                            "style": "A String", # The style of the border.
+                          },
+                          "left": { # A border along a cell. # The left border of the cell.
+                            "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                                # for simplicity of conversion to/from color representations in various
+                                # languages over compactness; for example, the fields of this representation
+                                # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                                # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                                # method in iOS; and, with just a little work, it can be easily formatted into
+                                # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                                #
+                                # Example (Java):
+                                #
+                                #      import com.google.type.Color;
+                                #
+                                #      // ...
+                                #      public static java.awt.Color fromProto(Color protocolor) {
+                                #        float alpha = protocolor.hasAlpha()
+                                #            ? protocolor.getAlpha().getValue()
+                                #            : 1.0;
+                                #
+                                #        return new java.awt.Color(
+                                #            protocolor.getRed(),
+                                #            protocolor.getGreen(),
+                                #            protocolor.getBlue(),
+                                #            alpha);
+                                #      }
+                                #
+                                #      public static Color toProto(java.awt.Color color) {
+                                #        float red = (float) color.getRed();
+                                #        float green = (float) color.getGreen();
+                                #        float blue = (float) color.getBlue();
+                                #        float denominator = 255.0;
+                                #        Color.Builder resultBuilder =
+                                #            Color
+                                #                .newBuilder()
+                                #                .setRed(red / denominator)
+                                #                .setGreen(green / denominator)
+                                #                .setBlue(blue / denominator);
+                                #        int alpha = color.getAlpha();
+                                #        if (alpha != 255) {
+                                #          result.setAlpha(
+                                #              FloatValue
+                                #                  .newBuilder()
+                                #                  .setValue(((float) alpha) / denominator)
+                                #                  .build());
+                                #        }
+                                #        return resultBuilder.build();
+                                #      }
+                                #      // ...
+                                #
+                                # Example (iOS / Obj-C):
+                                #
+                                #      // ...
+                                #      static UIColor* fromProto(Color* protocolor) {
+                                #         float red = [protocolor red];
+                                #         float green = [protocolor green];
+                                #         float blue = [protocolor blue];
+                                #         FloatValue* alpha_wrapper = [protocolor alpha];
+                                #         float alpha = 1.0;
+                                #         if (alpha_wrapper != nil) {
+                                #           alpha = [alpha_wrapper value];
+                                #         }
+                                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                                #      }
+                                #
+                                #      static Color* toProto(UIColor* color) {
+                                #          CGFloat red, green, blue, alpha;
+                                #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                                #            return nil;
+                                #          }
+                                #          Color* result = [Color alloc] init];
+                                #          [result setRed:red];
+                                #          [result setGreen:green];
+                                #          [result setBlue:blue];
+                                #          if (alpha <= 0.9999) {
+                                #            [result setAlpha:floatWrapperWithValue(alpha)];
+                                #          }
+                                #          [result autorelease];
+                                #          return result;
+                                #     }
+                                #     // ...
+                                #
+                                #  Example (JavaScript):
+                                #
+                                #     // ...
+                                #
+                                #     var protoToCssColor = function(rgb_color) {
+                                #        var redFrac = rgb_color.red || 0.0;
+                                #        var greenFrac = rgb_color.green || 0.0;
+                                #        var blueFrac = rgb_color.blue || 0.0;
+                                #        var red = Math.floor(redFrac * 255);
+                                #        var green = Math.floor(greenFrac * 255);
+                                #        var blue = Math.floor(blueFrac * 255);
+                                #
+                                #        if (!('alpha' in rgb_color)) {
+                                #           return rgbToCssColor_(red, green, blue);
+                                #        }
+                                #
+                                #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                                #        var rgbParams = [red, green, blue].join(',');
+                                #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                                #     };
+                                #
+                                #     var rgbToCssColor_ = function(red, green, blue) {
+                                #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                                #       var hexString = rgbNumber.toString(16);
+                                #       var missingZeros = 6 - hexString.length;
+                                #       var resultBuilder = ['#'];
+                                #       for (var i = 0; i < missingZeros; i++) {
+                                #          resultBuilder.push('0');
+                                #       }
+                                #       resultBuilder.push(hexString);
+                                #       return resultBuilder.join('');
+                                #     };
+                                #
+                                #     // ...
+                              "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                              "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                                  # the final pixel color is defined by the equation:
+                                  #
+                                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                                  #
+                                  # This means that a value of 1.0 corresponds to a solid color, whereas
+                                  # a value of 0.0 corresponds to a completely transparent color. This
+                                  # uses a wrapper message rather than a simple float scalar so that it is
+                                  # possible to distinguish between a default value and the value being unset.
+                                  # If omitted, this color object is to be rendered as a solid color
+                                  # (as if the alpha value had been explicitly given with a value of 1.0).
+                              "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                              "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            },
+                            "width": 42, # The width of the border, in pixels.
+                                # Border widths must be between 0 and 3 pixels.
+                            "style": "A String", # The style of the border.
+                          },
+                        },
+                        "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
+                      },
+                      "dataValidation": { # A data validation rule. # A data validation rule on the cell, if any.
+                          #
+                          # When writing, the new data validation rule will overwrite any prior rule.
+                        "showCustomUi": True or False, # True if the UI should be customized based on the kind of condition.
+                            # If true, "List" conditions will show a dropdown.
+                        "strict": True or False, # True if invalid data should be rejected.
+                        "inputMessage": "A String", # A message to show the user when adding data to the cell.
+                        "condition": { # A condition that can evaluate to true or false. # The condition that data in the cell must match.
+                            # BooleanConditions are used by conditional formatting,
+                            # data validation, and the criteria in filters.
+                          "type": "A String", # The type of condition.
+                          "values": [ # The values of the condition. The number of supported values depends
+                              # on the condition type.  Some support zero values,
+                              # others one or two values,
+                              # and ConditionType.ONE_OF_LIST supports an arbitrary number of values.
+                            { # The value of the condition.
+                              "relativeDate": "A String", # A relative date (based on the current date).
+                                  # Valid only if the type is
+                                  # DATE_BEFORE,
+                                  # DATE_AFTER,
+                                  # DATE_ON_OR_BEFORE or
+                                  # DATE_ON_OR_AFTER.
+                                  #
+                                  # Relative dates are not supported in data validation.
+                                  # They are supported only in conditional formatting and
+                                  # conditional filters.
+                              "userEnteredValue": "A String", # A value the condition is based on.
+                                  # The value will be parsed as if the user typed into a cell.
+                                  # Formulas are supported (and must begin with an `=`).
+                            },
+                          ],
+                        },
+                      },
+                      "textFormatRuns": [ # Runs of rich text applied to subsections of the cell.
+                          # Runs start at specific indexes in the text and continue until the next
+                          # run. Properties of a run will continue unless explicitly changed
+                          # in a subsequent run (and properties of the first run will continue
+                          # the properties of the cell unless explicitly changed).
+                          #
+                          # When writing, the new runs will overwrite any prior runs.
+                        { # A run of a text format. The format of this run continues until explicitly
+                            # overridden in the next run.
+                            # When updating, all fields must be set.
+                          "startIndex": 42, # The character index where this run starts.
+                          "format": { # The format of a run of text in a cell. # The format of this run.  Absent values inherit the cell's format.
+                              # Absent values indicate that the field isn't specified.
+                            "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
+                                # for simplicity of conversion to/from color representations in various
+                                # languages over compactness; for example, the fields of this representation
+                                # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                                # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                                # method in iOS; and, with just a little work, it can be easily formatted into
+                                # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                                #
+                                # Example (Java):
+                                #
+                                #      import com.google.type.Color;
+                                #
+                                #      // ...
+                                #      public static java.awt.Color fromProto(Color protocolor) {
+                                #        float alpha = protocolor.hasAlpha()
+                                #            ? protocolor.getAlpha().getValue()
+                                #            : 1.0;
+                                #
+                                #        return new java.awt.Color(
+                                #            protocolor.getRed(),
+                                #            protocolor.getGreen(),
+                                #            protocolor.getBlue(),
+                                #            alpha);
+                                #      }
+                                #
+                                #      public static Color toProto(java.awt.Color color) {
+                                #        float red = (float) color.getRed();
+                                #        float green = (float) color.getGreen();
+                                #        float blue = (float) color.getBlue();
+                                #        float denominator = 255.0;
+                                #        Color.Builder resultBuilder =
+                                #            Color
+                                #                .newBuilder()
+                                #                .setRed(red / denominator)
+                                #                .setGreen(green / denominator)
+                                #                .setBlue(blue / denominator);
+                                #        int alpha = color.getAlpha();
+                                #        if (alpha != 255) {
+                                #          result.setAlpha(
+                                #              FloatValue
+                                #                  .newBuilder()
+                                #                  .setValue(((float) alpha) / denominator)
+                                #                  .build());
+                                #        }
+                                #        return resultBuilder.build();
+                                #      }
+                                #      // ...
+                                #
+                                # Example (iOS / Obj-C):
+                                #
+                                #      // ...
+                                #      static UIColor* fromProto(Color* protocolor) {
+                                #         float red = [protocolor red];
+                                #         float green = [protocolor green];
+                                #         float blue = [protocolor blue];
+                                #         FloatValue* alpha_wrapper = [protocolor alpha];
+                                #         float alpha = 1.0;
+                                #         if (alpha_wrapper != nil) {
+                                #           alpha = [alpha_wrapper value];
+                                #         }
+                                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                                #      }
+                                #
+                                #      static Color* toProto(UIColor* color) {
+                                #          CGFloat red, green, blue, alpha;
+                                #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                                #            return nil;
+                                #          }
+                                #          Color* result = [Color alloc] init];
+                                #          [result setRed:red];
+                                #          [result setGreen:green];
+                                #          [result setBlue:blue];
+                                #          if (alpha <= 0.9999) {
+                                #            [result setAlpha:floatWrapperWithValue(alpha)];
+                                #          }
+                                #          [result autorelease];
+                                #          return result;
+                                #     }
+                                #     // ...
+                                #
+                                #  Example (JavaScript):
+                                #
+                                #     // ...
+                                #
+                                #     var protoToCssColor = function(rgb_color) {
+                                #        var redFrac = rgb_color.red || 0.0;
+                                #        var greenFrac = rgb_color.green || 0.0;
+                                #        var blueFrac = rgb_color.blue || 0.0;
+                                #        var red = Math.floor(redFrac * 255);
+                                #        var green = Math.floor(greenFrac * 255);
+                                #        var blue = Math.floor(blueFrac * 255);
+                                #
+                                #        if (!('alpha' in rgb_color)) {
+                                #           return rgbToCssColor_(red, green, blue);
+                                #        }
+                                #
+                                #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                                #        var rgbParams = [red, green, blue].join(',');
+                                #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                                #     };
+                                #
+                                #     var rgbToCssColor_ = function(red, green, blue) {
+                                #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                                #       var hexString = rgbNumber.toString(16);
+                                #       var missingZeros = 6 - hexString.length;
+                                #       var resultBuilder = ['#'];
+                                #       for (var i = 0; i < missingZeros; i++) {
+                                #          resultBuilder.push('0');
+                                #       }
+                                #       resultBuilder.push(hexString);
+                                #       return resultBuilder.join('');
+                                #     };
+                                #
+                                #     // ...
+                              "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                              "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                                  # the final pixel color is defined by the equation:
+                                  #
+                                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                                  #
+                                  # This means that a value of 1.0 corresponds to a solid color, whereas
+                                  # a value of 0.0 corresponds to a completely transparent color. This
+                                  # uses a wrapper message rather than a simple float scalar so that it is
+                                  # possible to distinguish between a default value and the value being unset.
+                                  # If omitted, this color object is to be rendered as a solid color
+                                  # (as if the alpha value had been explicitly given with a value of 1.0).
+                              "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                              "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            },
+                            "bold": True or False, # True if the text is bold.
+                            "strikethrough": True or False, # True if the text has a strikethrough.
+                            "fontFamily": "A String", # The font family.
+                            "fontSize": 42, # The size of the font.
+                            "italic": True or False, # True if the text is italicized.
+                            "underline": True or False, # True if the text is underlined.
+                          },
+                        },
+                      ],
+                    },
+                  ],
+                },
+              ],
+            },
+          ],
+          "properties": { # Properties of a sheet. # The properties of the sheet.
+            "sheetType": "A String", # The type of sheet. Defaults to GRID.
+                # This field cannot be changed once set.
+            "index": 42, # The index of the sheet within the spreadsheet.
+                # When adding or updating sheet properties, if this field
+                # is excluded then the sheet will be added or moved to the end
+                # of the sheet list.
+            "title": "A String", # The name of the sheet.
+            "gridProperties": { # Properties of a grid. # Additional properties of the sheet if this sheet is a grid.
+                # (If the sheet is an object sheet, containing a chart or image, then
+                # this field will be absent.)
+                # When writing it is an error to set any grid properties on non-grid sheets.
+              "columnCount": 42, # The number of columns in the grid.
+              "rowCount": 42, # The number of rows in the grid.
+              "frozenColumnCount": 42, # The number of columns that are frozen in the grid.
+              "hideGridlines": True or False, # True if the grid isn't showing gridlines in the UI.
+              "frozenRowCount": 42, # The number of rows that are frozen in the grid.
+            },
+            "rightToLeft": True or False, # True if the sheet is an RTL sheet instead of an LTR sheet.
+            "tabColor": { # Represents a color in the RGBA color space. This representation is designed # The color of the tab in the UI.
+                # for simplicity of conversion to/from color representations in various
+                # languages over compactness; for example, the fields of this representation
+                # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                # method in iOS; and, with just a little work, it can be easily formatted into
+                # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                #
+                # Example (Java):
+                #
+                #      import com.google.type.Color;
+                #
+                #      // ...
+                #      public static java.awt.Color fromProto(Color protocolor) {
+                #        float alpha = protocolor.hasAlpha()
+                #            ? protocolor.getAlpha().getValue()
+                #            : 1.0;
+                #
+                #        return new java.awt.Color(
+                #            protocolor.getRed(),
+                #            protocolor.getGreen(),
+                #            protocolor.getBlue(),
+                #            alpha);
+                #      }
+                #
+                #      public static Color toProto(java.awt.Color color) {
+                #        float red = (float) color.getRed();
+                #        float green = (float) color.getGreen();
+                #        float blue = (float) color.getBlue();
+                #        float denominator = 255.0;
+                #        Color.Builder resultBuilder =
+                #            Color
+                #                .newBuilder()
+                #                .setRed(red / denominator)
+                #                .setGreen(green / denominator)
+                #                .setBlue(blue / denominator);
+                #        int alpha = color.getAlpha();
+                #        if (alpha != 255) {
+                #          result.setAlpha(
+                #              FloatValue
+                #                  .newBuilder()
+                #                  .setValue(((float) alpha) / denominator)
+                #                  .build());
+                #        }
+                #        return resultBuilder.build();
+                #      }
+                #      // ...
+                #
+                # Example (iOS / Obj-C):
+                #
+                #      // ...
+                #      static UIColor* fromProto(Color* protocolor) {
+                #         float red = [protocolor red];
+                #         float green = [protocolor green];
+                #         float blue = [protocolor blue];
+                #         FloatValue* alpha_wrapper = [protocolor alpha];
+                #         float alpha = 1.0;
+                #         if (alpha_wrapper != nil) {
+                #           alpha = [alpha_wrapper value];
+                #         }
+                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                #      }
+                #
+                #      static Color* toProto(UIColor* color) {
+                #          CGFloat red, green, blue, alpha;
+                #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                #            return nil;
+                #          }
+                #          Color* result = [Color alloc] init];
+                #          [result setRed:red];
+                #          [result setGreen:green];
+                #          [result setBlue:blue];
+                #          if (alpha <= 0.9999) {
+                #            [result setAlpha:floatWrapperWithValue(alpha)];
+                #          }
+                #          [result autorelease];
+                #          return result;
+                #     }
+                #     // ...
+                #
+                #  Example (JavaScript):
+                #
+                #     // ...
+                #
+                #     var protoToCssColor = function(rgb_color) {
+                #        var redFrac = rgb_color.red || 0.0;
+                #        var greenFrac = rgb_color.green || 0.0;
+                #        var blueFrac = rgb_color.blue || 0.0;
+                #        var red = Math.floor(redFrac * 255);
+                #        var green = Math.floor(greenFrac * 255);
+                #        var blue = Math.floor(blueFrac * 255);
+                #
+                #        if (!('alpha' in rgb_color)) {
+                #           return rgbToCssColor_(red, green, blue);
+                #        }
+                #
+                #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                #        var rgbParams = [red, green, blue].join(',');
+                #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                #     };
+                #
+                #     var rgbToCssColor_ = function(red, green, blue) {
+                #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                #       var hexString = rgbNumber.toString(16);
+                #       var missingZeros = 6 - hexString.length;
+                #       var resultBuilder = ['#'];
+                #       for (var i = 0; i < missingZeros; i++) {
+                #          resultBuilder.push('0');
+                #       }
+                #       resultBuilder.push(hexString);
+                #       return resultBuilder.join('');
+                #     };
+                #
+                #     // ...
+              "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+              "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                  # the final pixel color is defined by the equation:
+                  #
+                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                  #
+                  # This means that a value of 1.0 corresponds to a solid color, whereas
+                  # a value of 0.0 corresponds to a completely transparent color. This
+                  # uses a wrapper message rather than a simple float scalar so that it is
+                  # possible to distinguish between a default value and the value being unset.
+                  # If omitted, this color object is to be rendered as a solid color
+                  # (as if the alpha value had been explicitly given with a value of 1.0).
+              "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+            },
+            "hidden": True or False, # True if the sheet is hidden in the UI, false if it's visible.
+            "sheetId": 42, # The ID of the sheet. Must be non-negative.
+                # This field cannot be changed once set.
+          },
+        },
+      ],
+    }
+
+ +
+ get(spreadsheetId, ranges=None, x__xgafv=None, includeGridData=None) +
Returns the spreadsheet at the given id.
+The caller must specify the spreadsheet ID.
+
+By default, data within grids will not be returned.
+You can include grid data one of two ways: specify a field mask listing
+your desired fields (using the `fields` URL parameter in HTTP,
+or `FieldMaskContext.response_mask` in the request extensions in an RPC),
+or by setting the
+includeGridData URL parameter
+to true.  If a field mask is set, the `includeGridData` parameter is
+ignored.
+
+For large spreadsheets, it is recommended to retrieve only the specific
+fields of the spreadsheet that you want.
+
+To retrieve only subsets of the spreadsheet, use the
+ranges URL parameter.
+Multiple ranges can be specified.  Limiting the range will
+return only the portions of the spreadsheet that intersect the requested
+ranges. Ranges are specified using A1 notation.
+
+Args:
+  spreadsheetId: string, The spreadsheet to request. (required)
+  ranges: string, The ranges to retrieve from the spreadsheet. (repeated)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+  includeGridData: boolean, True if grid data should be returned.
+This parameter is ignored if a field mask was set in the request.
+
+Returns:
+  An object of the form:
+
+    { # Resource that represents a spreadsheet.
+      "spreadsheetId": "A String", # The ID of the spreadsheet.
+          # This field is read-only.
+      "namedRanges": [ # The named ranges defined in a spreadsheet.
+        { # A named range.
+          "namedRangeId": "A String", # The ID of the named range.
+          "range": { # A range on a sheet. # The range this represents.
+              # All indexes are zero-based.
+              # Indexes are half open, e.g the start index is inclusive
+              # and the end index is exclusive -- [start_index, end_index).
+              # Missing indexes indicate the range is unbounded on that side.
+              #
+              # For example, if "Sheet1" is grid ID 0, then:
+              #
+              #   Sheet1!A1:A1 == sheet_id: 0,
+              #                   start_row_index: 0, end_row_index: 1,
+              #                   start_column_index: 0, end_column_index: 1
+              #
+              #   Sheet1!A3:B4 == sheet_id: 0,
+              #                   start_row_index: 2, end_row_index: 4,
+              #                   start_column_index: 0, end_column_index: 2
+              #
+              #   Sheet1!A:B == sheet_id: 0,
+              #                 start_column_index: 0, end_column_index: 2
+              #
+              #   Sheet1!A5:B == sheet_id: 0,
+              #                  start_row_index: 4,
+              #                  start_column_index: 0, end_column_index: 2
+              #
+              #   Sheet1 == sheet_id:0
+              #
+              # The start index must always be less than or equal to the end index.
+              # If the start index equals the end index, then the range is empty.
+              # Empty ranges are typically not meaningful and are usually rendered in the
+              # UI as `#REF!`.
+            "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+            "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+            "sheetId": 42, # The sheet this range is on.
+            "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+            "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+          },
+          "name": "A String", # The name of the named range.
+        },
+      ],
+      "properties": { # Properties of a spreadsheet. # Overall properties of a spreadsheet.
+        "locale": "A String", # The locale of the spreadsheet in one of the following formats:
+            # * an ISO 639-1 language code such as `en`
+            # * an ISO 639-2 language code such as `fil`, if no 639-1 code exists
+            # * a combination of the ISO language code and country code, such as `en_US`
+            # Note: when updating this field, not all locales/languages are supported.
+        "timeZone": "A String", # The time zone of the spreadsheet, in CLDR format such as
+            # `America/New_York`. If the time zone isn't recognized, this may
+            # be a custom time zone such as `GMT-07:00`.
+        "autoRecalc": "A String", # The amount of time to wait before volatile functions are recalculated.
+        "defaultFormat": { # The format of a cell. # The default format of all cells in the spreadsheet.
+            # CellData.effectiveFormat will not be set if the cell's format is equal
+            # to this default format.
+            # This field is read-only.
+          "numberFormat": { # The number format of a cell. # A format describing how number values should be represented to the user.
+              # When updating, all fields must be set.
+            "pattern": "A String", # Pattern string used for formatting.
+            "type": "A String", # The type of the number format.
+          },
+          "textDirection": "A String", # The direction of the text in the cell.
+          "padding": { # The amount of padding around the cell, in pixels. # The padding of the cell.
+              # When updating padding, every field must be specified.
+            "top": 42, # The top padding of the cell.
+            "right": 42, # The right padding of the cell.
+            "bottom": 42, # The bottom padding of the cell.
+            "left": 42, # The left padding of the cell.
+          },
+          "horizontalAlignment": "A String", # The horizontal alignment of the value in cell.
+          "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
+              # for simplicity of conversion to/from color representations in various
+              # languages over compactness; for example, the fields of this representation
+              # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+              # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+              # method in iOS; and, with just a little work, it can be easily formatted into
+              # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+              #
+              # Example (Java):
+              #
+              #      import com.google.type.Color;
+              #
+              #      // ...
+              #      public static java.awt.Color fromProto(Color protocolor) {
+              #        float alpha = protocolor.hasAlpha()
+              #            ? protocolor.getAlpha().getValue()
+              #            : 1.0;
+              #
+              #        return new java.awt.Color(
+              #            protocolor.getRed(),
+              #            protocolor.getGreen(),
+              #            protocolor.getBlue(),
+              #            alpha);
+              #      }
+              #
+              #      public static Color toProto(java.awt.Color color) {
+              #        float red = (float) color.getRed();
+              #        float green = (float) color.getGreen();
+              #        float blue = (float) color.getBlue();
+              #        float denominator = 255.0;
+              #        Color.Builder resultBuilder =
+              #            Color
+              #                .newBuilder()
+              #                .setRed(red / denominator)
+              #                .setGreen(green / denominator)
+              #                .setBlue(blue / denominator);
+              #        int alpha = color.getAlpha();
+              #        if (alpha != 255) {
+              #          result.setAlpha(
+              #              FloatValue
+              #                  .newBuilder()
+              #                  .setValue(((float) alpha) / denominator)
+              #                  .build());
+              #        }
+              #        return resultBuilder.build();
+              #      }
+              #      // ...
+              #
+              # Example (iOS / Obj-C):
+              #
+              #      // ...
+              #      static UIColor* fromProto(Color* protocolor) {
+              #         float red = [protocolor red];
+              #         float green = [protocolor green];
+              #         float blue = [protocolor blue];
+              #         FloatValue* alpha_wrapper = [protocolor alpha];
+              #         float alpha = 1.0;
+              #         if (alpha_wrapper != nil) {
+              #           alpha = [alpha_wrapper value];
+              #         }
+              #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+              #      }
+              #
+              #      static Color* toProto(UIColor* color) {
+              #          CGFloat red, green, blue, alpha;
+              #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+              #            return nil;
+              #          }
+              #          Color* result = [Color alloc] init];
+              #          [result setRed:red];
+              #          [result setGreen:green];
+              #          [result setBlue:blue];
+              #          if (alpha <= 0.9999) {
+              #            [result setAlpha:floatWrapperWithValue(alpha)];
+              #          }
+              #          [result autorelease];
+              #          return result;
+              #     }
+              #     // ...
+              #
+              #  Example (JavaScript):
+              #
+              #     // ...
+              #
+              #     var protoToCssColor = function(rgb_color) {
+              #        var redFrac = rgb_color.red || 0.0;
+              #        var greenFrac = rgb_color.green || 0.0;
+              #        var blueFrac = rgb_color.blue || 0.0;
+              #        var red = Math.floor(redFrac * 255);
+              #        var green = Math.floor(greenFrac * 255);
+              #        var blue = Math.floor(blueFrac * 255);
+              #
+              #        if (!('alpha' in rgb_color)) {
+              #           return rgbToCssColor_(red, green, blue);
+              #        }
+              #
+              #        var alphaFrac = rgb_color.alpha.value || 0.0;
+              #        var rgbParams = [red, green, blue].join(',');
+              #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+              #     };
+              #
+              #     var rgbToCssColor_ = function(red, green, blue) {
+              #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+              #       var hexString = rgbNumber.toString(16);
+              #       var missingZeros = 6 - hexString.length;
+              #       var resultBuilder = ['#'];
+              #       for (var i = 0; i < missingZeros; i++) {
+              #          resultBuilder.push('0');
+              #       }
+              #       resultBuilder.push(hexString);
+              #       return resultBuilder.join('');
+              #     };
+              #
+              #     // ...
+            "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+            "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                # the final pixel color is defined by the equation:
+                #
+                #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                #
+                # This means that a value of 1.0 corresponds to a solid color, whereas
+                # a value of 0.0 corresponds to a completely transparent color. This
+                # uses a wrapper message rather than a simple float scalar so that it is
+                # possible to distinguish between a default value and the value being unset.
+                # If omitted, this color object is to be rendered as a solid color
+                # (as if the alpha value had been explicitly given with a value of 1.0).
+            "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+            "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+          },
+          "verticalAlignment": "A String", # The vertical alignment of the value in cell.
+          "textFormat": { # The format of a run of text in a cell. # The format of the text in the cell (unless overridden by a format run).
+              # Absent values indicate that the field isn't specified.
+            "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
+                # for simplicity of conversion to/from color representations in various
+                # languages over compactness; for example, the fields of this representation
+                # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                # method in iOS; and, with just a little work, it can be easily formatted into
+                # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                #
+                # Example (Java):
+                #
+                #      import com.google.type.Color;
+                #
+                #      // ...
+                #      public static java.awt.Color fromProto(Color protocolor) {
+                #        float alpha = protocolor.hasAlpha()
+                #            ? protocolor.getAlpha().getValue()
+                #            : 1.0;
+                #
+                #        return new java.awt.Color(
+                #            protocolor.getRed(),
+                #            protocolor.getGreen(),
+                #            protocolor.getBlue(),
+                #            alpha);
+                #      }
+                #
+                #      public static Color toProto(java.awt.Color color) {
+                #        float red = (float) color.getRed();
+                #        float green = (float) color.getGreen();
+                #        float blue = (float) color.getBlue();
+                #        float denominator = 255.0;
+                #        Color.Builder resultBuilder =
+                #            Color
+                #                .newBuilder()
+                #                .setRed(red / denominator)
+                #                .setGreen(green / denominator)
+                #                .setBlue(blue / denominator);
+                #        int alpha = color.getAlpha();
+                #        if (alpha != 255) {
+                #          result.setAlpha(
+                #              FloatValue
+                #                  .newBuilder()
+                #                  .setValue(((float) alpha) / denominator)
+                #                  .build());
+                #        }
+                #        return resultBuilder.build();
+                #      }
+                #      // ...
+                #
+                # Example (iOS / Obj-C):
+                #
+                #      // ...
+                #      static UIColor* fromProto(Color* protocolor) {
+                #         float red = [protocolor red];
+                #         float green = [protocolor green];
+                #         float blue = [protocolor blue];
+                #         FloatValue* alpha_wrapper = [protocolor alpha];
+                #         float alpha = 1.0;
+                #         if (alpha_wrapper != nil) {
+                #           alpha = [alpha_wrapper value];
+                #         }
+                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                #      }
+                #
+                #      static Color* toProto(UIColor* color) {
+                #          CGFloat red, green, blue, alpha;
+                #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                #            return nil;
+                #          }
+                #          Color* result = [Color alloc] init];
+                #          [result setRed:red];
+                #          [result setGreen:green];
+                #          [result setBlue:blue];
+                #          if (alpha <= 0.9999) {
+                #            [result setAlpha:floatWrapperWithValue(alpha)];
+                #          }
+                #          [result autorelease];
+                #          return result;
+                #     }
+                #     // ...
+                #
+                #  Example (JavaScript):
+                #
+                #     // ...
+                #
+                #     var protoToCssColor = function(rgb_color) {
+                #        var redFrac = rgb_color.red || 0.0;
+                #        var greenFrac = rgb_color.green || 0.0;
+                #        var blueFrac = rgb_color.blue || 0.0;
+                #        var red = Math.floor(redFrac * 255);
+                #        var green = Math.floor(greenFrac * 255);
+                #        var blue = Math.floor(blueFrac * 255);
+                #
+                #        if (!('alpha' in rgb_color)) {
+                #           return rgbToCssColor_(red, green, blue);
+                #        }
+                #
+                #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                #        var rgbParams = [red, green, blue].join(',');
+                #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                #     };
+                #
+                #     var rgbToCssColor_ = function(red, green, blue) {
+                #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                #       var hexString = rgbNumber.toString(16);
+                #       var missingZeros = 6 - hexString.length;
+                #       var resultBuilder = ['#'];
+                #       for (var i = 0; i < missingZeros; i++) {
+                #          resultBuilder.push('0');
+                #       }
+                #       resultBuilder.push(hexString);
+                #       return resultBuilder.join('');
+                #     };
+                #
+                #     // ...
+              "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+              "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                  # the final pixel color is defined by the equation:
+                  #
+                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                  #
+                  # This means that a value of 1.0 corresponds to a solid color, whereas
+                  # a value of 0.0 corresponds to a completely transparent color. This
+                  # uses a wrapper message rather than a simple float scalar so that it is
+                  # possible to distinguish between a default value and the value being unset.
+                  # If omitted, this color object is to be rendered as a solid color
+                  # (as if the alpha value had been explicitly given with a value of 1.0).
+              "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+            },
+            "bold": True or False, # True if the text is bold.
+            "strikethrough": True or False, # True if the text has a strikethrough.
+            "fontFamily": "A String", # The font family.
+            "fontSize": 42, # The size of the font.
+            "italic": True or False, # True if the text is italicized.
+            "underline": True or False, # True if the text is underlined.
+          },
+          "hyperlinkDisplayType": "A String", # How a hyperlink, if it exists, should be displayed in the cell.
+          "borders": { # The borders of the cell. # The borders of the cell.
+            "top": { # A border along a cell. # The top border of the cell.
+              "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                  # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha <= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!('alpha' in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(',');
+                  #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = ['#'];
+                  #       for (var i = 0; i < missingZeros; i++) {
+                  #          resultBuilder.push('0');
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join('');
+                  #     };
+                  #
+                  #     // ...
+                "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+                "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              },
+              "width": 42, # The width of the border, in pixels.
+                  # Border widths must be between 0 and 3 pixels.
+              "style": "A String", # The style of the border.
+            },
+            "right": { # A border along a cell. # The right border of the cell.
+              "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                  # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha <= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!('alpha' in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(',');
+                  #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = ['#'];
+                  #       for (var i = 0; i < missingZeros; i++) {
+                  #          resultBuilder.push('0');
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join('');
+                  #     };
+                  #
+                  #     // ...
+                "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+                "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              },
+              "width": 42, # The width of the border, in pixels.
+                  # Border widths must be between 0 and 3 pixels.
+              "style": "A String", # The style of the border.
+            },
+            "bottom": { # A border along a cell. # The bottom border of the cell.
+              "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                  # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha <= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!('alpha' in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(',');
+                  #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = ['#'];
+                  #       for (var i = 0; i < missingZeros; i++) {
+                  #          resultBuilder.push('0');
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join('');
+                  #     };
+                  #
+                  #     // ...
+                "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+                "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              },
+              "width": 42, # The width of the border, in pixels.
+                  # Border widths must be between 0 and 3 pixels.
+              "style": "A String", # The style of the border.
+            },
+            "left": { # A border along a cell. # The left border of the cell.
+              "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                  # for simplicity of conversion to/from color representations in various
+                  # languages over compactness; for example, the fields of this representation
+                  # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                  # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                  # method in iOS; and, with just a little work, it can be easily formatted into
+                  # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                  #
+                  # Example (Java):
+                  #
+                  #      import com.google.type.Color;
+                  #
+                  #      // ...
+                  #      public static java.awt.Color fromProto(Color protocolor) {
+                  #        float alpha = protocolor.hasAlpha()
+                  #            ? protocolor.getAlpha().getValue()
+                  #            : 1.0;
+                  #
+                  #        return new java.awt.Color(
+                  #            protocolor.getRed(),
+                  #            protocolor.getGreen(),
+                  #            protocolor.getBlue(),
+                  #            alpha);
+                  #      }
+                  #
+                  #      public static Color toProto(java.awt.Color color) {
+                  #        float red = (float) color.getRed();
+                  #        float green = (float) color.getGreen();
+                  #        float blue = (float) color.getBlue();
+                  #        float denominator = 255.0;
+                  #        Color.Builder resultBuilder =
+                  #            Color
+                  #                .newBuilder()
+                  #                .setRed(red / denominator)
+                  #                .setGreen(green / denominator)
+                  #                .setBlue(blue / denominator);
+                  #        int alpha = color.getAlpha();
+                  #        if (alpha != 255) {
+                  #          result.setAlpha(
+                  #              FloatValue
+                  #                  .newBuilder()
+                  #                  .setValue(((float) alpha) / denominator)
+                  #                  .build());
+                  #        }
+                  #        return resultBuilder.build();
+                  #      }
+                  #      // ...
+                  #
+                  # Example (iOS / Obj-C):
+                  #
+                  #      // ...
+                  #      static UIColor* fromProto(Color* protocolor) {
+                  #         float red = [protocolor red];
+                  #         float green = [protocolor green];
+                  #         float blue = [protocolor blue];
+                  #         FloatValue* alpha_wrapper = [protocolor alpha];
+                  #         float alpha = 1.0;
+                  #         if (alpha_wrapper != nil) {
+                  #           alpha = [alpha_wrapper value];
+                  #         }
+                  #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                  #      }
+                  #
+                  #      static Color* toProto(UIColor* color) {
+                  #          CGFloat red, green, blue, alpha;
+                  #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                  #            return nil;
+                  #          }
+                  #          Color* result = [Color alloc] init];
+                  #          [result setRed:red];
+                  #          [result setGreen:green];
+                  #          [result setBlue:blue];
+                  #          if (alpha <= 0.9999) {
+                  #            [result setAlpha:floatWrapperWithValue(alpha)];
+                  #          }
+                  #          [result autorelease];
+                  #          return result;
+                  #     }
+                  #     // ...
+                  #
+                  #  Example (JavaScript):
+                  #
+                  #     // ...
+                  #
+                  #     var protoToCssColor = function(rgb_color) {
+                  #        var redFrac = rgb_color.red || 0.0;
+                  #        var greenFrac = rgb_color.green || 0.0;
+                  #        var blueFrac = rgb_color.blue || 0.0;
+                  #        var red = Math.floor(redFrac * 255);
+                  #        var green = Math.floor(greenFrac * 255);
+                  #        var blue = Math.floor(blueFrac * 255);
+                  #
+                  #        if (!('alpha' in rgb_color)) {
+                  #           return rgbToCssColor_(red, green, blue);
+                  #        }
+                  #
+                  #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                  #        var rgbParams = [red, green, blue].join(',');
+                  #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                  #     };
+                  #
+                  #     var rgbToCssColor_ = function(red, green, blue) {
+                  #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                  #       var hexString = rgbNumber.toString(16);
+                  #       var missingZeros = 6 - hexString.length;
+                  #       var resultBuilder = ['#'];
+                  #       for (var i = 0; i < missingZeros; i++) {
+                  #          resultBuilder.push('0');
+                  #       }
+                  #       resultBuilder.push(hexString);
+                  #       return resultBuilder.join('');
+                  #     };
+                  #
+                  #     // ...
+                "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                    # the final pixel color is defined by the equation:
+                    #
+                    #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                    #
+                    # This means that a value of 1.0 corresponds to a solid color, whereas
+                    # a value of 0.0 corresponds to a completely transparent color. This
+                    # uses a wrapper message rather than a simple float scalar so that it is
+                    # possible to distinguish between a default value and the value being unset.
+                    # If omitted, this color object is to be rendered as a solid color
+                    # (as if the alpha value had been explicitly given with a value of 1.0).
+                "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+              },
+              "width": 42, # The width of the border, in pixels.
+                  # Border widths must be between 0 and 3 pixels.
+              "style": "A String", # The style of the border.
+            },
+          },
+          "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
+        },
+        "title": "A String", # The title of the spreadsheet.
+      },
+      "sheets": [ # The sheets that are part of a spreadsheet.
+        { # A sheet in a spreadsheet.
+          "conditionalFormats": [ # The conditional format rules in this sheet.
+            { # A rule describing a conditional format.
+              "ranges": [ # The ranges that will be formatted if the condition is true.
+                  # All the ranges must be on the same grid.
+                { # A range on a sheet.
+                    # All indexes are zero-based.
+                    # Indexes are half open, e.g the start index is inclusive
+                    # and the end index is exclusive -- [start_index, end_index).
+                    # Missing indexes indicate the range is unbounded on that side.
+                    #
+                    # For example, if "Sheet1" is grid ID 0, then:
+                    #
+                    #   Sheet1!A1:A1 == sheet_id: 0,
+                    #                   start_row_index: 0, end_row_index: 1,
+                    #                   start_column_index: 0, end_column_index: 1
+                    #
+                    #   Sheet1!A3:B4 == sheet_id: 0,
+                    #                   start_row_index: 2, end_row_index: 4,
+                    #                   start_column_index: 0, end_column_index: 2
+                    #
+                    #   Sheet1!A:B == sheet_id: 0,
+                    #                 start_column_index: 0, end_column_index: 2
+                    #
+                    #   Sheet1!A5:B == sheet_id: 0,
+                    #                  start_row_index: 4,
+                    #                  start_column_index: 0, end_column_index: 2
+                    #
+                    #   Sheet1 == sheet_id:0
+                    #
+                    # The start index must always be less than or equal to the end index.
+                    # If the start index equals the end index, then the range is empty.
+                    # Empty ranges are typically not meaningful and are usually rendered in the
+                    # UI as `#REF!`.
+                  "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+                  "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                  "sheetId": 42, # The sheet this range is on.
+                  "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+                  "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                },
+              ],
+              "booleanRule": { # A rule that may or may not match, depending on the condition. # The formatting is either "on" or "off" according to the rule.
+                "condition": { # A condition that can evaluate to true or false. # The condition of the rule. If the condition evaluates to true,
+                    # the format will be applied.
+                    # BooleanConditions are used by conditional formatting,
+                    # data validation, and the criteria in filters.
+                  "type": "A String", # The type of condition.
+                  "values": [ # The values of the condition. The number of supported values depends
+                      # on the condition type.  Some support zero values,
+                      # others one or two values,
+                      # and ConditionType.ONE_OF_LIST supports an arbitrary number of values.
+                    { # The value of the condition.
+                      "relativeDate": "A String", # A relative date (based on the current date).
+                          # Valid only if the type is
+                          # DATE_BEFORE,
+                          # DATE_AFTER,
+                          # DATE_ON_OR_BEFORE or
+                          # DATE_ON_OR_AFTER.
+                          #
+                          # Relative dates are not supported in data validation.
+                          # They are supported only in conditional formatting and
+                          # conditional filters.
+                      "userEnteredValue": "A String", # A value the condition is based on.
+                          # The value will be parsed as if the user typed into a cell.
+                          # Formulas are supported (and must begin with an `=`).
+                    },
+                  ],
+                },
+                "format": { # The format of a cell. # The format to apply.
+                    # Conditional formatting can only apply a subset of formatting:
+                    # bold, italic,
+                    # strikethrough,
+                    # foreground color &
+                    # background color.
+                  "numberFormat": { # The number format of a cell. # A format describing how number values should be represented to the user.
+                      # When updating, all fields must be set.
+                    "pattern": "A String", # Pattern string used for formatting.
+                    "type": "A String", # The type of the number format.
+                  },
+                  "textDirection": "A String", # The direction of the text in the cell.
+                  "padding": { # The amount of padding around the cell, in pixels. # The padding of the cell.
+                      # When updating padding, every field must be specified.
+                    "top": 42, # The top padding of the cell.
+                    "right": 42, # The right padding of the cell.
+                    "bottom": 42, # The bottom padding of the cell.
+                    "left": 42, # The left padding of the cell.
+                  },
+                  "horizontalAlignment": "A String", # The horizontal alignment of the value in cell.
+                  "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                      # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha <= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!('alpha' in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(',');
+                      #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = ['#'];
+                      #       for (var i = 0; i < missingZeros; i++) {
+                      #          resultBuilder.push('0');
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join('');
+                      #     };
+                      #
+                      #     // ...
+                    "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                    "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  },
+                  "verticalAlignment": "A String", # The vertical alignment of the value in cell.
+                  "textFormat": { # The format of a run of text in a cell. # The format of the text in the cell (unless overridden by a format run).
+                      # Absent values indicate that the field isn't specified.
+                    "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
+                        # for simplicity of conversion to/from color representations in various
+                        # languages over compactness; for example, the fields of this representation
+                        # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                        # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                        # method in iOS; and, with just a little work, it can be easily formatted into
+                        # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                        #
+                        # Example (Java):
+                        #
+                        #      import com.google.type.Color;
+                        #
+                        #      // ...
+                        #      public static java.awt.Color fromProto(Color protocolor) {
+                        #        float alpha = protocolor.hasAlpha()
+                        #            ? protocolor.getAlpha().getValue()
+                        #            : 1.0;
+                        #
+                        #        return new java.awt.Color(
+                        #            protocolor.getRed(),
+                        #            protocolor.getGreen(),
+                        #            protocolor.getBlue(),
+                        #            alpha);
+                        #      }
+                        #
+                        #      public static Color toProto(java.awt.Color color) {
+                        #        float red = (float) color.getRed();
+                        #        float green = (float) color.getGreen();
+                        #        float blue = (float) color.getBlue();
+                        #        float denominator = 255.0;
+                        #        Color.Builder resultBuilder =
+                        #            Color
+                        #                .newBuilder()
+                        #                .setRed(red / denominator)
+                        #                .setGreen(green / denominator)
+                        #                .setBlue(blue / denominator);
+                        #        int alpha = color.getAlpha();
+                        #        if (alpha != 255) {
+                        #          result.setAlpha(
+                        #              FloatValue
+                        #                  .newBuilder()
+                        #                  .setValue(((float) alpha) / denominator)
+                        #                  .build());
+                        #        }
+                        #        return resultBuilder.build();
+                        #      }
+                        #      // ...
+                        #
+                        # Example (iOS / Obj-C):
+                        #
+                        #      // ...
+                        #      static UIColor* fromProto(Color* protocolor) {
+                        #         float red = [protocolor red];
+                        #         float green = [protocolor green];
+                        #         float blue = [protocolor blue];
+                        #         FloatValue* alpha_wrapper = [protocolor alpha];
+                        #         float alpha = 1.0;
+                        #         if (alpha_wrapper != nil) {
+                        #           alpha = [alpha_wrapper value];
+                        #         }
+                        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                        #      }
+                        #
+                        #      static Color* toProto(UIColor* color) {
+                        #          CGFloat red, green, blue, alpha;
+                        #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                        #            return nil;
+                        #          }
+                        #          Color* result = [Color alloc] init];
+                        #          [result setRed:red];
+                        #          [result setGreen:green];
+                        #          [result setBlue:blue];
+                        #          if (alpha <= 0.9999) {
+                        #            [result setAlpha:floatWrapperWithValue(alpha)];
+                        #          }
+                        #          [result autorelease];
+                        #          return result;
+                        #     }
+                        #     // ...
+                        #
+                        #  Example (JavaScript):
+                        #
+                        #     // ...
+                        #
+                        #     var protoToCssColor = function(rgb_color) {
+                        #        var redFrac = rgb_color.red || 0.0;
+                        #        var greenFrac = rgb_color.green || 0.0;
+                        #        var blueFrac = rgb_color.blue || 0.0;
+                        #        var red = Math.floor(redFrac * 255);
+                        #        var green = Math.floor(greenFrac * 255);
+                        #        var blue = Math.floor(blueFrac * 255);
+                        #
+                        #        if (!('alpha' in rgb_color)) {
+                        #           return rgbToCssColor_(red, green, blue);
+                        #        }
+                        #
+                        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                        #        var rgbParams = [red, green, blue].join(',');
+                        #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                        #     };
+                        #
+                        #     var rgbToCssColor_ = function(red, green, blue) {
+                        #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                        #       var hexString = rgbNumber.toString(16);
+                        #       var missingZeros = 6 - hexString.length;
+                        #       var resultBuilder = ['#'];
+                        #       for (var i = 0; i < missingZeros; i++) {
+                        #          resultBuilder.push('0');
+                        #       }
+                        #       resultBuilder.push(hexString);
+                        #       return resultBuilder.join('');
+                        #     };
+                        #
+                        #     // ...
+                      "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                      "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                          # the final pixel color is defined by the equation:
+                          #
+                          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                          #
+                          # This means that a value of 1.0 corresponds to a solid color, whereas
+                          # a value of 0.0 corresponds to a completely transparent color. This
+                          # uses a wrapper message rather than a simple float scalar so that it is
+                          # possible to distinguish between a default value and the value being unset.
+                          # If omitted, this color object is to be rendered as a solid color
+                          # (as if the alpha value had been explicitly given with a value of 1.0).
+                      "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                      "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                    },
+                    "bold": True or False, # True if the text is bold.
+                    "strikethrough": True or False, # True if the text has a strikethrough.
+                    "fontFamily": "A String", # The font family.
+                    "fontSize": 42, # The size of the font.
+                    "italic": True or False, # True if the text is italicized.
+                    "underline": True or False, # True if the text is underlined.
+                  },
+                  "hyperlinkDisplayType": "A String", # How a hyperlink, if it exists, should be displayed in the cell.
+                  "borders": { # The borders of the cell. # The borders of the cell.
+                    "top": { # A border along a cell. # The top border of the cell.
+                      "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                          # for simplicity of conversion to/from color representations in various
+                          # languages over compactness; for example, the fields of this representation
+                          # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                          # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                          # method in iOS; and, with just a little work, it can be easily formatted into
+                          # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                          #
+                          # Example (Java):
+                          #
+                          #      import com.google.type.Color;
+                          #
+                          #      // ...
+                          #      public static java.awt.Color fromProto(Color protocolor) {
+                          #        float alpha = protocolor.hasAlpha()
+                          #            ? protocolor.getAlpha().getValue()
+                          #            : 1.0;
+                          #
+                          #        return new java.awt.Color(
+                          #            protocolor.getRed(),
+                          #            protocolor.getGreen(),
+                          #            protocolor.getBlue(),
+                          #            alpha);
+                          #      }
+                          #
+                          #      public static Color toProto(java.awt.Color color) {
+                          #        float red = (float) color.getRed();
+                          #        float green = (float) color.getGreen();
+                          #        float blue = (float) color.getBlue();
+                          #        float denominator = 255.0;
+                          #        Color.Builder resultBuilder =
+                          #            Color
+                          #                .newBuilder()
+                          #                .setRed(red / denominator)
+                          #                .setGreen(green / denominator)
+                          #                .setBlue(blue / denominator);
+                          #        int alpha = color.getAlpha();
+                          #        if (alpha != 255) {
+                          #          result.setAlpha(
+                          #              FloatValue
+                          #                  .newBuilder()
+                          #                  .setValue(((float) alpha) / denominator)
+                          #                  .build());
+                          #        }
+                          #        return resultBuilder.build();
+                          #      }
+                          #      // ...
+                          #
+                          # Example (iOS / Obj-C):
+                          #
+                          #      // ...
+                          #      static UIColor* fromProto(Color* protocolor) {
+                          #         float red = [protocolor red];
+                          #         float green = [protocolor green];
+                          #         float blue = [protocolor blue];
+                          #         FloatValue* alpha_wrapper = [protocolor alpha];
+                          #         float alpha = 1.0;
+                          #         if (alpha_wrapper != nil) {
+                          #           alpha = [alpha_wrapper value];
+                          #         }
+                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                          #      }
+                          #
+                          #      static Color* toProto(UIColor* color) {
+                          #          CGFloat red, green, blue, alpha;
+                          #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                          #            return nil;
+                          #          }
+                          #          Color* result = [Color alloc] init];
+                          #          [result setRed:red];
+                          #          [result setGreen:green];
+                          #          [result setBlue:blue];
+                          #          if (alpha <= 0.9999) {
+                          #            [result setAlpha:floatWrapperWithValue(alpha)];
+                          #          }
+                          #          [result autorelease];
+                          #          return result;
+                          #     }
+                          #     // ...
+                          #
+                          #  Example (JavaScript):
+                          #
+                          #     // ...
+                          #
+                          #     var protoToCssColor = function(rgb_color) {
+                          #        var redFrac = rgb_color.red || 0.0;
+                          #        var greenFrac = rgb_color.green || 0.0;
+                          #        var blueFrac = rgb_color.blue || 0.0;
+                          #        var red = Math.floor(redFrac * 255);
+                          #        var green = Math.floor(greenFrac * 255);
+                          #        var blue = Math.floor(blueFrac * 255);
+                          #
+                          #        if (!('alpha' in rgb_color)) {
+                          #           return rgbToCssColor_(red, green, blue);
+                          #        }
+                          #
+                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                          #        var rgbParams = [red, green, blue].join(',');
+                          #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                          #     };
+                          #
+                          #     var rgbToCssColor_ = function(red, green, blue) {
+                          #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                          #       var hexString = rgbNumber.toString(16);
+                          #       var missingZeros = 6 - hexString.length;
+                          #       var resultBuilder = ['#'];
+                          #       for (var i = 0; i < missingZeros; i++) {
+                          #          resultBuilder.push('0');
+                          #       }
+                          #       resultBuilder.push(hexString);
+                          #       return resultBuilder.join('');
+                          #     };
+                          #
+                          #     // ...
+                        "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                        "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                            # the final pixel color is defined by the equation:
+                            #
+                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                            #
+                            # This means that a value of 1.0 corresponds to a solid color, whereas
+                            # a value of 0.0 corresponds to a completely transparent color. This
+                            # uses a wrapper message rather than a simple float scalar so that it is
+                            # possible to distinguish between a default value and the value being unset.
+                            # If omitted, this color object is to be rendered as a solid color
+                            # (as if the alpha value had been explicitly given with a value of 1.0).
+                        "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      },
+                      "width": 42, # The width of the border, in pixels.
+                          # Border widths must be between 0 and 3 pixels.
+                      "style": "A String", # The style of the border.
+                    },
+                    "right": { # A border along a cell. # The right border of the cell.
+                      "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                          # for simplicity of conversion to/from color representations in various
+                          # languages over compactness; for example, the fields of this representation
+                          # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                          # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                          # method in iOS; and, with just a little work, it can be easily formatted into
+                          # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                          #
+                          # Example (Java):
+                          #
+                          #      import com.google.type.Color;
+                          #
+                          #      // ...
+                          #      public static java.awt.Color fromProto(Color protocolor) {
+                          #        float alpha = protocolor.hasAlpha()
+                          #            ? protocolor.getAlpha().getValue()
+                          #            : 1.0;
+                          #
+                          #        return new java.awt.Color(
+                          #            protocolor.getRed(),
+                          #            protocolor.getGreen(),
+                          #            protocolor.getBlue(),
+                          #            alpha);
+                          #      }
+                          #
+                          #      public static Color toProto(java.awt.Color color) {
+                          #        float red = (float) color.getRed();
+                          #        float green = (float) color.getGreen();
+                          #        float blue = (float) color.getBlue();
+                          #        float denominator = 255.0;
+                          #        Color.Builder resultBuilder =
+                          #            Color
+                          #                .newBuilder()
+                          #                .setRed(red / denominator)
+                          #                .setGreen(green / denominator)
+                          #                .setBlue(blue / denominator);
+                          #        int alpha = color.getAlpha();
+                          #        if (alpha != 255) {
+                          #          result.setAlpha(
+                          #              FloatValue
+                          #                  .newBuilder()
+                          #                  .setValue(((float) alpha) / denominator)
+                          #                  .build());
+                          #        }
+                          #        return resultBuilder.build();
+                          #      }
+                          #      // ...
+                          #
+                          # Example (iOS / Obj-C):
+                          #
+                          #      // ...
+                          #      static UIColor* fromProto(Color* protocolor) {
+                          #         float red = [protocolor red];
+                          #         float green = [protocolor green];
+                          #         float blue = [protocolor blue];
+                          #         FloatValue* alpha_wrapper = [protocolor alpha];
+                          #         float alpha = 1.0;
+                          #         if (alpha_wrapper != nil) {
+                          #           alpha = [alpha_wrapper value];
+                          #         }
+                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                          #      }
+                          #
+                          #      static Color* toProto(UIColor* color) {
+                          #          CGFloat red, green, blue, alpha;
+                          #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                          #            return nil;
+                          #          }
+                          #          Color* result = [Color alloc] init];
+                          #          [result setRed:red];
+                          #          [result setGreen:green];
+                          #          [result setBlue:blue];
+                          #          if (alpha <= 0.9999) {
+                          #            [result setAlpha:floatWrapperWithValue(alpha)];
+                          #          }
+                          #          [result autorelease];
+                          #          return result;
+                          #     }
+                          #     // ...
+                          #
+                          #  Example (JavaScript):
+                          #
+                          #     // ...
+                          #
+                          #     var protoToCssColor = function(rgb_color) {
+                          #        var redFrac = rgb_color.red || 0.0;
+                          #        var greenFrac = rgb_color.green || 0.0;
+                          #        var blueFrac = rgb_color.blue || 0.0;
+                          #        var red = Math.floor(redFrac * 255);
+                          #        var green = Math.floor(greenFrac * 255);
+                          #        var blue = Math.floor(blueFrac * 255);
+                          #
+                          #        if (!('alpha' in rgb_color)) {
+                          #           return rgbToCssColor_(red, green, blue);
+                          #        }
+                          #
+                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                          #        var rgbParams = [red, green, blue].join(',');
+                          #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                          #     };
+                          #
+                          #     var rgbToCssColor_ = function(red, green, blue) {
+                          #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                          #       var hexString = rgbNumber.toString(16);
+                          #       var missingZeros = 6 - hexString.length;
+                          #       var resultBuilder = ['#'];
+                          #       for (var i = 0; i < missingZeros; i++) {
+                          #          resultBuilder.push('0');
+                          #       }
+                          #       resultBuilder.push(hexString);
+                          #       return resultBuilder.join('');
+                          #     };
+                          #
+                          #     // ...
+                        "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                        "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                            # the final pixel color is defined by the equation:
+                            #
+                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                            #
+                            # This means that a value of 1.0 corresponds to a solid color, whereas
+                            # a value of 0.0 corresponds to a completely transparent color. This
+                            # uses a wrapper message rather than a simple float scalar so that it is
+                            # possible to distinguish between a default value and the value being unset.
+                            # If omitted, this color object is to be rendered as a solid color
+                            # (as if the alpha value had been explicitly given with a value of 1.0).
+                        "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      },
+                      "width": 42, # The width of the border, in pixels.
+                          # Border widths must be between 0 and 3 pixels.
+                      "style": "A String", # The style of the border.
+                    },
+                    "bottom": { # A border along a cell. # The bottom border of the cell.
+                      "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                          # for simplicity of conversion to/from color representations in various
+                          # languages over compactness; for example, the fields of this representation
+                          # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                          # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                          # method in iOS; and, with just a little work, it can be easily formatted into
+                          # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                          #
+                          # Example (Java):
+                          #
+                          #      import com.google.type.Color;
+                          #
+                          #      // ...
+                          #      public static java.awt.Color fromProto(Color protocolor) {
+                          #        float alpha = protocolor.hasAlpha()
+                          #            ? protocolor.getAlpha().getValue()
+                          #            : 1.0;
+                          #
+                          #        return new java.awt.Color(
+                          #            protocolor.getRed(),
+                          #            protocolor.getGreen(),
+                          #            protocolor.getBlue(),
+                          #            alpha);
+                          #      }
+                          #
+                          #      public static Color toProto(java.awt.Color color) {
+                          #        float red = (float) color.getRed();
+                          #        float green = (float) color.getGreen();
+                          #        float blue = (float) color.getBlue();
+                          #        float denominator = 255.0;
+                          #        Color.Builder resultBuilder =
+                          #            Color
+                          #                .newBuilder()
+                          #                .setRed(red / denominator)
+                          #                .setGreen(green / denominator)
+                          #                .setBlue(blue / denominator);
+                          #        int alpha = color.getAlpha();
+                          #        if (alpha != 255) {
+                          #          result.setAlpha(
+                          #              FloatValue
+                          #                  .newBuilder()
+                          #                  .setValue(((float) alpha) / denominator)
+                          #                  .build());
+                          #        }
+                          #        return resultBuilder.build();
+                          #      }
+                          #      // ...
+                          #
+                          # Example (iOS / Obj-C):
+                          #
+                          #      // ...
+                          #      static UIColor* fromProto(Color* protocolor) {
+                          #         float red = [protocolor red];
+                          #         float green = [protocolor green];
+                          #         float blue = [protocolor blue];
+                          #         FloatValue* alpha_wrapper = [protocolor alpha];
+                          #         float alpha = 1.0;
+                          #         if (alpha_wrapper != nil) {
+                          #           alpha = [alpha_wrapper value];
+                          #         }
+                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                          #      }
+                          #
+                          #      static Color* toProto(UIColor* color) {
+                          #          CGFloat red, green, blue, alpha;
+                          #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                          #            return nil;
+                          #          }
+                          #          Color* result = [Color alloc] init];
+                          #          [result setRed:red];
+                          #          [result setGreen:green];
+                          #          [result setBlue:blue];
+                          #          if (alpha <= 0.9999) {
+                          #            [result setAlpha:floatWrapperWithValue(alpha)];
+                          #          }
+                          #          [result autorelease];
+                          #          return result;
+                          #     }
+                          #     // ...
+                          #
+                          #  Example (JavaScript):
+                          #
+                          #     // ...
+                          #
+                          #     var protoToCssColor = function(rgb_color) {
+                          #        var redFrac = rgb_color.red || 0.0;
+                          #        var greenFrac = rgb_color.green || 0.0;
+                          #        var blueFrac = rgb_color.blue || 0.0;
+                          #        var red = Math.floor(redFrac * 255);
+                          #        var green = Math.floor(greenFrac * 255);
+                          #        var blue = Math.floor(blueFrac * 255);
+                          #
+                          #        if (!('alpha' in rgb_color)) {
+                          #           return rgbToCssColor_(red, green, blue);
+                          #        }
+                          #
+                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                          #        var rgbParams = [red, green, blue].join(',');
+                          #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                          #     };
+                          #
+                          #     var rgbToCssColor_ = function(red, green, blue) {
+                          #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                          #       var hexString = rgbNumber.toString(16);
+                          #       var missingZeros = 6 - hexString.length;
+                          #       var resultBuilder = ['#'];
+                          #       for (var i = 0; i < missingZeros; i++) {
+                          #          resultBuilder.push('0');
+                          #       }
+                          #       resultBuilder.push(hexString);
+                          #       return resultBuilder.join('');
+                          #     };
+                          #
+                          #     // ...
+                        "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                        "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                            # the final pixel color is defined by the equation:
+                            #
+                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                            #
+                            # This means that a value of 1.0 corresponds to a solid color, whereas
+                            # a value of 0.0 corresponds to a completely transparent color. This
+                            # uses a wrapper message rather than a simple float scalar so that it is
+                            # possible to distinguish between a default value and the value being unset.
+                            # If omitted, this color object is to be rendered as a solid color
+                            # (as if the alpha value had been explicitly given with a value of 1.0).
+                        "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      },
+                      "width": 42, # The width of the border, in pixels.
+                          # Border widths must be between 0 and 3 pixels.
+                      "style": "A String", # The style of the border.
+                    },
+                    "left": { # A border along a cell. # The left border of the cell.
+                      "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                          # for simplicity of conversion to/from color representations in various
+                          # languages over compactness; for example, the fields of this representation
+                          # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                          # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                          # method in iOS; and, with just a little work, it can be easily formatted into
+                          # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                          #
+                          # Example (Java):
+                          #
+                          #      import com.google.type.Color;
+                          #
+                          #      // ...
+                          #      public static java.awt.Color fromProto(Color protocolor) {
+                          #        float alpha = protocolor.hasAlpha()
+                          #            ? protocolor.getAlpha().getValue()
+                          #            : 1.0;
+                          #
+                          #        return new java.awt.Color(
+                          #            protocolor.getRed(),
+                          #            protocolor.getGreen(),
+                          #            protocolor.getBlue(),
+                          #            alpha);
+                          #      }
+                          #
+                          #      public static Color toProto(java.awt.Color color) {
+                          #        float red = (float) color.getRed();
+                          #        float green = (float) color.getGreen();
+                          #        float blue = (float) color.getBlue();
+                          #        float denominator = 255.0;
+                          #        Color.Builder resultBuilder =
+                          #            Color
+                          #                .newBuilder()
+                          #                .setRed(red / denominator)
+                          #                .setGreen(green / denominator)
+                          #                .setBlue(blue / denominator);
+                          #        int alpha = color.getAlpha();
+                          #        if (alpha != 255) {
+                          #          result.setAlpha(
+                          #              FloatValue
+                          #                  .newBuilder()
+                          #                  .setValue(((float) alpha) / denominator)
+                          #                  .build());
+                          #        }
+                          #        return resultBuilder.build();
+                          #      }
+                          #      // ...
+                          #
+                          # Example (iOS / Obj-C):
+                          #
+                          #      // ...
+                          #      static UIColor* fromProto(Color* protocolor) {
+                          #         float red = [protocolor red];
+                          #         float green = [protocolor green];
+                          #         float blue = [protocolor blue];
+                          #         FloatValue* alpha_wrapper = [protocolor alpha];
+                          #         float alpha = 1.0;
+                          #         if (alpha_wrapper != nil) {
+                          #           alpha = [alpha_wrapper value];
+                          #         }
+                          #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                          #      }
+                          #
+                          #      static Color* toProto(UIColor* color) {
+                          #          CGFloat red, green, blue, alpha;
+                          #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                          #            return nil;
+                          #          }
+                          #          Color* result = [Color alloc] init];
+                          #          [result setRed:red];
+                          #          [result setGreen:green];
+                          #          [result setBlue:blue];
+                          #          if (alpha <= 0.9999) {
+                          #            [result setAlpha:floatWrapperWithValue(alpha)];
+                          #          }
+                          #          [result autorelease];
+                          #          return result;
+                          #     }
+                          #     // ...
+                          #
+                          #  Example (JavaScript):
+                          #
+                          #     // ...
+                          #
+                          #     var protoToCssColor = function(rgb_color) {
+                          #        var redFrac = rgb_color.red || 0.0;
+                          #        var greenFrac = rgb_color.green || 0.0;
+                          #        var blueFrac = rgb_color.blue || 0.0;
+                          #        var red = Math.floor(redFrac * 255);
+                          #        var green = Math.floor(greenFrac * 255);
+                          #        var blue = Math.floor(blueFrac * 255);
+                          #
+                          #        if (!('alpha' in rgb_color)) {
+                          #           return rgbToCssColor_(red, green, blue);
+                          #        }
+                          #
+                          #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                          #        var rgbParams = [red, green, blue].join(',');
+                          #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                          #     };
+                          #
+                          #     var rgbToCssColor_ = function(red, green, blue) {
+                          #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                          #       var hexString = rgbNumber.toString(16);
+                          #       var missingZeros = 6 - hexString.length;
+                          #       var resultBuilder = ['#'];
+                          #       for (var i = 0; i < missingZeros; i++) {
+                          #          resultBuilder.push('0');
+                          #       }
+                          #       resultBuilder.push(hexString);
+                          #       return resultBuilder.join('');
+                          #     };
+                          #
+                          #     // ...
+                        "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                        "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                            # the final pixel color is defined by the equation:
+                            #
+                            #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                            #
+                            # This means that a value of 1.0 corresponds to a solid color, whereas
+                            # a value of 0.0 corresponds to a completely transparent color. This
+                            # uses a wrapper message rather than a simple float scalar so that it is
+                            # possible to distinguish between a default value and the value being unset.
+                            # If omitted, this color object is to be rendered as a solid color
+                            # (as if the alpha value had been explicitly given with a value of 1.0).
+                        "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                        "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                      },
+                      "width": 42, # The width of the border, in pixels.
+                          # Border widths must be between 0 and 3 pixels.
+                      "style": "A String", # The style of the border.
+                    },
+                  },
+                  "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
+                },
+              },
+              "gradientRule": { # A rule that applies a gradient color scale format, based on # The formatting will vary based on the gradients in the rule.
+                  # the interpolation points listed. The format of a cell will vary
+                  # based on its contents as compared to the values of the interpolation
+                  # points.
+                "maxpoint": { # A single interpolation point a gradient conditional format. # The final interpolation point.
+                    # These pin the gradient color scale according to the color,
+                    # type and value chosen.
+                  "color": { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                      # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha <= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!('alpha' in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(',');
+                      #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = ['#'];
+                      #       for (var i = 0; i < missingZeros; i++) {
+                      #          resultBuilder.push('0');
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join('');
+                      #     };
+                      #
+                      #     // ...
+                    "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                    "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  },
+                  "type": "A String", # How the value should be interpreted.
+                  "value": "A String", # The value this interpolation point uses.  May be a formula.
+                      # Unused if type is MIN or
+                      # MAX.
+                },
+                "midpoint": { # A single interpolation point a gradient conditional format. # An optional midway interpolation point.
+                    # These pin the gradient color scale according to the color,
+                    # type and value chosen.
+                  "color": { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                      # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha <= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!('alpha' in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(',');
+                      #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = ['#'];
+                      #       for (var i = 0; i < missingZeros; i++) {
+                      #          resultBuilder.push('0');
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join('');
+                      #     };
+                      #
+                      #     // ...
+                    "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                    "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  },
+                  "type": "A String", # How the value should be interpreted.
+                  "value": "A String", # The value this interpolation point uses.  May be a formula.
+                      # Unused if type is MIN or
+                      # MAX.
+                },
+                "minpoint": { # A single interpolation point a gradient conditional format. # The starting interpolation point.
+                    # These pin the gradient color scale according to the color,
+                    # type and value chosen.
+                  "color": { # Represents a color in the RGBA color space. This representation is designed # The color this interpolation point should use.
+                      # for simplicity of conversion to/from color representations in various
+                      # languages over compactness; for example, the fields of this representation
+                      # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                      # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                      # method in iOS; and, with just a little work, it can be easily formatted into
+                      # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                      #
+                      # Example (Java):
+                      #
+                      #      import com.google.type.Color;
+                      #
+                      #      // ...
+                      #      public static java.awt.Color fromProto(Color protocolor) {
+                      #        float alpha = protocolor.hasAlpha()
+                      #            ? protocolor.getAlpha().getValue()
+                      #            : 1.0;
+                      #
+                      #        return new java.awt.Color(
+                      #            protocolor.getRed(),
+                      #            protocolor.getGreen(),
+                      #            protocolor.getBlue(),
+                      #            alpha);
+                      #      }
+                      #
+                      #      public static Color toProto(java.awt.Color color) {
+                      #        float red = (float) color.getRed();
+                      #        float green = (float) color.getGreen();
+                      #        float blue = (float) color.getBlue();
+                      #        float denominator = 255.0;
+                      #        Color.Builder resultBuilder =
+                      #            Color
+                      #                .newBuilder()
+                      #                .setRed(red / denominator)
+                      #                .setGreen(green / denominator)
+                      #                .setBlue(blue / denominator);
+                      #        int alpha = color.getAlpha();
+                      #        if (alpha != 255) {
+                      #          result.setAlpha(
+                      #              FloatValue
+                      #                  .newBuilder()
+                      #                  .setValue(((float) alpha) / denominator)
+                      #                  .build());
+                      #        }
+                      #        return resultBuilder.build();
+                      #      }
+                      #      // ...
+                      #
+                      # Example (iOS / Obj-C):
+                      #
+                      #      // ...
+                      #      static UIColor* fromProto(Color* protocolor) {
+                      #         float red = [protocolor red];
+                      #         float green = [protocolor green];
+                      #         float blue = [protocolor blue];
+                      #         FloatValue* alpha_wrapper = [protocolor alpha];
+                      #         float alpha = 1.0;
+                      #         if (alpha_wrapper != nil) {
+                      #           alpha = [alpha_wrapper value];
+                      #         }
+                      #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                      #      }
+                      #
+                      #      static Color* toProto(UIColor* color) {
+                      #          CGFloat red, green, blue, alpha;
+                      #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                      #            return nil;
+                      #          }
+                      #          Color* result = [Color alloc] init];
+                      #          [result setRed:red];
+                      #          [result setGreen:green];
+                      #          [result setBlue:blue];
+                      #          if (alpha <= 0.9999) {
+                      #            [result setAlpha:floatWrapperWithValue(alpha)];
+                      #          }
+                      #          [result autorelease];
+                      #          return result;
+                      #     }
+                      #     // ...
+                      #
+                      #  Example (JavaScript):
+                      #
+                      #     // ...
+                      #
+                      #     var protoToCssColor = function(rgb_color) {
+                      #        var redFrac = rgb_color.red || 0.0;
+                      #        var greenFrac = rgb_color.green || 0.0;
+                      #        var blueFrac = rgb_color.blue || 0.0;
+                      #        var red = Math.floor(redFrac * 255);
+                      #        var green = Math.floor(greenFrac * 255);
+                      #        var blue = Math.floor(blueFrac * 255);
+                      #
+                      #        if (!('alpha' in rgb_color)) {
+                      #           return rgbToCssColor_(red, green, blue);
+                      #        }
+                      #
+                      #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                      #        var rgbParams = [red, green, blue].join(',');
+                      #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                      #     };
+                      #
+                      #     var rgbToCssColor_ = function(red, green, blue) {
+                      #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                      #       var hexString = rgbNumber.toString(16);
+                      #       var missingZeros = 6 - hexString.length;
+                      #       var resultBuilder = ['#'];
+                      #       for (var i = 0; i < missingZeros; i++) {
+                      #          resultBuilder.push('0');
+                      #       }
+                      #       resultBuilder.push(hexString);
+                      #       return resultBuilder.join('');
+                      #     };
+                      #
+                      #     // ...
+                    "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                    "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                        # the final pixel color is defined by the equation:
+                        #
+                        #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                        #
+                        # This means that a value of 1.0 corresponds to a solid color, whereas
+                        # a value of 0.0 corresponds to a completely transparent color. This
+                        # uses a wrapper message rather than a simple float scalar so that it is
+                        # possible to distinguish between a default value and the value being unset.
+                        # If omitted, this color object is to be rendered as a solid color
+                        # (as if the alpha value had been explicitly given with a value of 1.0).
+                    "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                    "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                  },
+                  "type": "A String", # How the value should be interpreted.
+                  "value": "A String", # The value this interpolation point uses.  May be a formula.
+                      # Unused if type is MIN or
+                      # MAX.
+                },
+              },
+            },
+          ],
+          "merges": [ # The ranges that are merged together.
+            { # A range on a sheet.
+                # All indexes are zero-based.
+                # Indexes are half open, e.g the start index is inclusive
+                # and the end index is exclusive -- [start_index, end_index).
+                # Missing indexes indicate the range is unbounded on that side.
+                #
+                # For example, if "Sheet1" is grid ID 0, then:
+                #
+                #   Sheet1!A1:A1 == sheet_id: 0,
+                #                   start_row_index: 0, end_row_index: 1,
+                #                   start_column_index: 0, end_column_index: 1
+                #
+                #   Sheet1!A3:B4 == sheet_id: 0,
+                #                   start_row_index: 2, end_row_index: 4,
+                #                   start_column_index: 0, end_column_index: 2
+                #
+                #   Sheet1!A:B == sheet_id: 0,
+                #                 start_column_index: 0, end_column_index: 2
+                #
+                #   Sheet1!A5:B == sheet_id: 0,
+                #                  start_row_index: 4,
+                #                  start_column_index: 0, end_column_index: 2
+                #
+                #   Sheet1 == sheet_id:0
+                #
+                # The start index must always be less than or equal to the end index.
+                # If the start index equals the end index, then the range is empty.
+                # Empty ranges are typically not meaningful and are usually rendered in the
+                # UI as `#REF!`.
+              "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "sheetId": 42, # The sheet this range is on.
+              "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+            },
+          ],
+          "basicFilter": { # The default filter associated with a sheet. # The filter on this sheet, if any.
+            "range": { # A range on a sheet. # The range the filter covers.
+                # All indexes are zero-based.
+                # Indexes are half open, e.g the start index is inclusive
+                # and the end index is exclusive -- [start_index, end_index).
+                # Missing indexes indicate the range is unbounded on that side.
+                #
+                # For example, if "Sheet1" is grid ID 0, then:
+                #
+                #   Sheet1!A1:A1 == sheet_id: 0,
+                #                   start_row_index: 0, end_row_index: 1,
+                #                   start_column_index: 0, end_column_index: 1
+                #
+                #   Sheet1!A3:B4 == sheet_id: 0,
+                #                   start_row_index: 2, end_row_index: 4,
+                #                   start_column_index: 0, end_column_index: 2
+                #
+                #   Sheet1!A:B == sheet_id: 0,
+                #                 start_column_index: 0, end_column_index: 2
+                #
+                #   Sheet1!A5:B == sheet_id: 0,
+                #                  start_row_index: 4,
+                #                  start_column_index: 0, end_column_index: 2
+                #
+                #   Sheet1 == sheet_id:0
+                #
+                # The start index must always be less than or equal to the end index.
+                # If the start index equals the end index, then the range is empty.
+                # Empty ranges are typically not meaningful and are usually rendered in the
+                # UI as `#REF!`.
+              "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+              "sheetId": 42, # The sheet this range is on.
+              "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+            },
+            "sortSpecs": [ # The sort order per column. Later specifications are used when values
+                # are equal in the earlier specifications.
+              { # A sort order associated with a specific column or row.
+                "sortOrder": "A String", # The order data should be sorted.
+                "dimensionIndex": 42, # The dimension the sort should be applied to.
+              },
+            ],
+            "criteria": { # The criteria for showing/hiding values per column.
+                # The map's key is the column index, and the value is the criteria for
+                # that column.
+              "a_key": { # Criteria for showing/hiding rows in a filter, filter view.
+                "hiddenValues": [ # Values that should be hidden.
+                  "A String",
+                ],
+                "condition": { # A condition that can evaluate to true or false. # A condition that must be true for values to be shown.
+                    # (This does not override hiddenValues -- if a value is listed there,
+                    #  it will still be hidden.)
+                    # BooleanConditions are used by conditional formatting,
+                    # data validation, and the criteria in filters.
+                  "type": "A String", # The type of condition.
+                  "values": [ # The values of the condition. The number of supported values depends
+                      # on the condition type.  Some support zero values,
+                      # others one or two values,
+                      # and ConditionType.ONE_OF_LIST supports an arbitrary number of values.
+                    { # The value of the condition.
+                      "relativeDate": "A String", # A relative date (based on the current date).
+                          # Valid only if the type is
+                          # DATE_BEFORE,
+                          # DATE_AFTER,
+                          # DATE_ON_OR_BEFORE or
+                          # DATE_ON_OR_AFTER.
+                          #
+                          # Relative dates are not supported in data validation.
+                          # They are supported only in conditional formatting and
+                          # conditional filters.
+                      "userEnteredValue": "A String", # A value the condition is based on.
+                          # The value will be parsed as if the user typed into a cell.
+                          # Formulas are supported (and must begin with an `=`).
+                    },
+                  ],
+                },
+              },
+            },
+          },
+          "charts": [ # The specifications of every chart on this sheet.
+            { # A chart embedded in a sheet.
+              "chartId": 42, # The ID of the chart.
+              "position": { # The position of an embedded object such as a chart. # The position of the chart.
+                "newSheet": True or False, # If true, the embedded object will be put on a new sheet whose ID
+                    # is chosen for you. Used only when writing.
+                "sheetId": 42, # The sheet this is on. Set only if the embedded object
+                    # is on its own sheet. Must be non-negative.
+                "overlayPosition": { # The location an object is overlaid on top of a grid. # The position the object is overlaid on top of a grid.
+                  "anchorCell": { # A coordinate in a sheet. # The cell the object is anchored to.
+                      # All indexes are zero-based.
+                    "rowIndex": 42, # The row index of the coordinate.
+                    "columnIndex": 42, # The column index of the coordinate.
+                    "sheetId": 42, # The sheet this coordinate is on.
+                  },
+                  "offsetYPixels": 42, # The vertical offset, in pixels, that the object is offset
+                      # from the anchor cell.
+                  "widthPixels": 42, # The width of the object, in pixels. Defaults to 600.
+                  "offsetXPixels": 42, # The horizontal offset, in pixels, that the object is offset
+                      # from the anchor cell.
+                  "heightPixels": 42, # The height of the object, in pixels. Defaults to 371.
+                },
+              },
+              "spec": { # The specifications of a chart. # The specification of the chart.
+                "hiddenDimensionStrategy": "A String", # Determines how the charts will use hidden rows or columns.
+                    # This value is only meaningful if the
+                    # ChartData.sourceRange
+                    # is used for a domain or series.
+                "pieChart": { # A pie chart. # A pie chart specification.
+                  "series": { # The data included in a domain or series. # The data that covers the one and only series of the pie chart.
+                    "sourceRange": { # Source ranges for a chart. # The source ranges of the data.
+                      "sources": [ # The ranges of data for a series or domain.
+                          # Exactly one dimension must have a length of 1,
+                          # and all sources in the list must have the same dimension
+                          # with length 1.
+                          # The domain (if it exists) & all series must have the same number
+                          # of source ranges. If using more than one source range, then the source
+                          # range at a given offset must be contiguous across the domain and series.
+                          #
+                          # For example, these are valid configurations:
+                          #
+                          #     domain sources: A1:A5
+                          #     series1 sources: B1:B5
+                          #     series2 sources: D6:D10
+                          #
+                          #     domain sources: A1:A5, C10:C12
+                          #     series1 sources: B1:B5, D10:D12
+                          #     series2 sources: C1:C5, E10:E12
+                        { # A range on a sheet.
+                            # All indexes are zero-based.
+                            # Indexes are half open, e.g the start index is inclusive
+                            # and the end index is exclusive -- [start_index, end_index).
+                            # Missing indexes indicate the range is unbounded on that side.
+                            #
+                            # For example, if "Sheet1" is grid ID 0, then:
+                            #
+                            #   Sheet1!A1:A1 == sheet_id: 0,
+                            #                   start_row_index: 0, end_row_index: 1,
+                            #                   start_column_index: 0, end_column_index: 1
+                            #
+                            #   Sheet1!A3:B4 == sheet_id: 0,
+                            #                   start_row_index: 2, end_row_index: 4,
+                            #                   start_column_index: 0, end_column_index: 2
+                            #
+                            #   Sheet1!A:B == sheet_id: 0,
+                            #                 start_column_index: 0, end_column_index: 2
+                            #
+                            #   Sheet1!A5:B == sheet_id: 0,
+                            #                  start_row_index: 4,
+                            #                  start_column_index: 0, end_column_index: 2
+                            #
+                            #   Sheet1 == sheet_id:0
+                            #
+                            # The start index must always be less than or equal to the end index.
+                            # If the start index equals the end index, then the range is empty.
+                            # Empty ranges are typically not meaningful and are usually rendered in the
+                            # UI as `#REF!`.
+                          "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+                          "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                          "sheetId": 42, # The sheet this range is on.
+                          "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+                          "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        },
+                      ],
+                    },
+                  },
+                  "domain": { # The data included in a domain or series. # The data that covers the domain of the pie chart.
+                    "sourceRange": { # Source ranges for a chart. # The source ranges of the data.
+                      "sources": [ # The ranges of data for a series or domain.
+                          # Exactly one dimension must have a length of 1,
+                          # and all sources in the list must have the same dimension
+                          # with length 1.
+                          # The domain (if it exists) & all series must have the same number
+                          # of source ranges. If using more than one source range, then the source
+                          # range at a given offset must be contiguous across the domain and series.
+                          #
+                          # For example, these are valid configurations:
+                          #
+                          #     domain sources: A1:A5
+                          #     series1 sources: B1:B5
+                          #     series2 sources: D6:D10
+                          #
+                          #     domain sources: A1:A5, C10:C12
+                          #     series1 sources: B1:B5, D10:D12
+                          #     series2 sources: C1:C5, E10:E12
+                        { # A range on a sheet.
+                            # All indexes are zero-based.
+                            # Indexes are half open, e.g the start index is inclusive
+                            # and the end index is exclusive -- [start_index, end_index).
+                            # Missing indexes indicate the range is unbounded on that side.
+                            #
+                            # For example, if "Sheet1" is grid ID 0, then:
+                            #
+                            #   Sheet1!A1:A1 == sheet_id: 0,
+                            #                   start_row_index: 0, end_row_index: 1,
+                            #                   start_column_index: 0, end_column_index: 1
+                            #
+                            #   Sheet1!A3:B4 == sheet_id: 0,
+                            #                   start_row_index: 2, end_row_index: 4,
+                            #                   start_column_index: 0, end_column_index: 2
+                            #
+                            #   Sheet1!A:B == sheet_id: 0,
+                            #                 start_column_index: 0, end_column_index: 2
+                            #
+                            #   Sheet1!A5:B == sheet_id: 0,
+                            #                  start_row_index: 4,
+                            #                  start_column_index: 0, end_column_index: 2
+                            #
+                            #   Sheet1 == sheet_id:0
+                            #
+                            # The start index must always be less than or equal to the end index.
+                            # If the start index equals the end index, then the range is empty.
+                            # Empty ranges are typically not meaningful and are usually rendered in the
+                            # UI as `#REF!`.
+                          "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+                          "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                          "sheetId": 42, # The sheet this range is on.
+                          "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+                          "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        },
+                      ],
+                    },
+                  },
+                  "threeDimensional": True or False, # True if the pie is three dimensional.
+                  "legendPosition": "A String", # Where the legend of the pie chart should be drawn.
+                  "pieHole": 3.14, # The size of the hole in the pie chart.
+                },
+                "basicChart": { # The specification for a basic chart.  See BasicChartType for the list # A basic chart specification, can be one of many kinds of charts.
+                    # See BasicChartType for the list of all charts this supports.
+                    # of charts this supports.
+                  "headerCount": 42, # The number of rows or columns in the data that are "headers".
+                      # If not set, Google Sheets will guess how many rows are headers based
+                      # on the data.
+                      #
+                      # (Note that BasicChartAxis.title may override the axis title
+                      #  inferred from the header values.)
+                  "series": [ # The data this chart is visualizing.
+                    { # A single series of data in a chart.
+                        # For example, if charting stock prices over time, multiple series may exist,
+                        # one for the "Open Price", "High Price", "Low Price" and "Close Price".
+                      "series": { # The data included in a domain or series. # The data being visualized in this chart series.
+                        "sourceRange": { # Source ranges for a chart. # The source ranges of the data.
+                          "sources": [ # The ranges of data for a series or domain.
+                              # Exactly one dimension must have a length of 1,
+                              # and all sources in the list must have the same dimension
+                              # with length 1.
+                              # The domain (if it exists) & all series must have the same number
+                              # of source ranges. If using more than one source range, then the source
+                              # range at a given offset must be contiguous across the domain and series.
+                              #
+                              # For example, these are valid configurations:
+                              #
+                              #     domain sources: A1:A5
+                              #     series1 sources: B1:B5
+                              #     series2 sources: D6:D10
+                              #
+                              #     domain sources: A1:A5, C10:C12
+                              #     series1 sources: B1:B5, D10:D12
+                              #     series2 sources: C1:C5, E10:E12
+                            { # A range on a sheet.
+                                # All indexes are zero-based.
+                                # Indexes are half open, e.g the start index is inclusive
+                                # and the end index is exclusive -- [start_index, end_index).
+                                # Missing indexes indicate the range is unbounded on that side.
+                                #
+                                # For example, if "Sheet1" is grid ID 0, then:
+                                #
+                                #   Sheet1!A1:A1 == sheet_id: 0,
+                                #                   start_row_index: 0, end_row_index: 1,
+                                #                   start_column_index: 0, end_column_index: 1
+                                #
+                                #   Sheet1!A3:B4 == sheet_id: 0,
+                                #                   start_row_index: 2, end_row_index: 4,
+                                #                   start_column_index: 0, end_column_index: 2
+                                #
+                                #   Sheet1!A:B == sheet_id: 0,
+                                #                 start_column_index: 0, end_column_index: 2
+                                #
+                                #   Sheet1!A5:B == sheet_id: 0,
+                                #                  start_row_index: 4,
+                                #                  start_column_index: 0, end_column_index: 2
+                                #
+                                #   Sheet1 == sheet_id:0
+                                #
+                                # The start index must always be less than or equal to the end index.
+                                # If the start index equals the end index, then the range is empty.
+                                # Empty ranges are typically not meaningful and are usually rendered in the
+                                # UI as `#REF!`.
+                              "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+                              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                              "sheetId": 42, # The sheet this range is on.
+                              "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+                              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                            },
+                          ],
+                        },
+                      },
+                      "targetAxis": "A String", # The minor axis that will specify the range of values for this series.
+                          # For example, if charting stocks over time, the "Volume" series
+                          # may want to be pinned to the right with the prices pinned to the left,
+                          # because the scale of trading volume is different than the scale of
+                          # prices.
+                          # It is an error to specify an axis that isn't a valid minor axis
+                          # for the chart's type.
+                      "type": "A String", # The type of this series. Valid only if the
+                          # chartType is
+                          # COMBO.
+                          # Different types will change the way the series is visualized.
+                          # Only LINE, AREA,
+                          # and COLUMN are supported.
+                    },
+                  ],
+                  "legendPosition": "A String", # The position of the chart legend.
+                  "domains": [ # The domain of data this is charting.
+                      # Only a single domain is currently supported.
+                    { # The domain of a chart.
+                        # For example, if charting stock prices over time, this would be the date.
+                      "domain": { # The data included in a domain or series. # The data of the domain. For example, if charting stock prices over time,
+                          # this be the data representing the dates.
+                        "sourceRange": { # Source ranges for a chart. # The source ranges of the data.
+                          "sources": [ # The ranges of data for a series or domain.
+                              # Exactly one dimension must have a length of 1,
+                              # and all sources in the list must have the same dimension
+                              # with length 1.
+                              # The domain (if it exists) & all series must have the same number
+                              # of source ranges. If using more than one source range, then the source
+                              # range at a given offset must be contiguous across the domain and series.
+                              #
+                              # For example, these are valid configurations:
+                              #
+                              #     domain sources: A1:A5
+                              #     series1 sources: B1:B5
+                              #     series2 sources: D6:D10
+                              #
+                              #     domain sources: A1:A5, C10:C12
+                              #     series1 sources: B1:B5, D10:D12
+                              #     series2 sources: C1:C5, E10:E12
+                            { # A range on a sheet.
+                                # All indexes are zero-based.
+                                # Indexes are half open, e.g the start index is inclusive
+                                # and the end index is exclusive -- [start_index, end_index).
+                                # Missing indexes indicate the range is unbounded on that side.
+                                #
+                                # For example, if "Sheet1" is grid ID 0, then:
+                                #
+                                #   Sheet1!A1:A1 == sheet_id: 0,
+                                #                   start_row_index: 0, end_row_index: 1,
+                                #                   start_column_index: 0, end_column_index: 1
+                                #
+                                #   Sheet1!A3:B4 == sheet_id: 0,
+                                #                   start_row_index: 2, end_row_index: 4,
+                                #                   start_column_index: 0, end_column_index: 2
+                                #
+                                #   Sheet1!A:B == sheet_id: 0,
+                                #                 start_column_index: 0, end_column_index: 2
+                                #
+                                #   Sheet1!A5:B == sheet_id: 0,
+                                #                  start_row_index: 4,
+                                #                  start_column_index: 0, end_column_index: 2
+                                #
+                                #   Sheet1 == sheet_id:0
+                                #
+                                # The start index must always be less than or equal to the end index.
+                                # If the start index equals the end index, then the range is empty.
+                                # Empty ranges are typically not meaningful and are usually rendered in the
+                                # UI as `#REF!`.
+                              "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+                              "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                              "sheetId": 42, # The sheet this range is on.
+                              "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+                              "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                            },
+                          ],
+                        },
+                      },
+                    },
+                  ],
+                  "chartType": "A String", # The type of the chart.
+                  "axis": [ # The axis on the chart.
+                    { # An axis of the chart.
+                        # A chart may not have more than one axis per
+                        # axis position.
+                      "position": "A String", # The position of this axis.
+                      "format": { # The format of a run of text in a cell. # The format of the title.
+                          # Only valid if the axis is not associated with the domain.
+                          # Absent values indicate that the field isn't specified.
+                        "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
+                            # for simplicity of conversion to/from color representations in various
+                            # languages over compactness; for example, the fields of this representation
+                            # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                            # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                            # method in iOS; and, with just a little work, it can be easily formatted into
+                            # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                            #
+                            # Example (Java):
+                            #
+                            #      import com.google.type.Color;
+                            #
+                            #      // ...
+                            #      public static java.awt.Color fromProto(Color protocolor) {
+                            #        float alpha = protocolor.hasAlpha()
+                            #            ? protocolor.getAlpha().getValue()
+                            #            : 1.0;
+                            #
+                            #        return new java.awt.Color(
+                            #            protocolor.getRed(),
+                            #            protocolor.getGreen(),
+                            #            protocolor.getBlue(),
+                            #            alpha);
+                            #      }
+                            #
+                            #      public static Color toProto(java.awt.Color color) {
+                            #        float red = (float) color.getRed();
+                            #        float green = (float) color.getGreen();
+                            #        float blue = (float) color.getBlue();
+                            #        float denominator = 255.0;
+                            #        Color.Builder resultBuilder =
+                            #            Color
+                            #                .newBuilder()
+                            #                .setRed(red / denominator)
+                            #                .setGreen(green / denominator)
+                            #                .setBlue(blue / denominator);
+                            #        int alpha = color.getAlpha();
+                            #        if (alpha != 255) {
+                            #          result.setAlpha(
+                            #              FloatValue
+                            #                  .newBuilder()
+                            #                  .setValue(((float) alpha) / denominator)
+                            #                  .build());
+                            #        }
+                            #        return resultBuilder.build();
+                            #      }
+                            #      // ...
+                            #
+                            # Example (iOS / Obj-C):
+                            #
+                            #      // ...
+                            #      static UIColor* fromProto(Color* protocolor) {
+                            #         float red = [protocolor red];
+                            #         float green = [protocolor green];
+                            #         float blue = [protocolor blue];
+                            #         FloatValue* alpha_wrapper = [protocolor alpha];
+                            #         float alpha = 1.0;
+                            #         if (alpha_wrapper != nil) {
+                            #           alpha = [alpha_wrapper value];
+                            #         }
+                            #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                            #      }
+                            #
+                            #      static Color* toProto(UIColor* color) {
+                            #          CGFloat red, green, blue, alpha;
+                            #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                            #            return nil;
+                            #          }
+                            #          Color* result = [Color alloc] init];
+                            #          [result setRed:red];
+                            #          [result setGreen:green];
+                            #          [result setBlue:blue];
+                            #          if (alpha <= 0.9999) {
+                            #            [result setAlpha:floatWrapperWithValue(alpha)];
+                            #          }
+                            #          [result autorelease];
+                            #          return result;
+                            #     }
+                            #     // ...
+                            #
+                            #  Example (JavaScript):
+                            #
+                            #     // ...
+                            #
+                            #     var protoToCssColor = function(rgb_color) {
+                            #        var redFrac = rgb_color.red || 0.0;
+                            #        var greenFrac = rgb_color.green || 0.0;
+                            #        var blueFrac = rgb_color.blue || 0.0;
+                            #        var red = Math.floor(redFrac * 255);
+                            #        var green = Math.floor(greenFrac * 255);
+                            #        var blue = Math.floor(blueFrac * 255);
+                            #
+                            #        if (!('alpha' in rgb_color)) {
+                            #           return rgbToCssColor_(red, green, blue);
+                            #        }
+                            #
+                            #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                            #        var rgbParams = [red, green, blue].join(',');
+                            #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                            #     };
+                            #
+                            #     var rgbToCssColor_ = function(red, green, blue) {
+                            #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                            #       var hexString = rgbNumber.toString(16);
+                            #       var missingZeros = 6 - hexString.length;
+                            #       var resultBuilder = ['#'];
+                            #       for (var i = 0; i < missingZeros; i++) {
+                            #          resultBuilder.push('0');
+                            #       }
+                            #       resultBuilder.push(hexString);
+                            #       return resultBuilder.join('');
+                            #     };
+                            #
+                            #     // ...
+                          "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                          "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                              # the final pixel color is defined by the equation:
+                              #
+                              #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                              #
+                              # This means that a value of 1.0 corresponds to a solid color, whereas
+                              # a value of 0.0 corresponds to a completely transparent color. This
+                              # uses a wrapper message rather than a simple float scalar so that it is
+                              # possible to distinguish between a default value and the value being unset.
+                              # If omitted, this color object is to be rendered as a solid color
+                              # (as if the alpha value had been explicitly given with a value of 1.0).
+                          "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        },
+                        "bold": True or False, # True if the text is bold.
+                        "strikethrough": True or False, # True if the text has a strikethrough.
+                        "fontFamily": "A String", # The font family.
+                        "fontSize": 42, # The size of the font.
+                        "italic": True or False, # True if the text is italicized.
+                        "underline": True or False, # True if the text is underlined.
+                      },
+                      "title": "A String", # The title of this axis. If set, this overrides any title inferred
+                          # from headers of the data.
+                    },
+                  ],
+                },
+                "title": "A String", # The title of the chart.
+              },
+            },
+          ],
+          "filterViews": [ # The filter views in this sheet.
+            { # A filter view.
+              "title": "A String", # The name of the filter view.
+              "namedRangeId": "A String", # The named range this filter view is backed by, if any.
+                  #
+                  # When writing, only one of range or namedRangeId
+                  # may be set.
+              "filterViewId": 42, # The ID of the filter view.
+              "range": { # A range on a sheet. # The range this filter view covers.
+                  #
+                  # When writing, only one of range or namedRangeId
+                  # may be set.
+                  # All indexes are zero-based.
+                  # Indexes are half open, e.g the start index is inclusive
+                  # and the end index is exclusive -- [start_index, end_index).
+                  # Missing indexes indicate the range is unbounded on that side.
+                  #
+                  # For example, if "Sheet1" is grid ID 0, then:
+                  #
+                  #   Sheet1!A1:A1 == sheet_id: 0,
+                  #                   start_row_index: 0, end_row_index: 1,
+                  #                   start_column_index: 0, end_column_index: 1
+                  #
+                  #   Sheet1!A3:B4 == sheet_id: 0,
+                  #                   start_row_index: 2, end_row_index: 4,
+                  #                   start_column_index: 0, end_column_index: 2
+                  #
+                  #   Sheet1!A:B == sheet_id: 0,
+                  #                 start_column_index: 0, end_column_index: 2
+                  #
+                  #   Sheet1!A5:B == sheet_id: 0,
+                  #                  start_row_index: 4,
+                  #                  start_column_index: 0, end_column_index: 2
+                  #
+                  #   Sheet1 == sheet_id:0
+                  #
+                  # The start index must always be less than or equal to the end index.
+                  # If the start index equals the end index, then the range is empty.
+                  # Empty ranges are typically not meaningful and are usually rendered in the
+                  # UI as `#REF!`.
+                "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                "sheetId": 42, # The sheet this range is on.
+                "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+              },
+              "sortSpecs": [ # The sort order per column. Later specifications are used when values
+                  # are equal in the earlier specifications.
+                { # A sort order associated with a specific column or row.
+                  "sortOrder": "A String", # The order data should be sorted.
+                  "dimensionIndex": 42, # The dimension the sort should be applied to.
+                },
+              ],
+              "criteria": { # The criteria for showing/hiding values per column.
+                  # The map's key is the column index, and the value is the criteria for
+                  # that column.
+                "a_key": { # Criteria for showing/hiding rows in a filter, filter view.
+                  "hiddenValues": [ # Values that should be hidden.
+                    "A String",
+                  ],
+                  "condition": { # A condition that can evaluate to true or false. # A condition that must be true for values to be shown.
+                      # (This does not override hiddenValues -- if a value is listed there,
+                      #  it will still be hidden.)
+                      # BooleanConditions are used by conditional formatting,
+                      # data validation, and the criteria in filters.
+                    "type": "A String", # The type of condition.
+                    "values": [ # The values of the condition. The number of supported values depends
+                        # on the condition type.  Some support zero values,
+                        # others one or two values,
+                        # and ConditionType.ONE_OF_LIST supports an arbitrary number of values.
+                      { # The value of the condition.
+                        "relativeDate": "A String", # A relative date (based on the current date).
+                            # Valid only if the type is
+                            # DATE_BEFORE,
+                            # DATE_AFTER,
+                            # DATE_ON_OR_BEFORE or
+                            # DATE_ON_OR_AFTER.
+                            #
+                            # Relative dates are not supported in data validation.
+                            # They are supported only in conditional formatting and
+                            # conditional filters.
+                        "userEnteredValue": "A String", # A value the condition is based on.
+                            # The value will be parsed as if the user typed into a cell.
+                            # Formulas are supported (and must begin with an `=`).
+                      },
+                    ],
+                  },
+                },
+              },
+            },
+          ],
+          "protectedRanges": [ # The protected ranges in this sheet.
+            { # A protected range.
+              "unprotectedRanges": [ # The list of unprotected ranges within a protected sheet.
+                  # Unprotected ranges are only supported on protected sheets.
+                { # A range on a sheet.
+                    # All indexes are zero-based.
+                    # Indexes are half open, e.g the start index is inclusive
+                    # and the end index is exclusive -- [start_index, end_index).
+                    # Missing indexes indicate the range is unbounded on that side.
+                    #
+                    # For example, if "Sheet1" is grid ID 0, then:
+                    #
+                    #   Sheet1!A1:A1 == sheet_id: 0,
+                    #                   start_row_index: 0, end_row_index: 1,
+                    #                   start_column_index: 0, end_column_index: 1
+                    #
+                    #   Sheet1!A3:B4 == sheet_id: 0,
+                    #                   start_row_index: 2, end_row_index: 4,
+                    #                   start_column_index: 0, end_column_index: 2
+                    #
+                    #   Sheet1!A:B == sheet_id: 0,
+                    #                 start_column_index: 0, end_column_index: 2
+                    #
+                    #   Sheet1!A5:B == sheet_id: 0,
+                    #                  start_row_index: 4,
+                    #                  start_column_index: 0, end_column_index: 2
+                    #
+                    #   Sheet1 == sheet_id:0
+                    #
+                    # The start index must always be less than or equal to the end index.
+                    # If the start index equals the end index, then the range is empty.
+                    # Empty ranges are typically not meaningful and are usually rendered in the
+                    # UI as `#REF!`.
+                  "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+                  "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                  "sheetId": 42, # The sheet this range is on.
+                  "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+                  "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                },
+              ],
+              "requestingUserCanEdit": True or False, # True if the user who requested this protected range can edit the
+                  # protected area.
+                  # This field is read-only.
+              "description": "A String", # The description of this protected range.
+              "namedRangeId": "A String", # The named range this protected range is backed by, if any.
+                  #
+                  # When writing, only one of range or namedRangeId
+                  # may be set.
+              "editors": { # The editors of a protected range. # The users and groups with edit access to the protected range.
+                  # This field is only visible to users with edit access to the protected
+                  # range and the document.
+                  # Editors are not supported with warningOnly protection.
+                "domainUsersCanEdit": True or False, # True if anyone in the document's domain has edit access to the protected
+                    # range.  Domain protection is only supported on documents within a domain.
+                "users": [ # The email addresses of users with edit access to the protected range.
+                  "A String",
+                ],
+                "groups": [ # The email addresses of groups with edit access to the protected range.
+                  "A String",
+                ],
+              },
+              "protectedRangeId": 42, # The ID of the protected range.
+                  # This field is read-only.
+              "warningOnly": True or False, # True if this this protected range will show a warning when editing.
+                  # Warning-based protection means that every user can edit data in the
+                  # protected range, except editing will prompt a warning asking the user
+                  # to confirm the edit.
+                  #
+                  # When warning: if this field is true, then editors is ignored.
+                  # Additionally, if this field is changed from true to false and the
+                  # `editors` field is not set (nor included in the field mask), then
+                  # the editors will be set to all the editors in the document.
+              "range": { # A range on a sheet. # The range that is being protected.
+                  # The range may be fully unbounded, in which case this is considered
+                  # a protected sheet.
+                  #
+                  # When writing, only one of range or namedRangeId
+                  # may be set.
+                  # All indexes are zero-based.
+                  # Indexes are half open, e.g the start index is inclusive
+                  # and the end index is exclusive -- [start_index, end_index).
+                  # Missing indexes indicate the range is unbounded on that side.
+                  #
+                  # For example, if "Sheet1" is grid ID 0, then:
+                  #
+                  #   Sheet1!A1:A1 == sheet_id: 0,
+                  #                   start_row_index: 0, end_row_index: 1,
+                  #                   start_column_index: 0, end_column_index: 1
+                  #
+                  #   Sheet1!A3:B4 == sheet_id: 0,
+                  #                   start_row_index: 2, end_row_index: 4,
+                  #                   start_column_index: 0, end_column_index: 2
+                  #
+                  #   Sheet1!A:B == sheet_id: 0,
+                  #                 start_column_index: 0, end_column_index: 2
+                  #
+                  #   Sheet1!A5:B == sheet_id: 0,
+                  #                  start_row_index: 4,
+                  #                  start_column_index: 0, end_column_index: 2
+                  #
+                  #   Sheet1 == sheet_id:0
+                  #
+                  # The start index must always be less than or equal to the end index.
+                  # If the start index equals the end index, then the range is empty.
+                  # Empty ranges are typically not meaningful and are usually rendered in the
+                  # UI as `#REF!`.
+                "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+                "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                "sheetId": 42, # The sheet this range is on.
+                "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+                "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+              },
+            },
+          ],
+          "data": [ # Data in the grid, if this is a grid sheet.
+              # The number of GridData objects returned is dependent on the number of
+              # ranges requested on this sheet. For example, if this is representing
+              # `Sheet1`, and the spreadsheet was requested with ranges
+              # `Sheet1!A1:C10` and `Sheet1!D15:E20`, then the first GridData will have a
+              # startRow/startColumn of `0`,
+              # while the second one will have `startRow 14` (zero-based row 15),
+              # and `startColumn 3` (zero-based column D).
+            { # Data in the grid, as well as metadata about the dimensions.
+              "startRow": 42, # The first row this GridData refers to, zero-based.
+              "rowMetadata": [ # Metadata about the requested rows in the grid, starting with the row
+                  # in startRow.
+                { # Properties about a dimension.
+                  "pixelSize": 42, # The height (if a row) or width (if a column) of the dimension in pixels.
+                  "hiddenByUser": True or False, # True if this dimension is explicitly hidden.
+                  "hiddenByFilter": True or False, # True if this dimension is being filtered.
+                      # This field is read-only.
+                },
+              ],
+              "startColumn": 42, # The first column this GridData refers to, zero-based.
+              "columnMetadata": [ # Metadata about the requested columns in the grid, starting with the column
+                  # in startColumn.
+                { # Properties about a dimension.
+                  "pixelSize": 42, # The height (if a row) or width (if a column) of the dimension in pixels.
+                  "hiddenByUser": True or False, # True if this dimension is explicitly hidden.
+                  "hiddenByFilter": True or False, # True if this dimension is being filtered.
+                      # This field is read-only.
+                },
+              ],
+              "rowData": [ # The data in the grid, one entry per row,
+                  # starting with the row in startRow.
+                  # The values in RowData will correspond to columns starting
+                  # at startColumn.
+                { # Data about each cell in a row.
+                  "values": [ # The values in the row, one per column.
+                    { # Data about a specific cell.
+                      "pivotTable": { # A pivot table. # A pivot table anchored at this cell. The size of pivot table itself
+                          # is computed dynamically based on its data, grouping, filters, values,
+                          # etc... Only the top-left cell of the pivot table contains the pivot table
+                          # definition. The other cells will contain the calculated values of the
+                          # results of the pivot in their effectiveValue fields.
+                        "valueLayout": "A String", # Whether values should be listed horizontally (as columns)
+                            # or vertically (as rows).
+                        "rows": [ # Each row grouping in the pivot table.
+                          { # A single grouping (either row or column) in a pivot table.
+                            "showTotals": True or False, # True if the pivot table should include the totals for this grouping.
+                            "valueMetadata": [ # Metadata about values in the grouping.
+                              { # Metadata about a value in a pivot grouping.
+                                "collapsed": True or False, # True if the data corresponding to the value is collapsed.
+                                "value": { # The kinds of value that a cell in a spreadsheet can have. # The calculated value the metadata corresponds to.
+                                    # (Note that formulaValue is not valid,
+                                    #  because the values will be calculated.)
+                                  "numberValue": 3.14, # Represents a double value.
+                                      # Note: Dates, Times and DateTimes are represented as doubles in
+                                      # "serial number" format.
+                                  "boolValue": True or False, # Represents a boolean value.
+                                  "formulaValue": "A String", # Represents a formula.
+                                  "stringValue": "A String", # Represents a string value.
+                                      # Leading single quotes are not included. For example, if the user typed
+                                      # `'123` into the UI, this would be represented as a `stringValue` of
+                                      # `"123"`.
+                                  "errorValue": { # An error in a cell. # Represents an error.
+                                      # This field is read-only.
+                                    "message": "A String", # A message with more information about the error
+                                        # (in the spreadsheet's locale).
+                                    "type": "A String", # The type of error.
+                                  },
+                                },
+                              },
+                            ],
+                            "valueBucket": { # Information about which values in a pivot group should be used for sorting. # The bucket of the opposite pivot group to sort by.
+                                # If not specified, sorting is alphabetical by this group's values.
+                              "buckets": [ # Determines the bucket from which values are chosen to sort.
+                                  #
+                                  # For example, in a pivot table with one row group & two column groups,
+                                  # the row group can list up to two values. The first value corresponds
+                                  # to a value within the first column group, and the second value
+                                  # corresponds to a value in the second column group.  If no values
+                                  # are listed, this would indicate that the row should be sorted according
+                                  # to the "Grand Total" over the column groups. If a single value is listed,
+                                  # this would correspond to using the "Total" of that bucket.
+                                { # The kinds of value that a cell in a spreadsheet can have.
+                                  "numberValue": 3.14, # Represents a double value.
+                                      # Note: Dates, Times and DateTimes are represented as doubles in
+                                      # "serial number" format.
+                                  "boolValue": True or False, # Represents a boolean value.
+                                  "formulaValue": "A String", # Represents a formula.
+                                  "stringValue": "A String", # Represents a string value.
+                                      # Leading single quotes are not included. For example, if the user typed
+                                      # `'123` into the UI, this would be represented as a `stringValue` of
+                                      # `"123"`.
+                                  "errorValue": { # An error in a cell. # Represents an error.
+                                      # This field is read-only.
+                                    "message": "A String", # A message with more information about the error
+                                        # (in the spreadsheet's locale).
+                                    "type": "A String", # The type of error.
+                                  },
+                                },
+                              ],
+                              "valuesIndex": 42, # The offset in the [PivotTable.values] list which the values in this
+                                  # grouping should be sorted by.
+                            },
+                            "sortOrder": "A String", # The order the values in this group should be sorted.
+                            "sourceColumnOffset": 42, # The column offset of the source range that this grouping is based on.
+                                #
+                                # For example, if the source was `C10:E15', a `sourceColumnOffset` of `0`
+                                # means this group refers to column `C`, whereas the offset `1` would refer
+                                # to column `D`.
+                          },
+                        ],
+                        "source": { # A range on a sheet. # The range the pivot table is reading data from.
+                            # All indexes are zero-based.
+                            # Indexes are half open, e.g the start index is inclusive
+                            # and the end index is exclusive -- [start_index, end_index).
+                            # Missing indexes indicate the range is unbounded on that side.
+                            #
+                            # For example, if "Sheet1" is grid ID 0, then:
+                            #
+                            #   Sheet1!A1:A1 == sheet_id: 0,
+                            #                   start_row_index: 0, end_row_index: 1,
+                            #                   start_column_index: 0, end_column_index: 1
+                            #
+                            #   Sheet1!A3:B4 == sheet_id: 0,
+                            #                   start_row_index: 2, end_row_index: 4,
+                            #                   start_column_index: 0, end_column_index: 2
+                            #
+                            #   Sheet1!A:B == sheet_id: 0,
+                            #                 start_column_index: 0, end_column_index: 2
+                            #
+                            #   Sheet1!A5:B == sheet_id: 0,
+                            #                  start_row_index: 4,
+                            #                  start_column_index: 0, end_column_index: 2
+                            #
+                            #   Sheet1 == sheet_id:0
+                            #
+                            # The start index must always be less than or equal to the end index.
+                            # If the start index equals the end index, then the range is empty.
+                            # Empty ranges are typically not meaningful and are usually rendered in the
+                            # UI as `#REF!`.
+                          "endRowIndex": 42, # The end row (exclusive) of the range, or not set if unbounded.
+                          "startRowIndex": 42, # The start row (inclusive) of the range, or not set if unbounded.
+                          "sheetId": 42, # The sheet this range is on.
+                          "startColumnIndex": 42, # The start column (inclusive) of the range, or not set if unbounded.
+                          "endColumnIndex": 42, # The end column (exclusive) of the range, or not set if unbounded.
+                        },
+                        "values": [ # A list of values to include in the pivot table.
+                          { # The definition of how a value in a pivot table should be calculated.
+                            "formula": "A String", # A custom formula to calculate the value.  The formula must start
+                                # with an `=` character.
+                            "summarizeFunction": "A String", # A function to summarize the value.
+                                # If formula is set, the only supported values are
+                                # SUM and
+                                # CUSTOM.
+                                # If sourceColumnOffset is set, then `CUSTOM`
+                                # is not supported.
+                            "sourceColumnOffset": 42, # The column offset of the source range that this value reads from.
+                                #
+                                # For example, if the source was `C10:E15', a `sourceColumnOffset` of `0`
+                                # means this value refers to column `C`, whereas the offset `1` would
+                                # refer to column `D`.
+                            "name": "A String", # A name to use for the value. This is only used if formula was set.
+                                # Otherwise, the column name is used.
+                          },
+                        ],
+                        "criteria": { # An optional mapping of filters per source column offset.
+                            #
+                            # The filters will be applied before aggregating data into the pivot table.
+                            # The map's key is the column offset of the source range that you want to
+                            # filter, and the value is the criteria for that column.
+                            #
+                            # For example, if the source was `C10:E15', a key of `0` will have the filter
+                            # for column `C`, whereas the key `1` is for column `D`.
+                          "a_key": { # Criteria for showing/hiding rows in a pivot table.
+                            "visibleValues": [ # Values that should be included.  Values not listed here are excluded.
+                              "A String",
+                            ],
+                          },
+                        },
+                        "columns": [ # Each column grouping in the pivot table.
+                          { # A single grouping (either row or column) in a pivot table.
+                            "showTotals": True or False, # True if the pivot table should include the totals for this grouping.
+                            "valueMetadata": [ # Metadata about values in the grouping.
+                              { # Metadata about a value in a pivot grouping.
+                                "collapsed": True or False, # True if the data corresponding to the value is collapsed.
+                                "value": { # The kinds of value that a cell in a spreadsheet can have. # The calculated value the metadata corresponds to.
+                                    # (Note that formulaValue is not valid,
+                                    #  because the values will be calculated.)
+                                  "numberValue": 3.14, # Represents a double value.
+                                      # Note: Dates, Times and DateTimes are represented as doubles in
+                                      # "serial number" format.
+                                  "boolValue": True or False, # Represents a boolean value.
+                                  "formulaValue": "A String", # Represents a formula.
+                                  "stringValue": "A String", # Represents a string value.
+                                      # Leading single quotes are not included. For example, if the user typed
+                                      # `'123` into the UI, this would be represented as a `stringValue` of
+                                      # `"123"`.
+                                  "errorValue": { # An error in a cell. # Represents an error.
+                                      # This field is read-only.
+                                    "message": "A String", # A message with more information about the error
+                                        # (in the spreadsheet's locale).
+                                    "type": "A String", # The type of error.
+                                  },
+                                },
+                              },
+                            ],
+                            "valueBucket": { # Information about which values in a pivot group should be used for sorting. # The bucket of the opposite pivot group to sort by.
+                                # If not specified, sorting is alphabetical by this group's values.
+                              "buckets": [ # Determines the bucket from which values are chosen to sort.
+                                  #
+                                  # For example, in a pivot table with one row group & two column groups,
+                                  # the row group can list up to two values. The first value corresponds
+                                  # to a value within the first column group, and the second value
+                                  # corresponds to a value in the second column group.  If no values
+                                  # are listed, this would indicate that the row should be sorted according
+                                  # to the "Grand Total" over the column groups. If a single value is listed,
+                                  # this would correspond to using the "Total" of that bucket.
+                                { # The kinds of value that a cell in a spreadsheet can have.
+                                  "numberValue": 3.14, # Represents a double value.
+                                      # Note: Dates, Times and DateTimes are represented as doubles in
+                                      # "serial number" format.
+                                  "boolValue": True or False, # Represents a boolean value.
+                                  "formulaValue": "A String", # Represents a formula.
+                                  "stringValue": "A String", # Represents a string value.
+                                      # Leading single quotes are not included. For example, if the user typed
+                                      # `'123` into the UI, this would be represented as a `stringValue` of
+                                      # `"123"`.
+                                  "errorValue": { # An error in a cell. # Represents an error.
+                                      # This field is read-only.
+                                    "message": "A String", # A message with more information about the error
+                                        # (in the spreadsheet's locale).
+                                    "type": "A String", # The type of error.
+                                  },
+                                },
+                              ],
+                              "valuesIndex": 42, # The offset in the [PivotTable.values] list which the values in this
+                                  # grouping should be sorted by.
+                            },
+                            "sortOrder": "A String", # The order the values in this group should be sorted.
+                            "sourceColumnOffset": 42, # The column offset of the source range that this grouping is based on.
+                                #
+                                # For example, if the source was `C10:E15', a `sourceColumnOffset` of `0`
+                                # means this group refers to column `C`, whereas the offset `1` would refer
+                                # to column `D`.
+                          },
+                        ],
+                      },
+                      "hyperlink": "A String", # A hyperlink this cell points to, if any.
+                          # This field is read-only.  (To set it, use a `=HYPERLINK` formula.)
+                      "effectiveValue": { # The kinds of value that a cell in a spreadsheet can have. # The effective value of the cell. For cells with formulas, this will be
+                          # the calculated value.  For cells with literals, this will be
+                          # the same as the user_entered_value.
+                          # This field is read-only.
+                        "numberValue": 3.14, # Represents a double value.
+                            # Note: Dates, Times and DateTimes are represented as doubles in
+                            # "serial number" format.
+                        "boolValue": True or False, # Represents a boolean value.
+                        "formulaValue": "A String", # Represents a formula.
+                        "stringValue": "A String", # Represents a string value.
+                            # Leading single quotes are not included. For example, if the user typed
+                            # `'123` into the UI, this would be represented as a `stringValue` of
+                            # `"123"`.
+                        "errorValue": { # An error in a cell. # Represents an error.
+                            # This field is read-only.
+                          "message": "A String", # A message with more information about the error
+                              # (in the spreadsheet's locale).
+                          "type": "A String", # The type of error.
+                        },
+                      },
+                      "formattedValue": "A String", # The formatted value of the cell.
+                          # This is the value as it's shown to the user.
+                          # This field is read-only.
+                      "userEnteredValue": { # The kinds of value that a cell in a spreadsheet can have. # The value the user entered in the cell. e.g, `1234`, `'Hello'`, or `=NOW()`
+                          # Note: Dates, Times and DateTimes are represented as doubles in
+                          # serial number format.
+                        "numberValue": 3.14, # Represents a double value.
+                            # Note: Dates, Times and DateTimes are represented as doubles in
+                            # "serial number" format.
+                        "boolValue": True or False, # Represents a boolean value.
+                        "formulaValue": "A String", # Represents a formula.
+                        "stringValue": "A String", # Represents a string value.
+                            # Leading single quotes are not included. For example, if the user typed
+                            # `'123` into the UI, this would be represented as a `stringValue` of
+                            # `"123"`.
+                        "errorValue": { # An error in a cell. # Represents an error.
+                            # This field is read-only.
+                          "message": "A String", # A message with more information about the error
+                              # (in the spreadsheet's locale).
+                          "type": "A String", # The type of error.
+                        },
+                      },
+                      "note": "A String", # Any note on the cell.
+                      "effectiveFormat": { # The format of a cell. # The effective format being used by the cell.
+                          # This includes the results of applying any conditional formatting and,
+                          # if the cell contains a formula, the computed number format.
+                          # If the effective format is the default format, effective format will
+                          # not be written.
+                          # This field is read-only.
+                        "numberFormat": { # The number format of a cell. # A format describing how number values should be represented to the user.
+                            # When updating, all fields must be set.
+                          "pattern": "A String", # Pattern string used for formatting.
+                          "type": "A String", # The type of the number format.
+                        },
+                        "textDirection": "A String", # The direction of the text in the cell.
+                        "padding": { # The amount of padding around the cell, in pixels. # The padding of the cell.
+                            # When updating padding, every field must be specified.
+                          "top": 42, # The top padding of the cell.
+                          "right": 42, # The right padding of the cell.
+                          "bottom": 42, # The bottom padding of the cell.
+                          "left": 42, # The left padding of the cell.
+                        },
+                        "horizontalAlignment": "A String", # The horizontal alignment of the value in cell.
+                        "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
+                            # for simplicity of conversion to/from color representations in various
+                            # languages over compactness; for example, the fields of this representation
+                            # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                            # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                            # method in iOS; and, with just a little work, it can be easily formatted into
+                            # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                            #
+                            # Example (Java):
+                            #
+                            #      import com.google.type.Color;
+                            #
+                            #      // ...
+                            #      public static java.awt.Color fromProto(Color protocolor) {
+                            #        float alpha = protocolor.hasAlpha()
+                            #            ? protocolor.getAlpha().getValue()
+                            #            : 1.0;
+                            #
+                            #        return new java.awt.Color(
+                            #            protocolor.getRed(),
+                            #            protocolor.getGreen(),
+                            #            protocolor.getBlue(),
+                            #            alpha);
+                            #      }
+                            #
+                            #      public static Color toProto(java.awt.Color color) {
+                            #        float red = (float) color.getRed();
+                            #        float green = (float) color.getGreen();
+                            #        float blue = (float) color.getBlue();
+                            #        float denominator = 255.0;
+                            #        Color.Builder resultBuilder =
+                            #            Color
+                            #                .newBuilder()
+                            #                .setRed(red / denominator)
+                            #                .setGreen(green / denominator)
+                            #                .setBlue(blue / denominator);
+                            #        int alpha = color.getAlpha();
+                            #        if (alpha != 255) {
+                            #          result.setAlpha(
+                            #              FloatValue
+                            #                  .newBuilder()
+                            #                  .setValue(((float) alpha) / denominator)
+                            #                  .build());
+                            #        }
+                            #        return resultBuilder.build();
+                            #      }
+                            #      // ...
+                            #
+                            # Example (iOS / Obj-C):
+                            #
+                            #      // ...
+                            #      static UIColor* fromProto(Color* protocolor) {
+                            #         float red = [protocolor red];
+                            #         float green = [protocolor green];
+                            #         float blue = [protocolor blue];
+                            #         FloatValue* alpha_wrapper = [protocolor alpha];
+                            #         float alpha = 1.0;
+                            #         if (alpha_wrapper != nil) {
+                            #           alpha = [alpha_wrapper value];
+                            #         }
+                            #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                            #      }
+                            #
+                            #      static Color* toProto(UIColor* color) {
+                            #          CGFloat red, green, blue, alpha;
+                            #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                            #            return nil;
+                            #          }
+                            #          Color* result = [Color alloc] init];
+                            #          [result setRed:red];
+                            #          [result setGreen:green];
+                            #          [result setBlue:blue];
+                            #          if (alpha <= 0.9999) {
+                            #            [result setAlpha:floatWrapperWithValue(alpha)];
+                            #          }
+                            #          [result autorelease];
+                            #          return result;
+                            #     }
+                            #     // ...
+                            #
+                            #  Example (JavaScript):
+                            #
+                            #     // ...
+                            #
+                            #     var protoToCssColor = function(rgb_color) {
+                            #        var redFrac = rgb_color.red || 0.0;
+                            #        var greenFrac = rgb_color.green || 0.0;
+                            #        var blueFrac = rgb_color.blue || 0.0;
+                            #        var red = Math.floor(redFrac * 255);
+                            #        var green = Math.floor(greenFrac * 255);
+                            #        var blue = Math.floor(blueFrac * 255);
+                            #
+                            #        if (!('alpha' in rgb_color)) {
+                            #           return rgbToCssColor_(red, green, blue);
+                            #        }
+                            #
+                            #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                            #        var rgbParams = [red, green, blue].join(',');
+                            #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                            #     };
+                            #
+                            #     var rgbToCssColor_ = function(red, green, blue) {
+                            #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                            #       var hexString = rgbNumber.toString(16);
+                            #       var missingZeros = 6 - hexString.length;
+                            #       var resultBuilder = ['#'];
+                            #       for (var i = 0; i < missingZeros; i++) {
+                            #          resultBuilder.push('0');
+                            #       }
+                            #       resultBuilder.push(hexString);
+                            #       return resultBuilder.join('');
+                            #     };
+                            #
+                            #     // ...
+                          "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                          "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                              # the final pixel color is defined by the equation:
+                              #
+                              #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                              #
+                              # This means that a value of 1.0 corresponds to a solid color, whereas
+                              # a value of 0.0 corresponds to a completely transparent color. This
+                              # uses a wrapper message rather than a simple float scalar so that it is
+                              # possible to distinguish between a default value and the value being unset.
+                              # If omitted, this color object is to be rendered as a solid color
+                              # (as if the alpha value had been explicitly given with a value of 1.0).
+                          "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        },
+                        "verticalAlignment": "A String", # The vertical alignment of the value in cell.
+                        "textFormat": { # The format of a run of text in a cell. # The format of the text in the cell (unless overridden by a format run).
+                            # Absent values indicate that the field isn't specified.
+                          "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
+                              # for simplicity of conversion to/from color representations in various
+                              # languages over compactness; for example, the fields of this representation
+                              # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                              # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                              # method in iOS; and, with just a little work, it can be easily formatted into
+                              # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                              #
+                              # Example (Java):
+                              #
+                              #      import com.google.type.Color;
+                              #
+                              #      // ...
+                              #      public static java.awt.Color fromProto(Color protocolor) {
+                              #        float alpha = protocolor.hasAlpha()
+                              #            ? protocolor.getAlpha().getValue()
+                              #            : 1.0;
+                              #
+                              #        return new java.awt.Color(
+                              #            protocolor.getRed(),
+                              #            protocolor.getGreen(),
+                              #            protocolor.getBlue(),
+                              #            alpha);
+                              #      }
+                              #
+                              #      public static Color toProto(java.awt.Color color) {
+                              #        float red = (float) color.getRed();
+                              #        float green = (float) color.getGreen();
+                              #        float blue = (float) color.getBlue();
+                              #        float denominator = 255.0;
+                              #        Color.Builder resultBuilder =
+                              #            Color
+                              #                .newBuilder()
+                              #                .setRed(red / denominator)
+                              #                .setGreen(green / denominator)
+                              #                .setBlue(blue / denominator);
+                              #        int alpha = color.getAlpha();
+                              #        if (alpha != 255) {
+                              #          result.setAlpha(
+                              #              FloatValue
+                              #                  .newBuilder()
+                              #                  .setValue(((float) alpha) / denominator)
+                              #                  .build());
+                              #        }
+                              #        return resultBuilder.build();
+                              #      }
+                              #      // ...
+                              #
+                              # Example (iOS / Obj-C):
+                              #
+                              #      // ...
+                              #      static UIColor* fromProto(Color* protocolor) {
+                              #         float red = [protocolor red];
+                              #         float green = [protocolor green];
+                              #         float blue = [protocolor blue];
+                              #         FloatValue* alpha_wrapper = [protocolor alpha];
+                              #         float alpha = 1.0;
+                              #         if (alpha_wrapper != nil) {
+                              #           alpha = [alpha_wrapper value];
+                              #         }
+                              #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                              #      }
+                              #
+                              #      static Color* toProto(UIColor* color) {
+                              #          CGFloat red, green, blue, alpha;
+                              #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                              #            return nil;
+                              #          }
+                              #          Color* result = [Color alloc] init];
+                              #          [result setRed:red];
+                              #          [result setGreen:green];
+                              #          [result setBlue:blue];
+                              #          if (alpha <= 0.9999) {
+                              #            [result setAlpha:floatWrapperWithValue(alpha)];
+                              #          }
+                              #          [result autorelease];
+                              #          return result;
+                              #     }
+                              #     // ...
+                              #
+                              #  Example (JavaScript):
+                              #
+                              #     // ...
+                              #
+                              #     var protoToCssColor = function(rgb_color) {
+                              #        var redFrac = rgb_color.red || 0.0;
+                              #        var greenFrac = rgb_color.green || 0.0;
+                              #        var blueFrac = rgb_color.blue || 0.0;
+                              #        var red = Math.floor(redFrac * 255);
+                              #        var green = Math.floor(greenFrac * 255);
+                              #        var blue = Math.floor(blueFrac * 255);
+                              #
+                              #        if (!('alpha' in rgb_color)) {
+                              #           return rgbToCssColor_(red, green, blue);
+                              #        }
+                              #
+                              #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                              #        var rgbParams = [red, green, blue].join(',');
+                              #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                              #     };
+                              #
+                              #     var rgbToCssColor_ = function(red, green, blue) {
+                              #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                              #       var hexString = rgbNumber.toString(16);
+                              #       var missingZeros = 6 - hexString.length;
+                              #       var resultBuilder = ['#'];
+                              #       for (var i = 0; i < missingZeros; i++) {
+                              #          resultBuilder.push('0');
+                              #       }
+                              #       resultBuilder.push(hexString);
+                              #       return resultBuilder.join('');
+                              #     };
+                              #
+                              #     // ...
+                            "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                            "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                                # the final pixel color is defined by the equation:
+                                #
+                                #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                                #
+                                # This means that a value of 1.0 corresponds to a solid color, whereas
+                                # a value of 0.0 corresponds to a completely transparent color. This
+                                # uses a wrapper message rather than a simple float scalar so that it is
+                                # possible to distinguish between a default value and the value being unset.
+                                # If omitted, this color object is to be rendered as a solid color
+                                # (as if the alpha value had been explicitly given with a value of 1.0).
+                            "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          },
+                          "bold": True or False, # True if the text is bold.
+                          "strikethrough": True or False, # True if the text has a strikethrough.
+                          "fontFamily": "A String", # The font family.
+                          "fontSize": 42, # The size of the font.
+                          "italic": True or False, # True if the text is italicized.
+                          "underline": True or False, # True if the text is underlined.
+                        },
+                        "hyperlinkDisplayType": "A String", # How a hyperlink, if it exists, should be displayed in the cell.
+                        "borders": { # The borders of the cell. # The borders of the cell.
+                          "top": { # A border along a cell. # The top border of the cell.
+                            "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                                # for simplicity of conversion to/from color representations in various
+                                # languages over compactness; for example, the fields of this representation
+                                # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                                # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                                # method in iOS; and, with just a little work, it can be easily formatted into
+                                # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                                #
+                                # Example (Java):
+                                #
+                                #      import com.google.type.Color;
+                                #
+                                #      // ...
+                                #      public static java.awt.Color fromProto(Color protocolor) {
+                                #        float alpha = protocolor.hasAlpha()
+                                #            ? protocolor.getAlpha().getValue()
+                                #            : 1.0;
+                                #
+                                #        return new java.awt.Color(
+                                #            protocolor.getRed(),
+                                #            protocolor.getGreen(),
+                                #            protocolor.getBlue(),
+                                #            alpha);
+                                #      }
+                                #
+                                #      public static Color toProto(java.awt.Color color) {
+                                #        float red = (float) color.getRed();
+                                #        float green = (float) color.getGreen();
+                                #        float blue = (float) color.getBlue();
+                                #        float denominator = 255.0;
+                                #        Color.Builder resultBuilder =
+                                #            Color
+                                #                .newBuilder()
+                                #                .setRed(red / denominator)
+                                #                .setGreen(green / denominator)
+                                #                .setBlue(blue / denominator);
+                                #        int alpha = color.getAlpha();
+                                #        if (alpha != 255) {
+                                #          result.setAlpha(
+                                #              FloatValue
+                                #                  .newBuilder()
+                                #                  .setValue(((float) alpha) / denominator)
+                                #                  .build());
+                                #        }
+                                #        return resultBuilder.build();
+                                #      }
+                                #      // ...
+                                #
+                                # Example (iOS / Obj-C):
+                                #
+                                #      // ...
+                                #      static UIColor* fromProto(Color* protocolor) {
+                                #         float red = [protocolor red];
+                                #         float green = [protocolor green];
+                                #         float blue = [protocolor blue];
+                                #         FloatValue* alpha_wrapper = [protocolor alpha];
+                                #         float alpha = 1.0;
+                                #         if (alpha_wrapper != nil) {
+                                #           alpha = [alpha_wrapper value];
+                                #         }
+                                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                                #      }
+                                #
+                                #      static Color* toProto(UIColor* color) {
+                                #          CGFloat red, green, blue, alpha;
+                                #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                                #            return nil;
+                                #          }
+                                #          Color* result = [Color alloc] init];
+                                #          [result setRed:red];
+                                #          [result setGreen:green];
+                                #          [result setBlue:blue];
+                                #          if (alpha <= 0.9999) {
+                                #            [result setAlpha:floatWrapperWithValue(alpha)];
+                                #          }
+                                #          [result autorelease];
+                                #          return result;
+                                #     }
+                                #     // ...
+                                #
+                                #  Example (JavaScript):
+                                #
+                                #     // ...
+                                #
+                                #     var protoToCssColor = function(rgb_color) {
+                                #        var redFrac = rgb_color.red || 0.0;
+                                #        var greenFrac = rgb_color.green || 0.0;
+                                #        var blueFrac = rgb_color.blue || 0.0;
+                                #        var red = Math.floor(redFrac * 255);
+                                #        var green = Math.floor(greenFrac * 255);
+                                #        var blue = Math.floor(blueFrac * 255);
+                                #
+                                #        if (!('alpha' in rgb_color)) {
+                                #           return rgbToCssColor_(red, green, blue);
+                                #        }
+                                #
+                                #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                                #        var rgbParams = [red, green, blue].join(',');
+                                #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                                #     };
+                                #
+                                #     var rgbToCssColor_ = function(red, green, blue) {
+                                #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                                #       var hexString = rgbNumber.toString(16);
+                                #       var missingZeros = 6 - hexString.length;
+                                #       var resultBuilder = ['#'];
+                                #       for (var i = 0; i < missingZeros; i++) {
+                                #          resultBuilder.push('0');
+                                #       }
+                                #       resultBuilder.push(hexString);
+                                #       return resultBuilder.join('');
+                                #     };
+                                #
+                                #     // ...
+                              "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                              "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                                  # the final pixel color is defined by the equation:
+                                  #
+                                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                                  #
+                                  # This means that a value of 1.0 corresponds to a solid color, whereas
+                                  # a value of 0.0 corresponds to a completely transparent color. This
+                                  # uses a wrapper message rather than a simple float scalar so that it is
+                                  # possible to distinguish between a default value and the value being unset.
+                                  # If omitted, this color object is to be rendered as a solid color
+                                  # (as if the alpha value had been explicitly given with a value of 1.0).
+                              "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                              "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            },
+                            "width": 42, # The width of the border, in pixels.
+                                # Border widths must be between 0 and 3 pixels.
+                            "style": "A String", # The style of the border.
+                          },
+                          "right": { # A border along a cell. # The right border of the cell.
+                            "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                                # for simplicity of conversion to/from color representations in various
+                                # languages over compactness; for example, the fields of this representation
+                                # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                                # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                                # method in iOS; and, with just a little work, it can be easily formatted into
+                                # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                                #
+                                # Example (Java):
+                                #
+                                #      import com.google.type.Color;
+                                #
+                                #      // ...
+                                #      public static java.awt.Color fromProto(Color protocolor) {
+                                #        float alpha = protocolor.hasAlpha()
+                                #            ? protocolor.getAlpha().getValue()
+                                #            : 1.0;
+                                #
+                                #        return new java.awt.Color(
+                                #            protocolor.getRed(),
+                                #            protocolor.getGreen(),
+                                #            protocolor.getBlue(),
+                                #            alpha);
+                                #      }
+                                #
+                                #      public static Color toProto(java.awt.Color color) {
+                                #        float red = (float) color.getRed();
+                                #        float green = (float) color.getGreen();
+                                #        float blue = (float) color.getBlue();
+                                #        float denominator = 255.0;
+                                #        Color.Builder resultBuilder =
+                                #            Color
+                                #                .newBuilder()
+                                #                .setRed(red / denominator)
+                                #                .setGreen(green / denominator)
+                                #                .setBlue(blue / denominator);
+                                #        int alpha = color.getAlpha();
+                                #        if (alpha != 255) {
+                                #          result.setAlpha(
+                                #              FloatValue
+                                #                  .newBuilder()
+                                #                  .setValue(((float) alpha) / denominator)
+                                #                  .build());
+                                #        }
+                                #        return resultBuilder.build();
+                                #      }
+                                #      // ...
+                                #
+                                # Example (iOS / Obj-C):
+                                #
+                                #      // ...
+                                #      static UIColor* fromProto(Color* protocolor) {
+                                #         float red = [protocolor red];
+                                #         float green = [protocolor green];
+                                #         float blue = [protocolor blue];
+                                #         FloatValue* alpha_wrapper = [protocolor alpha];
+                                #         float alpha = 1.0;
+                                #         if (alpha_wrapper != nil) {
+                                #           alpha = [alpha_wrapper value];
+                                #         }
+                                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                                #      }
+                                #
+                                #      static Color* toProto(UIColor* color) {
+                                #          CGFloat red, green, blue, alpha;
+                                #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                                #            return nil;
+                                #          }
+                                #          Color* result = [Color alloc] init];
+                                #          [result setRed:red];
+                                #          [result setGreen:green];
+                                #          [result setBlue:blue];
+                                #          if (alpha <= 0.9999) {
+                                #            [result setAlpha:floatWrapperWithValue(alpha)];
+                                #          }
+                                #          [result autorelease];
+                                #          return result;
+                                #     }
+                                #     // ...
+                                #
+                                #  Example (JavaScript):
+                                #
+                                #     // ...
+                                #
+                                #     var protoToCssColor = function(rgb_color) {
+                                #        var redFrac = rgb_color.red || 0.0;
+                                #        var greenFrac = rgb_color.green || 0.0;
+                                #        var blueFrac = rgb_color.blue || 0.0;
+                                #        var red = Math.floor(redFrac * 255);
+                                #        var green = Math.floor(greenFrac * 255);
+                                #        var blue = Math.floor(blueFrac * 255);
+                                #
+                                #        if (!('alpha' in rgb_color)) {
+                                #           return rgbToCssColor_(red, green, blue);
+                                #        }
+                                #
+                                #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                                #        var rgbParams = [red, green, blue].join(',');
+                                #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                                #     };
+                                #
+                                #     var rgbToCssColor_ = function(red, green, blue) {
+                                #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                                #       var hexString = rgbNumber.toString(16);
+                                #       var missingZeros = 6 - hexString.length;
+                                #       var resultBuilder = ['#'];
+                                #       for (var i = 0; i < missingZeros; i++) {
+                                #          resultBuilder.push('0');
+                                #       }
+                                #       resultBuilder.push(hexString);
+                                #       return resultBuilder.join('');
+                                #     };
+                                #
+                                #     // ...
+                              "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                              "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                                  # the final pixel color is defined by the equation:
+                                  #
+                                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                                  #
+                                  # This means that a value of 1.0 corresponds to a solid color, whereas
+                                  # a value of 0.0 corresponds to a completely transparent color. This
+                                  # uses a wrapper message rather than a simple float scalar so that it is
+                                  # possible to distinguish between a default value and the value being unset.
+                                  # If omitted, this color object is to be rendered as a solid color
+                                  # (as if the alpha value had been explicitly given with a value of 1.0).
+                              "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                              "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            },
+                            "width": 42, # The width of the border, in pixels.
+                                # Border widths must be between 0 and 3 pixels.
+                            "style": "A String", # The style of the border.
+                          },
+                          "bottom": { # A border along a cell. # The bottom border of the cell.
+                            "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                                # for simplicity of conversion to/from color representations in various
+                                # languages over compactness; for example, the fields of this representation
+                                # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                                # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                                # method in iOS; and, with just a little work, it can be easily formatted into
+                                # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                                #
+                                # Example (Java):
+                                #
+                                #      import com.google.type.Color;
+                                #
+                                #      // ...
+                                #      public static java.awt.Color fromProto(Color protocolor) {
+                                #        float alpha = protocolor.hasAlpha()
+                                #            ? protocolor.getAlpha().getValue()
+                                #            : 1.0;
+                                #
+                                #        return new java.awt.Color(
+                                #            protocolor.getRed(),
+                                #            protocolor.getGreen(),
+                                #            protocolor.getBlue(),
+                                #            alpha);
+                                #      }
+                                #
+                                #      public static Color toProto(java.awt.Color color) {
+                                #        float red = (float) color.getRed();
+                                #        float green = (float) color.getGreen();
+                                #        float blue = (float) color.getBlue();
+                                #        float denominator = 255.0;
+                                #        Color.Builder resultBuilder =
+                                #            Color
+                                #                .newBuilder()
+                                #                .setRed(red / denominator)
+                                #                .setGreen(green / denominator)
+                                #                .setBlue(blue / denominator);
+                                #        int alpha = color.getAlpha();
+                                #        if (alpha != 255) {
+                                #          result.setAlpha(
+                                #              FloatValue
+                                #                  .newBuilder()
+                                #                  .setValue(((float) alpha) / denominator)
+                                #                  .build());
+                                #        }
+                                #        return resultBuilder.build();
+                                #      }
+                                #      // ...
+                                #
+                                # Example (iOS / Obj-C):
+                                #
+                                #      // ...
+                                #      static UIColor* fromProto(Color* protocolor) {
+                                #         float red = [protocolor red];
+                                #         float green = [protocolor green];
+                                #         float blue = [protocolor blue];
+                                #         FloatValue* alpha_wrapper = [protocolor alpha];
+                                #         float alpha = 1.0;
+                                #         if (alpha_wrapper != nil) {
+                                #           alpha = [alpha_wrapper value];
+                                #         }
+                                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                                #      }
+                                #
+                                #      static Color* toProto(UIColor* color) {
+                                #          CGFloat red, green, blue, alpha;
+                                #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                                #            return nil;
+                                #          }
+                                #          Color* result = [Color alloc] init];
+                                #          [result setRed:red];
+                                #          [result setGreen:green];
+                                #          [result setBlue:blue];
+                                #          if (alpha <= 0.9999) {
+                                #            [result setAlpha:floatWrapperWithValue(alpha)];
+                                #          }
+                                #          [result autorelease];
+                                #          return result;
+                                #     }
+                                #     // ...
+                                #
+                                #  Example (JavaScript):
+                                #
+                                #     // ...
+                                #
+                                #     var protoToCssColor = function(rgb_color) {
+                                #        var redFrac = rgb_color.red || 0.0;
+                                #        var greenFrac = rgb_color.green || 0.0;
+                                #        var blueFrac = rgb_color.blue || 0.0;
+                                #        var red = Math.floor(redFrac * 255);
+                                #        var green = Math.floor(greenFrac * 255);
+                                #        var blue = Math.floor(blueFrac * 255);
+                                #
+                                #        if (!('alpha' in rgb_color)) {
+                                #           return rgbToCssColor_(red, green, blue);
+                                #        }
+                                #
+                                #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                                #        var rgbParams = [red, green, blue].join(',');
+                                #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                                #     };
+                                #
+                                #     var rgbToCssColor_ = function(red, green, blue) {
+                                #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                                #       var hexString = rgbNumber.toString(16);
+                                #       var missingZeros = 6 - hexString.length;
+                                #       var resultBuilder = ['#'];
+                                #       for (var i = 0; i < missingZeros; i++) {
+                                #          resultBuilder.push('0');
+                                #       }
+                                #       resultBuilder.push(hexString);
+                                #       return resultBuilder.join('');
+                                #     };
+                                #
+                                #     // ...
+                              "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                              "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                                  # the final pixel color is defined by the equation:
+                                  #
+                                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                                  #
+                                  # This means that a value of 1.0 corresponds to a solid color, whereas
+                                  # a value of 0.0 corresponds to a completely transparent color. This
+                                  # uses a wrapper message rather than a simple float scalar so that it is
+                                  # possible to distinguish between a default value and the value being unset.
+                                  # If omitted, this color object is to be rendered as a solid color
+                                  # (as if the alpha value had been explicitly given with a value of 1.0).
+                              "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                              "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            },
+                            "width": 42, # The width of the border, in pixels.
+                                # Border widths must be between 0 and 3 pixels.
+                            "style": "A String", # The style of the border.
+                          },
+                          "left": { # A border along a cell. # The left border of the cell.
+                            "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                                # for simplicity of conversion to/from color representations in various
+                                # languages over compactness; for example, the fields of this representation
+                                # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                                # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                                # method in iOS; and, with just a little work, it can be easily formatted into
+                                # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                                #
+                                # Example (Java):
+                                #
+                                #      import com.google.type.Color;
+                                #
+                                #      // ...
+                                #      public static java.awt.Color fromProto(Color protocolor) {
+                                #        float alpha = protocolor.hasAlpha()
+                                #            ? protocolor.getAlpha().getValue()
+                                #            : 1.0;
+                                #
+                                #        return new java.awt.Color(
+                                #            protocolor.getRed(),
+                                #            protocolor.getGreen(),
+                                #            protocolor.getBlue(),
+                                #            alpha);
+                                #      }
+                                #
+                                #      public static Color toProto(java.awt.Color color) {
+                                #        float red = (float) color.getRed();
+                                #        float green = (float) color.getGreen();
+                                #        float blue = (float) color.getBlue();
+                                #        float denominator = 255.0;
+                                #        Color.Builder resultBuilder =
+                                #            Color
+                                #                .newBuilder()
+                                #                .setRed(red / denominator)
+                                #                .setGreen(green / denominator)
+                                #                .setBlue(blue / denominator);
+                                #        int alpha = color.getAlpha();
+                                #        if (alpha != 255) {
+                                #          result.setAlpha(
+                                #              FloatValue
+                                #                  .newBuilder()
+                                #                  .setValue(((float) alpha) / denominator)
+                                #                  .build());
+                                #        }
+                                #        return resultBuilder.build();
+                                #      }
+                                #      // ...
+                                #
+                                # Example (iOS / Obj-C):
+                                #
+                                #      // ...
+                                #      static UIColor* fromProto(Color* protocolor) {
+                                #         float red = [protocolor red];
+                                #         float green = [protocolor green];
+                                #         float blue = [protocolor blue];
+                                #         FloatValue* alpha_wrapper = [protocolor alpha];
+                                #         float alpha = 1.0;
+                                #         if (alpha_wrapper != nil) {
+                                #           alpha = [alpha_wrapper value];
+                                #         }
+                                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                                #      }
+                                #
+                                #      static Color* toProto(UIColor* color) {
+                                #          CGFloat red, green, blue, alpha;
+                                #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                                #            return nil;
+                                #          }
+                                #          Color* result = [Color alloc] init];
+                                #          [result setRed:red];
+                                #          [result setGreen:green];
+                                #          [result setBlue:blue];
+                                #          if (alpha <= 0.9999) {
+                                #            [result setAlpha:floatWrapperWithValue(alpha)];
+                                #          }
+                                #          [result autorelease];
+                                #          return result;
+                                #     }
+                                #     // ...
+                                #
+                                #  Example (JavaScript):
+                                #
+                                #     // ...
+                                #
+                                #     var protoToCssColor = function(rgb_color) {
+                                #        var redFrac = rgb_color.red || 0.0;
+                                #        var greenFrac = rgb_color.green || 0.0;
+                                #        var blueFrac = rgb_color.blue || 0.0;
+                                #        var red = Math.floor(redFrac * 255);
+                                #        var green = Math.floor(greenFrac * 255);
+                                #        var blue = Math.floor(blueFrac * 255);
+                                #
+                                #        if (!('alpha' in rgb_color)) {
+                                #           return rgbToCssColor_(red, green, blue);
+                                #        }
+                                #
+                                #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                                #        var rgbParams = [red, green, blue].join(',');
+                                #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                                #     };
+                                #
+                                #     var rgbToCssColor_ = function(red, green, blue) {
+                                #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                                #       var hexString = rgbNumber.toString(16);
+                                #       var missingZeros = 6 - hexString.length;
+                                #       var resultBuilder = ['#'];
+                                #       for (var i = 0; i < missingZeros; i++) {
+                                #          resultBuilder.push('0');
+                                #       }
+                                #       resultBuilder.push(hexString);
+                                #       return resultBuilder.join('');
+                                #     };
+                                #
+                                #     // ...
+                              "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                              "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                                  # the final pixel color is defined by the equation:
+                                  #
+                                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                                  #
+                                  # This means that a value of 1.0 corresponds to a solid color, whereas
+                                  # a value of 0.0 corresponds to a completely transparent color. This
+                                  # uses a wrapper message rather than a simple float scalar so that it is
+                                  # possible to distinguish between a default value and the value being unset.
+                                  # If omitted, this color object is to be rendered as a solid color
+                                  # (as if the alpha value had been explicitly given with a value of 1.0).
+                              "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                              "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            },
+                            "width": 42, # The width of the border, in pixels.
+                                # Border widths must be between 0 and 3 pixels.
+                            "style": "A String", # The style of the border.
+                          },
+                        },
+                        "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
+                      },
+                      "userEnteredFormat": { # The format of a cell. # The format the user entered for the cell.
+                          #
+                          # When writing, the new format will be merged with the existing format.
+                        "numberFormat": { # The number format of a cell. # A format describing how number values should be represented to the user.
+                            # When updating, all fields must be set.
+                          "pattern": "A String", # Pattern string used for formatting.
+                          "type": "A String", # The type of the number format.
+                        },
+                        "textDirection": "A String", # The direction of the text in the cell.
+                        "padding": { # The amount of padding around the cell, in pixels. # The padding of the cell.
+                            # When updating padding, every field must be specified.
+                          "top": 42, # The top padding of the cell.
+                          "right": 42, # The right padding of the cell.
+                          "bottom": 42, # The bottom padding of the cell.
+                          "left": 42, # The left padding of the cell.
+                        },
+                        "horizontalAlignment": "A String", # The horizontal alignment of the value in cell.
+                        "backgroundColor": { # Represents a color in the RGBA color space. This representation is designed # The background color of the cell.
+                            # for simplicity of conversion to/from color representations in various
+                            # languages over compactness; for example, the fields of this representation
+                            # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                            # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                            # method in iOS; and, with just a little work, it can be easily formatted into
+                            # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                            #
+                            # Example (Java):
+                            #
+                            #      import com.google.type.Color;
+                            #
+                            #      // ...
+                            #      public static java.awt.Color fromProto(Color protocolor) {
+                            #        float alpha = protocolor.hasAlpha()
+                            #            ? protocolor.getAlpha().getValue()
+                            #            : 1.0;
+                            #
+                            #        return new java.awt.Color(
+                            #            protocolor.getRed(),
+                            #            protocolor.getGreen(),
+                            #            protocolor.getBlue(),
+                            #            alpha);
+                            #      }
+                            #
+                            #      public static Color toProto(java.awt.Color color) {
+                            #        float red = (float) color.getRed();
+                            #        float green = (float) color.getGreen();
+                            #        float blue = (float) color.getBlue();
+                            #        float denominator = 255.0;
+                            #        Color.Builder resultBuilder =
+                            #            Color
+                            #                .newBuilder()
+                            #                .setRed(red / denominator)
+                            #                .setGreen(green / denominator)
+                            #                .setBlue(blue / denominator);
+                            #        int alpha = color.getAlpha();
+                            #        if (alpha != 255) {
+                            #          result.setAlpha(
+                            #              FloatValue
+                            #                  .newBuilder()
+                            #                  .setValue(((float) alpha) / denominator)
+                            #                  .build());
+                            #        }
+                            #        return resultBuilder.build();
+                            #      }
+                            #      // ...
+                            #
+                            # Example (iOS / Obj-C):
+                            #
+                            #      // ...
+                            #      static UIColor* fromProto(Color* protocolor) {
+                            #         float red = [protocolor red];
+                            #         float green = [protocolor green];
+                            #         float blue = [protocolor blue];
+                            #         FloatValue* alpha_wrapper = [protocolor alpha];
+                            #         float alpha = 1.0;
+                            #         if (alpha_wrapper != nil) {
+                            #           alpha = [alpha_wrapper value];
+                            #         }
+                            #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                            #      }
+                            #
+                            #      static Color* toProto(UIColor* color) {
+                            #          CGFloat red, green, blue, alpha;
+                            #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                            #            return nil;
+                            #          }
+                            #          Color* result = [Color alloc] init];
+                            #          [result setRed:red];
+                            #          [result setGreen:green];
+                            #          [result setBlue:blue];
+                            #          if (alpha <= 0.9999) {
+                            #            [result setAlpha:floatWrapperWithValue(alpha)];
+                            #          }
+                            #          [result autorelease];
+                            #          return result;
+                            #     }
+                            #     // ...
+                            #
+                            #  Example (JavaScript):
+                            #
+                            #     // ...
+                            #
+                            #     var protoToCssColor = function(rgb_color) {
+                            #        var redFrac = rgb_color.red || 0.0;
+                            #        var greenFrac = rgb_color.green || 0.0;
+                            #        var blueFrac = rgb_color.blue || 0.0;
+                            #        var red = Math.floor(redFrac * 255);
+                            #        var green = Math.floor(greenFrac * 255);
+                            #        var blue = Math.floor(blueFrac * 255);
+                            #
+                            #        if (!('alpha' in rgb_color)) {
+                            #           return rgbToCssColor_(red, green, blue);
+                            #        }
+                            #
+                            #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                            #        var rgbParams = [red, green, blue].join(',');
+                            #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                            #     };
+                            #
+                            #     var rgbToCssColor_ = function(red, green, blue) {
+                            #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                            #       var hexString = rgbNumber.toString(16);
+                            #       var missingZeros = 6 - hexString.length;
+                            #       var resultBuilder = ['#'];
+                            #       for (var i = 0; i < missingZeros; i++) {
+                            #          resultBuilder.push('0');
+                            #       }
+                            #       resultBuilder.push(hexString);
+                            #       return resultBuilder.join('');
+                            #     };
+                            #
+                            #     // ...
+                          "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                          "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                              # the final pixel color is defined by the equation:
+                              #
+                              #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                              #
+                              # This means that a value of 1.0 corresponds to a solid color, whereas
+                              # a value of 0.0 corresponds to a completely transparent color. This
+                              # uses a wrapper message rather than a simple float scalar so that it is
+                              # possible to distinguish between a default value and the value being unset.
+                              # If omitted, this color object is to be rendered as a solid color
+                              # (as if the alpha value had been explicitly given with a value of 1.0).
+                          "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                          "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                        },
+                        "verticalAlignment": "A String", # The vertical alignment of the value in cell.
+                        "textFormat": { # The format of a run of text in a cell. # The format of the text in the cell (unless overridden by a format run).
+                            # Absent values indicate that the field isn't specified.
+                          "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
+                              # for simplicity of conversion to/from color representations in various
+                              # languages over compactness; for example, the fields of this representation
+                              # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                              # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                              # method in iOS; and, with just a little work, it can be easily formatted into
+                              # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                              #
+                              # Example (Java):
+                              #
+                              #      import com.google.type.Color;
+                              #
+                              #      // ...
+                              #      public static java.awt.Color fromProto(Color protocolor) {
+                              #        float alpha = protocolor.hasAlpha()
+                              #            ? protocolor.getAlpha().getValue()
+                              #            : 1.0;
+                              #
+                              #        return new java.awt.Color(
+                              #            protocolor.getRed(),
+                              #            protocolor.getGreen(),
+                              #            protocolor.getBlue(),
+                              #            alpha);
+                              #      }
+                              #
+                              #      public static Color toProto(java.awt.Color color) {
+                              #        float red = (float) color.getRed();
+                              #        float green = (float) color.getGreen();
+                              #        float blue = (float) color.getBlue();
+                              #        float denominator = 255.0;
+                              #        Color.Builder resultBuilder =
+                              #            Color
+                              #                .newBuilder()
+                              #                .setRed(red / denominator)
+                              #                .setGreen(green / denominator)
+                              #                .setBlue(blue / denominator);
+                              #        int alpha = color.getAlpha();
+                              #        if (alpha != 255) {
+                              #          result.setAlpha(
+                              #              FloatValue
+                              #                  .newBuilder()
+                              #                  .setValue(((float) alpha) / denominator)
+                              #                  .build());
+                              #        }
+                              #        return resultBuilder.build();
+                              #      }
+                              #      // ...
+                              #
+                              # Example (iOS / Obj-C):
+                              #
+                              #      // ...
+                              #      static UIColor* fromProto(Color* protocolor) {
+                              #         float red = [protocolor red];
+                              #         float green = [protocolor green];
+                              #         float blue = [protocolor blue];
+                              #         FloatValue* alpha_wrapper = [protocolor alpha];
+                              #         float alpha = 1.0;
+                              #         if (alpha_wrapper != nil) {
+                              #           alpha = [alpha_wrapper value];
+                              #         }
+                              #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                              #      }
+                              #
+                              #      static Color* toProto(UIColor* color) {
+                              #          CGFloat red, green, blue, alpha;
+                              #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                              #            return nil;
+                              #          }
+                              #          Color* result = [Color alloc] init];
+                              #          [result setRed:red];
+                              #          [result setGreen:green];
+                              #          [result setBlue:blue];
+                              #          if (alpha <= 0.9999) {
+                              #            [result setAlpha:floatWrapperWithValue(alpha)];
+                              #          }
+                              #          [result autorelease];
+                              #          return result;
+                              #     }
+                              #     // ...
+                              #
+                              #  Example (JavaScript):
+                              #
+                              #     // ...
+                              #
+                              #     var protoToCssColor = function(rgb_color) {
+                              #        var redFrac = rgb_color.red || 0.0;
+                              #        var greenFrac = rgb_color.green || 0.0;
+                              #        var blueFrac = rgb_color.blue || 0.0;
+                              #        var red = Math.floor(redFrac * 255);
+                              #        var green = Math.floor(greenFrac * 255);
+                              #        var blue = Math.floor(blueFrac * 255);
+                              #
+                              #        if (!('alpha' in rgb_color)) {
+                              #           return rgbToCssColor_(red, green, blue);
+                              #        }
+                              #
+                              #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                              #        var rgbParams = [red, green, blue].join(',');
+                              #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                              #     };
+                              #
+                              #     var rgbToCssColor_ = function(red, green, blue) {
+                              #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                              #       var hexString = rgbNumber.toString(16);
+                              #       var missingZeros = 6 - hexString.length;
+                              #       var resultBuilder = ['#'];
+                              #       for (var i = 0; i < missingZeros; i++) {
+                              #          resultBuilder.push('0');
+                              #       }
+                              #       resultBuilder.push(hexString);
+                              #       return resultBuilder.join('');
+                              #     };
+                              #
+                              #     // ...
+                            "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                            "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                                # the final pixel color is defined by the equation:
+                                #
+                                #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                                #
+                                # This means that a value of 1.0 corresponds to a solid color, whereas
+                                # a value of 0.0 corresponds to a completely transparent color. This
+                                # uses a wrapper message rather than a simple float scalar so that it is
+                                # possible to distinguish between a default value and the value being unset.
+                                # If omitted, this color object is to be rendered as a solid color
+                                # (as if the alpha value had been explicitly given with a value of 1.0).
+                            "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                            "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                          },
+                          "bold": True or False, # True if the text is bold.
+                          "strikethrough": True or False, # True if the text has a strikethrough.
+                          "fontFamily": "A String", # The font family.
+                          "fontSize": 42, # The size of the font.
+                          "italic": True or False, # True if the text is italicized.
+                          "underline": True or False, # True if the text is underlined.
+                        },
+                        "hyperlinkDisplayType": "A String", # How a hyperlink, if it exists, should be displayed in the cell.
+                        "borders": { # The borders of the cell. # The borders of the cell.
+                          "top": { # A border along a cell. # The top border of the cell.
+                            "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                                # for simplicity of conversion to/from color representations in various
+                                # languages over compactness; for example, the fields of this representation
+                                # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                                # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                                # method in iOS; and, with just a little work, it can be easily formatted into
+                                # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                                #
+                                # Example (Java):
+                                #
+                                #      import com.google.type.Color;
+                                #
+                                #      // ...
+                                #      public static java.awt.Color fromProto(Color protocolor) {
+                                #        float alpha = protocolor.hasAlpha()
+                                #            ? protocolor.getAlpha().getValue()
+                                #            : 1.0;
+                                #
+                                #        return new java.awt.Color(
+                                #            protocolor.getRed(),
+                                #            protocolor.getGreen(),
+                                #            protocolor.getBlue(),
+                                #            alpha);
+                                #      }
+                                #
+                                #      public static Color toProto(java.awt.Color color) {
+                                #        float red = (float) color.getRed();
+                                #        float green = (float) color.getGreen();
+                                #        float blue = (float) color.getBlue();
+                                #        float denominator = 255.0;
+                                #        Color.Builder resultBuilder =
+                                #            Color
+                                #                .newBuilder()
+                                #                .setRed(red / denominator)
+                                #                .setGreen(green / denominator)
+                                #                .setBlue(blue / denominator);
+                                #        int alpha = color.getAlpha();
+                                #        if (alpha != 255) {
+                                #          result.setAlpha(
+                                #              FloatValue
+                                #                  .newBuilder()
+                                #                  .setValue(((float) alpha) / denominator)
+                                #                  .build());
+                                #        }
+                                #        return resultBuilder.build();
+                                #      }
+                                #      // ...
+                                #
+                                # Example (iOS / Obj-C):
+                                #
+                                #      // ...
+                                #      static UIColor* fromProto(Color* protocolor) {
+                                #         float red = [protocolor red];
+                                #         float green = [protocolor green];
+                                #         float blue = [protocolor blue];
+                                #         FloatValue* alpha_wrapper = [protocolor alpha];
+                                #         float alpha = 1.0;
+                                #         if (alpha_wrapper != nil) {
+                                #           alpha = [alpha_wrapper value];
+                                #         }
+                                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                                #      }
+                                #
+                                #      static Color* toProto(UIColor* color) {
+                                #          CGFloat red, green, blue, alpha;
+                                #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                                #            return nil;
+                                #          }
+                                #          Color* result = [Color alloc] init];
+                                #          [result setRed:red];
+                                #          [result setGreen:green];
+                                #          [result setBlue:blue];
+                                #          if (alpha <= 0.9999) {
+                                #            [result setAlpha:floatWrapperWithValue(alpha)];
+                                #          }
+                                #          [result autorelease];
+                                #          return result;
+                                #     }
+                                #     // ...
+                                #
+                                #  Example (JavaScript):
+                                #
+                                #     // ...
+                                #
+                                #     var protoToCssColor = function(rgb_color) {
+                                #        var redFrac = rgb_color.red || 0.0;
+                                #        var greenFrac = rgb_color.green || 0.0;
+                                #        var blueFrac = rgb_color.blue || 0.0;
+                                #        var red = Math.floor(redFrac * 255);
+                                #        var green = Math.floor(greenFrac * 255);
+                                #        var blue = Math.floor(blueFrac * 255);
+                                #
+                                #        if (!('alpha' in rgb_color)) {
+                                #           return rgbToCssColor_(red, green, blue);
+                                #        }
+                                #
+                                #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                                #        var rgbParams = [red, green, blue].join(',');
+                                #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                                #     };
+                                #
+                                #     var rgbToCssColor_ = function(red, green, blue) {
+                                #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                                #       var hexString = rgbNumber.toString(16);
+                                #       var missingZeros = 6 - hexString.length;
+                                #       var resultBuilder = ['#'];
+                                #       for (var i = 0; i < missingZeros; i++) {
+                                #          resultBuilder.push('0');
+                                #       }
+                                #       resultBuilder.push(hexString);
+                                #       return resultBuilder.join('');
+                                #     };
+                                #
+                                #     // ...
+                              "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                              "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                                  # the final pixel color is defined by the equation:
+                                  #
+                                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                                  #
+                                  # This means that a value of 1.0 corresponds to a solid color, whereas
+                                  # a value of 0.0 corresponds to a completely transparent color. This
+                                  # uses a wrapper message rather than a simple float scalar so that it is
+                                  # possible to distinguish between a default value and the value being unset.
+                                  # If omitted, this color object is to be rendered as a solid color
+                                  # (as if the alpha value had been explicitly given with a value of 1.0).
+                              "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                              "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            },
+                            "width": 42, # The width of the border, in pixels.
+                                # Border widths must be between 0 and 3 pixels.
+                            "style": "A String", # The style of the border.
+                          },
+                          "right": { # A border along a cell. # The right border of the cell.
+                            "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                                # for simplicity of conversion to/from color representations in various
+                                # languages over compactness; for example, the fields of this representation
+                                # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                                # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                                # method in iOS; and, with just a little work, it can be easily formatted into
+                                # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                                #
+                                # Example (Java):
+                                #
+                                #      import com.google.type.Color;
+                                #
+                                #      // ...
+                                #      public static java.awt.Color fromProto(Color protocolor) {
+                                #        float alpha = protocolor.hasAlpha()
+                                #            ? protocolor.getAlpha().getValue()
+                                #            : 1.0;
+                                #
+                                #        return new java.awt.Color(
+                                #            protocolor.getRed(),
+                                #            protocolor.getGreen(),
+                                #            protocolor.getBlue(),
+                                #            alpha);
+                                #      }
+                                #
+                                #      public static Color toProto(java.awt.Color color) {
+                                #        float red = (float) color.getRed();
+                                #        float green = (float) color.getGreen();
+                                #        float blue = (float) color.getBlue();
+                                #        float denominator = 255.0;
+                                #        Color.Builder resultBuilder =
+                                #            Color
+                                #                .newBuilder()
+                                #                .setRed(red / denominator)
+                                #                .setGreen(green / denominator)
+                                #                .setBlue(blue / denominator);
+                                #        int alpha = color.getAlpha();
+                                #        if (alpha != 255) {
+                                #          result.setAlpha(
+                                #              FloatValue
+                                #                  .newBuilder()
+                                #                  .setValue(((float) alpha) / denominator)
+                                #                  .build());
+                                #        }
+                                #        return resultBuilder.build();
+                                #      }
+                                #      // ...
+                                #
+                                # Example (iOS / Obj-C):
+                                #
+                                #      // ...
+                                #      static UIColor* fromProto(Color* protocolor) {
+                                #         float red = [protocolor red];
+                                #         float green = [protocolor green];
+                                #         float blue = [protocolor blue];
+                                #         FloatValue* alpha_wrapper = [protocolor alpha];
+                                #         float alpha = 1.0;
+                                #         if (alpha_wrapper != nil) {
+                                #           alpha = [alpha_wrapper value];
+                                #         }
+                                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                                #      }
+                                #
+                                #      static Color* toProto(UIColor* color) {
+                                #          CGFloat red, green, blue, alpha;
+                                #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                                #            return nil;
+                                #          }
+                                #          Color* result = [Color alloc] init];
+                                #          [result setRed:red];
+                                #          [result setGreen:green];
+                                #          [result setBlue:blue];
+                                #          if (alpha <= 0.9999) {
+                                #            [result setAlpha:floatWrapperWithValue(alpha)];
+                                #          }
+                                #          [result autorelease];
+                                #          return result;
+                                #     }
+                                #     // ...
+                                #
+                                #  Example (JavaScript):
+                                #
+                                #     // ...
+                                #
+                                #     var protoToCssColor = function(rgb_color) {
+                                #        var redFrac = rgb_color.red || 0.0;
+                                #        var greenFrac = rgb_color.green || 0.0;
+                                #        var blueFrac = rgb_color.blue || 0.0;
+                                #        var red = Math.floor(redFrac * 255);
+                                #        var green = Math.floor(greenFrac * 255);
+                                #        var blue = Math.floor(blueFrac * 255);
+                                #
+                                #        if (!('alpha' in rgb_color)) {
+                                #           return rgbToCssColor_(red, green, blue);
+                                #        }
+                                #
+                                #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                                #        var rgbParams = [red, green, blue].join(',');
+                                #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                                #     };
+                                #
+                                #     var rgbToCssColor_ = function(red, green, blue) {
+                                #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                                #       var hexString = rgbNumber.toString(16);
+                                #       var missingZeros = 6 - hexString.length;
+                                #       var resultBuilder = ['#'];
+                                #       for (var i = 0; i < missingZeros; i++) {
+                                #          resultBuilder.push('0');
+                                #       }
+                                #       resultBuilder.push(hexString);
+                                #       return resultBuilder.join('');
+                                #     };
+                                #
+                                #     // ...
+                              "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                              "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                                  # the final pixel color is defined by the equation:
+                                  #
+                                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                                  #
+                                  # This means that a value of 1.0 corresponds to a solid color, whereas
+                                  # a value of 0.0 corresponds to a completely transparent color. This
+                                  # uses a wrapper message rather than a simple float scalar so that it is
+                                  # possible to distinguish between a default value and the value being unset.
+                                  # If omitted, this color object is to be rendered as a solid color
+                                  # (as if the alpha value had been explicitly given with a value of 1.0).
+                              "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                              "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            },
+                            "width": 42, # The width of the border, in pixels.
+                                # Border widths must be between 0 and 3 pixels.
+                            "style": "A String", # The style of the border.
+                          },
+                          "bottom": { # A border along a cell. # The bottom border of the cell.
+                            "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                                # for simplicity of conversion to/from color representations in various
+                                # languages over compactness; for example, the fields of this representation
+                                # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                                # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                                # method in iOS; and, with just a little work, it can be easily formatted into
+                                # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                                #
+                                # Example (Java):
+                                #
+                                #      import com.google.type.Color;
+                                #
+                                #      // ...
+                                #      public static java.awt.Color fromProto(Color protocolor) {
+                                #        float alpha = protocolor.hasAlpha()
+                                #            ? protocolor.getAlpha().getValue()
+                                #            : 1.0;
+                                #
+                                #        return new java.awt.Color(
+                                #            protocolor.getRed(),
+                                #            protocolor.getGreen(),
+                                #            protocolor.getBlue(),
+                                #            alpha);
+                                #      }
+                                #
+                                #      public static Color toProto(java.awt.Color color) {
+                                #        float red = (float) color.getRed();
+                                #        float green = (float) color.getGreen();
+                                #        float blue = (float) color.getBlue();
+                                #        float denominator = 255.0;
+                                #        Color.Builder resultBuilder =
+                                #            Color
+                                #                .newBuilder()
+                                #                .setRed(red / denominator)
+                                #                .setGreen(green / denominator)
+                                #                .setBlue(blue / denominator);
+                                #        int alpha = color.getAlpha();
+                                #        if (alpha != 255) {
+                                #          result.setAlpha(
+                                #              FloatValue
+                                #                  .newBuilder()
+                                #                  .setValue(((float) alpha) / denominator)
+                                #                  .build());
+                                #        }
+                                #        return resultBuilder.build();
+                                #      }
+                                #      // ...
+                                #
+                                # Example (iOS / Obj-C):
+                                #
+                                #      // ...
+                                #      static UIColor* fromProto(Color* protocolor) {
+                                #         float red = [protocolor red];
+                                #         float green = [protocolor green];
+                                #         float blue = [protocolor blue];
+                                #         FloatValue* alpha_wrapper = [protocolor alpha];
+                                #         float alpha = 1.0;
+                                #         if (alpha_wrapper != nil) {
+                                #           alpha = [alpha_wrapper value];
+                                #         }
+                                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                                #      }
+                                #
+                                #      static Color* toProto(UIColor* color) {
+                                #          CGFloat red, green, blue, alpha;
+                                #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                                #            return nil;
+                                #          }
+                                #          Color* result = [Color alloc] init];
+                                #          [result setRed:red];
+                                #          [result setGreen:green];
+                                #          [result setBlue:blue];
+                                #          if (alpha <= 0.9999) {
+                                #            [result setAlpha:floatWrapperWithValue(alpha)];
+                                #          }
+                                #          [result autorelease];
+                                #          return result;
+                                #     }
+                                #     // ...
+                                #
+                                #  Example (JavaScript):
+                                #
+                                #     // ...
+                                #
+                                #     var protoToCssColor = function(rgb_color) {
+                                #        var redFrac = rgb_color.red || 0.0;
+                                #        var greenFrac = rgb_color.green || 0.0;
+                                #        var blueFrac = rgb_color.blue || 0.0;
+                                #        var red = Math.floor(redFrac * 255);
+                                #        var green = Math.floor(greenFrac * 255);
+                                #        var blue = Math.floor(blueFrac * 255);
+                                #
+                                #        if (!('alpha' in rgb_color)) {
+                                #           return rgbToCssColor_(red, green, blue);
+                                #        }
+                                #
+                                #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                                #        var rgbParams = [red, green, blue].join(',');
+                                #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                                #     };
+                                #
+                                #     var rgbToCssColor_ = function(red, green, blue) {
+                                #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                                #       var hexString = rgbNumber.toString(16);
+                                #       var missingZeros = 6 - hexString.length;
+                                #       var resultBuilder = ['#'];
+                                #       for (var i = 0; i < missingZeros; i++) {
+                                #          resultBuilder.push('0');
+                                #       }
+                                #       resultBuilder.push(hexString);
+                                #       return resultBuilder.join('');
+                                #     };
+                                #
+                                #     // ...
+                              "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                              "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                                  # the final pixel color is defined by the equation:
+                                  #
+                                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                                  #
+                                  # This means that a value of 1.0 corresponds to a solid color, whereas
+                                  # a value of 0.0 corresponds to a completely transparent color. This
+                                  # uses a wrapper message rather than a simple float scalar so that it is
+                                  # possible to distinguish between a default value and the value being unset.
+                                  # If omitted, this color object is to be rendered as a solid color
+                                  # (as if the alpha value had been explicitly given with a value of 1.0).
+                              "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                              "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            },
+                            "width": 42, # The width of the border, in pixels.
+                                # Border widths must be between 0 and 3 pixels.
+                            "style": "A String", # The style of the border.
+                          },
+                          "left": { # A border along a cell. # The left border of the cell.
+                            "color": { # Represents a color in the RGBA color space. This representation is designed # The color of the border.
+                                # for simplicity of conversion to/from color representations in various
+                                # languages over compactness; for example, the fields of this representation
+                                # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                                # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                                # method in iOS; and, with just a little work, it can be easily formatted into
+                                # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                                #
+                                # Example (Java):
+                                #
+                                #      import com.google.type.Color;
+                                #
+                                #      // ...
+                                #      public static java.awt.Color fromProto(Color protocolor) {
+                                #        float alpha = protocolor.hasAlpha()
+                                #            ? protocolor.getAlpha().getValue()
+                                #            : 1.0;
+                                #
+                                #        return new java.awt.Color(
+                                #            protocolor.getRed(),
+                                #            protocolor.getGreen(),
+                                #            protocolor.getBlue(),
+                                #            alpha);
+                                #      }
+                                #
+                                #      public static Color toProto(java.awt.Color color) {
+                                #        float red = (float) color.getRed();
+                                #        float green = (float) color.getGreen();
+                                #        float blue = (float) color.getBlue();
+                                #        float denominator = 255.0;
+                                #        Color.Builder resultBuilder =
+                                #            Color
+                                #                .newBuilder()
+                                #                .setRed(red / denominator)
+                                #                .setGreen(green / denominator)
+                                #                .setBlue(blue / denominator);
+                                #        int alpha = color.getAlpha();
+                                #        if (alpha != 255) {
+                                #          result.setAlpha(
+                                #              FloatValue
+                                #                  .newBuilder()
+                                #                  .setValue(((float) alpha) / denominator)
+                                #                  .build());
+                                #        }
+                                #        return resultBuilder.build();
+                                #      }
+                                #      // ...
+                                #
+                                # Example (iOS / Obj-C):
+                                #
+                                #      // ...
+                                #      static UIColor* fromProto(Color* protocolor) {
+                                #         float red = [protocolor red];
+                                #         float green = [protocolor green];
+                                #         float blue = [protocolor blue];
+                                #         FloatValue* alpha_wrapper = [protocolor alpha];
+                                #         float alpha = 1.0;
+                                #         if (alpha_wrapper != nil) {
+                                #           alpha = [alpha_wrapper value];
+                                #         }
+                                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                                #      }
+                                #
+                                #      static Color* toProto(UIColor* color) {
+                                #          CGFloat red, green, blue, alpha;
+                                #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                                #            return nil;
+                                #          }
+                                #          Color* result = [Color alloc] init];
+                                #          [result setRed:red];
+                                #          [result setGreen:green];
+                                #          [result setBlue:blue];
+                                #          if (alpha <= 0.9999) {
+                                #            [result setAlpha:floatWrapperWithValue(alpha)];
+                                #          }
+                                #          [result autorelease];
+                                #          return result;
+                                #     }
+                                #     // ...
+                                #
+                                #  Example (JavaScript):
+                                #
+                                #     // ...
+                                #
+                                #     var protoToCssColor = function(rgb_color) {
+                                #        var redFrac = rgb_color.red || 0.0;
+                                #        var greenFrac = rgb_color.green || 0.0;
+                                #        var blueFrac = rgb_color.blue || 0.0;
+                                #        var red = Math.floor(redFrac * 255);
+                                #        var green = Math.floor(greenFrac * 255);
+                                #        var blue = Math.floor(blueFrac * 255);
+                                #
+                                #        if (!('alpha' in rgb_color)) {
+                                #           return rgbToCssColor_(red, green, blue);
+                                #        }
+                                #
+                                #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                                #        var rgbParams = [red, green, blue].join(',');
+                                #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                                #     };
+                                #
+                                #     var rgbToCssColor_ = function(red, green, blue) {
+                                #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                                #       var hexString = rgbNumber.toString(16);
+                                #       var missingZeros = 6 - hexString.length;
+                                #       var resultBuilder = ['#'];
+                                #       for (var i = 0; i < missingZeros; i++) {
+                                #          resultBuilder.push('0');
+                                #       }
+                                #       resultBuilder.push(hexString);
+                                #       return resultBuilder.join('');
+                                #     };
+                                #
+                                #     // ...
+                              "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                              "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                                  # the final pixel color is defined by the equation:
+                                  #
+                                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                                  #
+                                  # This means that a value of 1.0 corresponds to a solid color, whereas
+                                  # a value of 0.0 corresponds to a completely transparent color. This
+                                  # uses a wrapper message rather than a simple float scalar so that it is
+                                  # possible to distinguish between a default value and the value being unset.
+                                  # If omitted, this color object is to be rendered as a solid color
+                                  # (as if the alpha value had been explicitly given with a value of 1.0).
+                              "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                              "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            },
+                            "width": 42, # The width of the border, in pixels.
+                                # Border widths must be between 0 and 3 pixels.
+                            "style": "A String", # The style of the border.
+                          },
+                        },
+                        "wrapStrategy": "A String", # The wrap strategy for the value in the cell.
+                      },
+                      "dataValidation": { # A data validation rule. # A data validation rule on the cell, if any.
+                          #
+                          # When writing, the new data validation rule will overwrite any prior rule.
+                        "showCustomUi": True or False, # True if the UI should be customized based on the kind of condition.
+                            # If true, "List" conditions will show a dropdown.
+                        "strict": True or False, # True if invalid data should be rejected.
+                        "inputMessage": "A String", # A message to show the user when adding data to the cell.
+                        "condition": { # A condition that can evaluate to true or false. # The condition that data in the cell must match.
+                            # BooleanConditions are used by conditional formatting,
+                            # data validation, and the criteria in filters.
+                          "type": "A String", # The type of condition.
+                          "values": [ # The values of the condition. The number of supported values depends
+                              # on the condition type.  Some support zero values,
+                              # others one or two values,
+                              # and ConditionType.ONE_OF_LIST supports an arbitrary number of values.
+                            { # The value of the condition.
+                              "relativeDate": "A String", # A relative date (based on the current date).
+                                  # Valid only if the type is
+                                  # DATE_BEFORE,
+                                  # DATE_AFTER,
+                                  # DATE_ON_OR_BEFORE or
+                                  # DATE_ON_OR_AFTER.
+                                  #
+                                  # Relative dates are not supported in data validation.
+                                  # They are supported only in conditional formatting and
+                                  # conditional filters.
+                              "userEnteredValue": "A String", # A value the condition is based on.
+                                  # The value will be parsed as if the user typed into a cell.
+                                  # Formulas are supported (and must begin with an `=`).
+                            },
+                          ],
+                        },
+                      },
+                      "textFormatRuns": [ # Runs of rich text applied to subsections of the cell.
+                          # Runs start at specific indexes in the text and continue until the next
+                          # run. Properties of a run will continue unless explicitly changed
+                          # in a subsequent run (and properties of the first run will continue
+                          # the properties of the cell unless explicitly changed).
+                          #
+                          # When writing, the new runs will overwrite any prior runs.
+                        { # A run of a text format. The format of this run continues until explicitly
+                            # overridden in the next run.
+                            # When updating, all fields must be set.
+                          "startIndex": 42, # The character index where this run starts.
+                          "format": { # The format of a run of text in a cell. # The format of this run.  Absent values inherit the cell's format.
+                              # Absent values indicate that the field isn't specified.
+                            "foregroundColor": { # Represents a color in the RGBA color space. This representation is designed # The foreground color of the text.
+                                # for simplicity of conversion to/from color representations in various
+                                # languages over compactness; for example, the fields of this representation
+                                # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                                # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                                # method in iOS; and, with just a little work, it can be easily formatted into
+                                # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                                #
+                                # Example (Java):
+                                #
+                                #      import com.google.type.Color;
+                                #
+                                #      // ...
+                                #      public static java.awt.Color fromProto(Color protocolor) {
+                                #        float alpha = protocolor.hasAlpha()
+                                #            ? protocolor.getAlpha().getValue()
+                                #            : 1.0;
+                                #
+                                #        return new java.awt.Color(
+                                #            protocolor.getRed(),
+                                #            protocolor.getGreen(),
+                                #            protocolor.getBlue(),
+                                #            alpha);
+                                #      }
+                                #
+                                #      public static Color toProto(java.awt.Color color) {
+                                #        float red = (float) color.getRed();
+                                #        float green = (float) color.getGreen();
+                                #        float blue = (float) color.getBlue();
+                                #        float denominator = 255.0;
+                                #        Color.Builder resultBuilder =
+                                #            Color
+                                #                .newBuilder()
+                                #                .setRed(red / denominator)
+                                #                .setGreen(green / denominator)
+                                #                .setBlue(blue / denominator);
+                                #        int alpha = color.getAlpha();
+                                #        if (alpha != 255) {
+                                #          result.setAlpha(
+                                #              FloatValue
+                                #                  .newBuilder()
+                                #                  .setValue(((float) alpha) / denominator)
+                                #                  .build());
+                                #        }
+                                #        return resultBuilder.build();
+                                #      }
+                                #      // ...
+                                #
+                                # Example (iOS / Obj-C):
+                                #
+                                #      // ...
+                                #      static UIColor* fromProto(Color* protocolor) {
+                                #         float red = [protocolor red];
+                                #         float green = [protocolor green];
+                                #         float blue = [protocolor blue];
+                                #         FloatValue* alpha_wrapper = [protocolor alpha];
+                                #         float alpha = 1.0;
+                                #         if (alpha_wrapper != nil) {
+                                #           alpha = [alpha_wrapper value];
+                                #         }
+                                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                                #      }
+                                #
+                                #      static Color* toProto(UIColor* color) {
+                                #          CGFloat red, green, blue, alpha;
+                                #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                                #            return nil;
+                                #          }
+                                #          Color* result = [Color alloc] init];
+                                #          [result setRed:red];
+                                #          [result setGreen:green];
+                                #          [result setBlue:blue];
+                                #          if (alpha <= 0.9999) {
+                                #            [result setAlpha:floatWrapperWithValue(alpha)];
+                                #          }
+                                #          [result autorelease];
+                                #          return result;
+                                #     }
+                                #     // ...
+                                #
+                                #  Example (JavaScript):
+                                #
+                                #     // ...
+                                #
+                                #     var protoToCssColor = function(rgb_color) {
+                                #        var redFrac = rgb_color.red || 0.0;
+                                #        var greenFrac = rgb_color.green || 0.0;
+                                #        var blueFrac = rgb_color.blue || 0.0;
+                                #        var red = Math.floor(redFrac * 255);
+                                #        var green = Math.floor(greenFrac * 255);
+                                #        var blue = Math.floor(blueFrac * 255);
+                                #
+                                #        if (!('alpha' in rgb_color)) {
+                                #           return rgbToCssColor_(red, green, blue);
+                                #        }
+                                #
+                                #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                                #        var rgbParams = [red, green, blue].join(',');
+                                #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                                #     };
+                                #
+                                #     var rgbToCssColor_ = function(red, green, blue) {
+                                #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                                #       var hexString = rgbNumber.toString(16);
+                                #       var missingZeros = 6 - hexString.length;
+                                #       var resultBuilder = ['#'];
+                                #       for (var i = 0; i < missingZeros; i++) {
+                                #          resultBuilder.push('0');
+                                #       }
+                                #       resultBuilder.push(hexString);
+                                #       return resultBuilder.join('');
+                                #     };
+                                #
+                                #     // ...
+                              "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                              "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                                  # the final pixel color is defined by the equation:
+                                  #
+                                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                                  #
+                                  # This means that a value of 1.0 corresponds to a solid color, whereas
+                                  # a value of 0.0 corresponds to a completely transparent color. This
+                                  # uses a wrapper message rather than a simple float scalar so that it is
+                                  # possible to distinguish between a default value and the value being unset.
+                                  # If omitted, this color object is to be rendered as a solid color
+                                  # (as if the alpha value had been explicitly given with a value of 1.0).
+                              "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                              "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                            },
+                            "bold": True or False, # True if the text is bold.
+                            "strikethrough": True or False, # True if the text has a strikethrough.
+                            "fontFamily": "A String", # The font family.
+                            "fontSize": 42, # The size of the font.
+                            "italic": True or False, # True if the text is italicized.
+                            "underline": True or False, # True if the text is underlined.
+                          },
+                        },
+                      ],
+                    },
+                  ],
+                },
+              ],
+            },
+          ],
+          "properties": { # Properties of a sheet. # The properties of the sheet.
+            "sheetType": "A String", # The type of sheet. Defaults to GRID.
+                # This field cannot be changed once set.
+            "index": 42, # The index of the sheet within the spreadsheet.
+                # When adding or updating sheet properties, if this field
+                # is excluded then the sheet will be added or moved to the end
+                # of the sheet list.
+            "title": "A String", # The name of the sheet.
+            "gridProperties": { # Properties of a grid. # Additional properties of the sheet if this sheet is a grid.
+                # (If the sheet is an object sheet, containing a chart or image, then
+                # this field will be absent.)
+                # When writing it is an error to set any grid properties on non-grid sheets.
+              "columnCount": 42, # The number of columns in the grid.
+              "rowCount": 42, # The number of rows in the grid.
+              "frozenColumnCount": 42, # The number of columns that are frozen in the grid.
+              "hideGridlines": True or False, # True if the grid isn't showing gridlines in the UI.
+              "frozenRowCount": 42, # The number of rows that are frozen in the grid.
+            },
+            "rightToLeft": True or False, # True if the sheet is an RTL sheet instead of an LTR sheet.
+            "tabColor": { # Represents a color in the RGBA color space. This representation is designed # The color of the tab in the UI.
+                # for simplicity of conversion to/from color representations in various
+                # languages over compactness; for example, the fields of this representation
+                # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                # method in iOS; and, with just a little work, it can be easily formatted into
+                # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                #
+                # Example (Java):
+                #
+                #      import com.google.type.Color;
+                #
+                #      // ...
+                #      public static java.awt.Color fromProto(Color protocolor) {
+                #        float alpha = protocolor.hasAlpha()
+                #            ? protocolor.getAlpha().getValue()
+                #            : 1.0;
+                #
+                #        return new java.awt.Color(
+                #            protocolor.getRed(),
+                #            protocolor.getGreen(),
+                #            protocolor.getBlue(),
+                #            alpha);
+                #      }
+                #
+                #      public static Color toProto(java.awt.Color color) {
+                #        float red = (float) color.getRed();
+                #        float green = (float) color.getGreen();
+                #        float blue = (float) color.getBlue();
+                #        float denominator = 255.0;
+                #        Color.Builder resultBuilder =
+                #            Color
+                #                .newBuilder()
+                #                .setRed(red / denominator)
+                #                .setGreen(green / denominator)
+                #                .setBlue(blue / denominator);
+                #        int alpha = color.getAlpha();
+                #        if (alpha != 255) {
+                #          result.setAlpha(
+                #              FloatValue
+                #                  .newBuilder()
+                #                  .setValue(((float) alpha) / denominator)
+                #                  .build());
+                #        }
+                #        return resultBuilder.build();
+                #      }
+                #      // ...
+                #
+                # Example (iOS / Obj-C):
+                #
+                #      // ...
+                #      static UIColor* fromProto(Color* protocolor) {
+                #         float red = [protocolor red];
+                #         float green = [protocolor green];
+                #         float blue = [protocolor blue];
+                #         FloatValue* alpha_wrapper = [protocolor alpha];
+                #         float alpha = 1.0;
+                #         if (alpha_wrapper != nil) {
+                #           alpha = [alpha_wrapper value];
+                #         }
+                #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                #      }
+                #
+                #      static Color* toProto(UIColor* color) {
+                #          CGFloat red, green, blue, alpha;
+                #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                #            return nil;
+                #          }
+                #          Color* result = [Color alloc] init];
+                #          [result setRed:red];
+                #          [result setGreen:green];
+                #          [result setBlue:blue];
+                #          if (alpha <= 0.9999) {
+                #            [result setAlpha:floatWrapperWithValue(alpha)];
+                #          }
+                #          [result autorelease];
+                #          return result;
+                #     }
+                #     // ...
+                #
+                #  Example (JavaScript):
+                #
+                #     // ...
+                #
+                #     var protoToCssColor = function(rgb_color) {
+                #        var redFrac = rgb_color.red || 0.0;
+                #        var greenFrac = rgb_color.green || 0.0;
+                #        var blueFrac = rgb_color.blue || 0.0;
+                #        var red = Math.floor(redFrac * 255);
+                #        var green = Math.floor(greenFrac * 255);
+                #        var blue = Math.floor(blueFrac * 255);
+                #
+                #        if (!('alpha' in rgb_color)) {
+                #           return rgbToCssColor_(red, green, blue);
+                #        }
+                #
+                #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                #        var rgbParams = [red, green, blue].join(',');
+                #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                #     };
+                #
+                #     var rgbToCssColor_ = function(red, green, blue) {
+                #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                #       var hexString = rgbNumber.toString(16);
+                #       var missingZeros = 6 - hexString.length;
+                #       var resultBuilder = ['#'];
+                #       for (var i = 0; i < missingZeros; i++) {
+                #          resultBuilder.push('0');
+                #       }
+                #       resultBuilder.push(hexString);
+                #       return resultBuilder.join('');
+                #     };
+                #
+                #     // ...
+              "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+              "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                  # the final pixel color is defined by the equation:
+                  #
+                  #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                  #
+                  # This means that a value of 1.0 corresponds to a solid color, whereas
+                  # a value of 0.0 corresponds to a completely transparent color. This
+                  # uses a wrapper message rather than a simple float scalar so that it is
+                  # possible to distinguish between a default value and the value being unset.
+                  # If omitted, this color object is to be rendered as a solid color
+                  # (as if the alpha value had been explicitly given with a value of 1.0).
+              "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+              "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+            },
+            "hidden": True or False, # True if the sheet is hidden in the UI, false if it's visible.
+            "sheetId": 42, # The ID of the sheet. Must be non-negative.
+                # This field cannot be changed once set.
+          },
+        },
+      ],
+    }
+
+ + \ No newline at end of file diff --git a/docs/dyn/sheets_v4.spreadsheets.sheets.html b/docs/dyn/sheets_v4.spreadsheets.sheets.html new file mode 100644 index 00000000000..f83b27bb160 --- /dev/null +++ b/docs/dyn/sheets_v4.spreadsheets.sheets.html @@ -0,0 +1,258 @@ + + + +

Google Sheets API . spreadsheets . sheets

+

Instance Methods

+

+ copyTo(spreadsheetId, sheetId, body, x__xgafv=None)

+

Copies a single sheet from a spreadsheet to another spreadsheet.

+

Method Details

+
+ copyTo(spreadsheetId, sheetId, body, x__xgafv=None) +
Copies a single sheet from a spreadsheet to another spreadsheet.
+Returns the properties of the newly created sheet.
+
+Args:
+  spreadsheetId: string, The id of the spreadsheet containing the sheet to copy. (required)
+  sheetId: integer, The ID of the sheet to copy. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # The request to copy a sheet across spreadsheets.
+    "destinationSpreadsheetId": "A String", # The ID of the spreadsheet to copy the sheet to.
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Properties of a sheet.
+    "sheetType": "A String", # The type of sheet. Defaults to GRID.
+        # This field cannot be changed once set.
+    "index": 42, # The index of the sheet within the spreadsheet.
+        # When adding or updating sheet properties, if this field
+        # is excluded then the sheet will be added or moved to the end
+        # of the sheet list.
+    "title": "A String", # The name of the sheet.
+    "gridProperties": { # Properties of a grid. # Additional properties of the sheet if this sheet is a grid.
+        # (If the sheet is an object sheet, containing a chart or image, then
+        # this field will be absent.)
+        # When writing it is an error to set any grid properties on non-grid sheets.
+      "columnCount": 42, # The number of columns in the grid.
+      "rowCount": 42, # The number of rows in the grid.
+      "frozenColumnCount": 42, # The number of columns that are frozen in the grid.
+      "hideGridlines": True or False, # True if the grid isn't showing gridlines in the UI.
+      "frozenRowCount": 42, # The number of rows that are frozen in the grid.
+    },
+    "rightToLeft": True or False, # True if the sheet is an RTL sheet instead of an LTR sheet.
+    "tabColor": { # Represents a color in the RGBA color space. This representation is designed # The color of the tab in the UI.
+        # for simplicity of conversion to/from color representations in various
+        # languages over compactness; for example, the fields of this representation
+        # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+        # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+        # method in iOS; and, with just a little work, it can be easily formatted into
+        # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+        #
+        # Example (Java):
+        #
+        #      import com.google.type.Color;
+        #
+        #      // ...
+        #      public static java.awt.Color fromProto(Color protocolor) {
+        #        float alpha = protocolor.hasAlpha()
+        #            ? protocolor.getAlpha().getValue()
+        #            : 1.0;
+        #
+        #        return new java.awt.Color(
+        #            protocolor.getRed(),
+        #            protocolor.getGreen(),
+        #            protocolor.getBlue(),
+        #            alpha);
+        #      }
+        #
+        #      public static Color toProto(java.awt.Color color) {
+        #        float red = (float) color.getRed();
+        #        float green = (float) color.getGreen();
+        #        float blue = (float) color.getBlue();
+        #        float denominator = 255.0;
+        #        Color.Builder resultBuilder =
+        #            Color
+        #                .newBuilder()
+        #                .setRed(red / denominator)
+        #                .setGreen(green / denominator)
+        #                .setBlue(blue / denominator);
+        #        int alpha = color.getAlpha();
+        #        if (alpha != 255) {
+        #          result.setAlpha(
+        #              FloatValue
+        #                  .newBuilder()
+        #                  .setValue(((float) alpha) / denominator)
+        #                  .build());
+        #        }
+        #        return resultBuilder.build();
+        #      }
+        #      // ...
+        #
+        # Example (iOS / Obj-C):
+        #
+        #      // ...
+        #      static UIColor* fromProto(Color* protocolor) {
+        #         float red = [protocolor red];
+        #         float green = [protocolor green];
+        #         float blue = [protocolor blue];
+        #         FloatValue* alpha_wrapper = [protocolor alpha];
+        #         float alpha = 1.0;
+        #         if (alpha_wrapper != nil) {
+        #           alpha = [alpha_wrapper value];
+        #         }
+        #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+        #      }
+        #
+        #      static Color* toProto(UIColor* color) {
+        #          CGFloat red, green, blue, alpha;
+        #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+        #            return nil;
+        #          }
+        #          Color* result = [Color alloc] init];
+        #          [result setRed:red];
+        #          [result setGreen:green];
+        #          [result setBlue:blue];
+        #          if (alpha <= 0.9999) {
+        #            [result setAlpha:floatWrapperWithValue(alpha)];
+        #          }
+        #          [result autorelease];
+        #          return result;
+        #     }
+        #     // ...
+        #
+        #  Example (JavaScript):
+        #
+        #     // ...
+        #
+        #     var protoToCssColor = function(rgb_color) {
+        #        var redFrac = rgb_color.red || 0.0;
+        #        var greenFrac = rgb_color.green || 0.0;
+        #        var blueFrac = rgb_color.blue || 0.0;
+        #        var red = Math.floor(redFrac * 255);
+        #        var green = Math.floor(greenFrac * 255);
+        #        var blue = Math.floor(blueFrac * 255);
+        #
+        #        if (!('alpha' in rgb_color)) {
+        #           return rgbToCssColor_(red, green, blue);
+        #        }
+        #
+        #        var alphaFrac = rgb_color.alpha.value || 0.0;
+        #        var rgbParams = [red, green, blue].join(',');
+        #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+        #     };
+        #
+        #     var rgbToCssColor_ = function(red, green, blue) {
+        #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+        #       var hexString = rgbNumber.toString(16);
+        #       var missingZeros = 6 - hexString.length;
+        #       var resultBuilder = ['#'];
+        #       for (var i = 0; i < missingZeros; i++) {
+        #          resultBuilder.push('0');
+        #       }
+        #       resultBuilder.push(hexString);
+        #       return resultBuilder.join('');
+        #     };
+        #
+        #     // ...
+      "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+      "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+          # the final pixel color is defined by the equation:
+          #
+          #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+          #
+          # This means that a value of 1.0 corresponds to a solid color, whereas
+          # a value of 0.0 corresponds to a completely transparent color. This
+          # uses a wrapper message rather than a simple float scalar so that it is
+          # possible to distinguish between a default value and the value being unset.
+          # If omitted, this color object is to be rendered as a solid color
+          # (as if the alpha value had been explicitly given with a value of 1.0).
+      "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+      "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+    },
+    "hidden": True or False, # True if the sheet is hidden in the UI, false if it's visible.
+    "sheetId": 42, # The ID of the sheet. Must be non-negative.
+        # This field cannot be changed once set.
+  }
+
+ + \ No newline at end of file diff --git a/docs/dyn/sheets_v4.spreadsheets.values.html b/docs/dyn/sheets_v4.spreadsheets.values.html new file mode 100644 index 00000000000..a1392c09c87 --- /dev/null +++ b/docs/dyn/sheets_v4.spreadsheets.values.html @@ -0,0 +1,356 @@ + + + +

Google Sheets API . spreadsheets . values

+

Instance Methods

+

+ batchGet(spreadsheetId, valueRenderOption=None, majorDimension=None, ranges=None, dateTimeRenderOption=None, x__xgafv=None)

+

Returns one or more ranges of values from a spreadsheet.

+

+ batchUpdate(spreadsheetId, body, x__xgafv=None)

+

Sets values in a range of a spreadsheet.

+

+ get(spreadsheetId, range, valueRenderOption=None, majorDimension=None, dateTimeRenderOption=None, x__xgafv=None)

+

Returns a range of values from a spreadsheet.

+

+ update(spreadsheetId, range, body, valueInputOption=None, x__xgafv=None)

+

Sets values in a range of a spreadsheet.

+

Method Details

+
+ batchGet(spreadsheetId, valueRenderOption=None, majorDimension=None, ranges=None, dateTimeRenderOption=None, x__xgafv=None) +
Returns one or more ranges of values from a spreadsheet.
+The caller must specify the spreadsheet ID and one or more ranges.
+
+Args:
+  spreadsheetId: string, The id of the spreadsheet to retrieve data from. (required)
+  valueRenderOption: string, How values should be represented in the output.
+  majorDimension: string, The major dimension that results should use.
+
+For example, if the spreadsheet data is: `A1=1,B1=2,A2=3,B2=4`,
+then requesting `range=A1:B2,majorDimension=ROWS` will return
+`[[1,2],[3,4]]`,
+whereas requesting `range=A1:B2,majorDimension=COLUMNS` will return
+`[[1,3],[2,4]]`.
+  ranges: string, The A1 notation of the values to retrieve. (repeated)
+  dateTimeRenderOption: string, How dates, times, and durations should be represented in the output.
+This is ignored if ValueRenderOption option is
+FORMATTED_VALUE.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The response when retrieving more than one range of values in a spreadsheet.
+    "spreadsheetId": "A String", # The id of the spreadsheet to retrieve data from.
+    "valueRanges": [ # The requested values. The order of the ValueRanges is the same as the
+        # order of the requested ranges.
+      { # Data within a range of the spreadsheet.
+        "range": "A String", # The range the values cover, in A1 notation.
+            # For output, this range indicates the entire requested range,
+            # even though the values will exclude trailing rows and columns.
+        "values": [ # The data that was read or to be written.  This is an array of arrays,
+            # the outer array representing all the data and each inner array
+            # representing a major dimension. Each item in the inner array
+            # corresponds with one cell.
+            #
+            # For output, empty trailing rows and columns will not be included.
+            #
+            # For input, supported value types are: bool, string, and double.
+            # Null and empty values will be skipped.
+            # To set a cell to an empty value, set the string value to an empty string.
+          [
+            "",
+          ],
+        ],
+        "majorDimension": "A String", # The major dimension of the values.
+            #
+            # For output, if the spreadsheet data is: A1=1,B1=2,A2=3,B2=4,
+            # then requesting range=A1:B2,majorDimension=ROWS will return [[1,2],[3,4]],
+            # whereas requesting range=A1:B2,majorDimension=COLUMNS will return
+            # [[1,3],[2,4]].
+            #
+            # For input, with range=A1:B2,majorDimension=ROWS then [[1,2],[3,4]]
+            # will set A1=1,B1=2,A2=3,B2=4. With range=A1:B2,majorDimension=COLUMNS
+            # then [[1,2],[3,4]] will set A1=1,B1=3,A2=2,B2=4.
+            #
+            # When writing, if this field is not set, it defaults to ROWS.
+      },
+    ],
+  }
+
+ +
+ batchUpdate(spreadsheetId, body, x__xgafv=None) +
Sets values in a range of a spreadsheet.
+The caller must specify the spreadsheet ID,
+a valueInputOption, and one or more
+ValueRanges.
+
+Args:
+  spreadsheetId: string, The id of the spreadsheet to update. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # The request for updating more than one range of values in a spreadsheet.
+    "data": [ # The new values to apply to the spreadsheet.
+      { # Data within a range of the spreadsheet.
+        "range": "A String", # The range the values cover, in A1 notation.
+            # For output, this range indicates the entire requested range,
+            # even though the values will exclude trailing rows and columns.
+        "values": [ # The data that was read or to be written.  This is an array of arrays,
+            # the outer array representing all the data and each inner array
+            # representing a major dimension. Each item in the inner array
+            # corresponds with one cell.
+            #
+            # For output, empty trailing rows and columns will not be included.
+            #
+            # For input, supported value types are: bool, string, and double.
+            # Null and empty values will be skipped.
+            # To set a cell to an empty value, set the string value to an empty string.
+          [
+            "",
+          ],
+        ],
+        "majorDimension": "A String", # The major dimension of the values.
+            #
+            # For output, if the spreadsheet data is: A1=1,B1=2,A2=3,B2=4,
+            # then requesting range=A1:B2,majorDimension=ROWS will return [[1,2],[3,4]],
+            # whereas requesting range=A1:B2,majorDimension=COLUMNS will return
+            # [[1,3],[2,4]].
+            #
+            # For input, with range=A1:B2,majorDimension=ROWS then [[1,2],[3,4]]
+            # will set A1=1,B1=2,A2=3,B2=4. With range=A1:B2,majorDimension=COLUMNS
+            # then [[1,2],[3,4]] will set A1=1,B1=3,A2=2,B2=4.
+            #
+            # When writing, if this field is not set, it defaults to ROWS.
+      },
+    ],
+    "valueInputOption": "A String", # How the input data should be interpreted.
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The response when updating a range of values in a spreadsheet.
+    "responses": [ # One UpdateValuesResponse per requested range, in the same order as
+        # the requests appeared.
+      { # The response when updating a range of values in a spreadsheet.
+        "updatedRange": "A String", # The range (in A1 notation) that updates were applied to.
+        "updatedColumns": 42, # The number of columns where at least one cell in the column was updated.
+        "updatedCells": 42, # The number of cells updated.
+        "updatedRows": 42, # The number of rows where at least one cell in the row was updated.
+        "spreadsheetId": "A String", # The spreadsheet the updates were applied to.
+      },
+    ],
+    "totalUpdatedCells": 42, # The total number of cells updated.
+    "totalUpdatedColumns": 42, # The total number of columns where at least one cell in the column was
+        # updated.
+    "totalUpdatedRows": 42, # The total number of rows where at least one cell in the row was updated.
+    "spreadsheetId": "A String", # The spreadsheet the updates were applied to.
+    "totalUpdatedSheets": 42, # The total number of sheets where at least one cell in the sheet was
+        # updated.
+  }
+
+ +
+ get(spreadsheetId, range, valueRenderOption=None, majorDimension=None, dateTimeRenderOption=None, x__xgafv=None) +
Returns a range of values from a spreadsheet.
+The caller must specify the spreadsheet ID and a range.
+
+Args:
+  spreadsheetId: string, The id of the spreadsheet to retrieve data from. (required)
+  range: string, The A1 notation of the values to retrieve. (required)
+  valueRenderOption: string, How values should be represented in the output.
+  majorDimension: string, The major dimension that results should use.
+
+For example, if the spreadsheet data is: `A1=1,B1=2,A2=3,B2=4`,
+then requesting `range=A1:B2,majorDimension=ROWS` will return
+`[[1,2],[3,4]]`,
+whereas requesting `range=A1:B2,majorDimension=COLUMNS` will return
+`[[1,3],[2,4]]`.
+  dateTimeRenderOption: string, How dates, times, and durations should be represented in the output.
+This is ignored if the ValueRenderOption option is
+FORMATTED_VALUE.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Data within a range of the spreadsheet.
+    "range": "A String", # The range the values cover, in A1 notation.
+        # For output, this range indicates the entire requested range,
+        # even though the values will exclude trailing rows and columns.
+    "values": [ # The data that was read or to be written.  This is an array of arrays,
+        # the outer array representing all the data and each inner array
+        # representing a major dimension. Each item in the inner array
+        # corresponds with one cell.
+        #
+        # For output, empty trailing rows and columns will not be included.
+        #
+        # For input, supported value types are: bool, string, and double.
+        # Null and empty values will be skipped.
+        # To set a cell to an empty value, set the string value to an empty string.
+      [
+        "",
+      ],
+    ],
+    "majorDimension": "A String", # The major dimension of the values.
+        #
+        # For output, if the spreadsheet data is: A1=1,B1=2,A2=3,B2=4,
+        # then requesting range=A1:B2,majorDimension=ROWS will return [[1,2],[3,4]],
+        # whereas requesting range=A1:B2,majorDimension=COLUMNS will return
+        # [[1,3],[2,4]].
+        #
+        # For input, with range=A1:B2,majorDimension=ROWS then [[1,2],[3,4]]
+        # will set A1=1,B1=2,A2=3,B2=4. With range=A1:B2,majorDimension=COLUMNS
+        # then [[1,2],[3,4]] will set A1=1,B1=3,A2=2,B2=4.
+        #
+        # When writing, if this field is not set, it defaults to ROWS.
+  }
+
+ +
+ update(spreadsheetId, range, body, valueInputOption=None, x__xgafv=None) +
Sets values in a range of a spreadsheet.
+The caller must specify the spreadsheet ID, range, and
+a valueInputOption.
+
+Args:
+  spreadsheetId: string, The id of the spreadsheet to update. (required)
+  range: string, The A1 notation of the values to update. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Data within a range of the spreadsheet.
+  "range": "A String", # The range the values cover, in A1 notation.
+      # For output, this range indicates the entire requested range,
+      # even though the values will exclude trailing rows and columns.
+  "values": [ # The data that was read or to be written.  This is an array of arrays,
+      # the outer array representing all the data and each inner array
+      # representing a major dimension. Each item in the inner array
+      # corresponds with one cell.
+      # 
+      # For output, empty trailing rows and columns will not be included.
+      # 
+      # For input, supported value types are: bool, string, and double.
+      # Null and empty values will be skipped.
+      # To set a cell to an empty value, set the string value to an empty string.
+    [
+      "",
+    ],
+  ],
+  "majorDimension": "A String", # The major dimension of the values.
+      # 
+      # For output, if the spreadsheet data is: A1=1,B1=2,A2=3,B2=4,
+      # then requesting range=A1:B2,majorDimension=ROWS will return [[1,2],[3,4]],
+      # whereas requesting range=A1:B2,majorDimension=COLUMNS will return
+      # [[1,3],[2,4]].
+      # 
+      # For input, with range=A1:B2,majorDimension=ROWS then [[1,2],[3,4]]
+      # will set A1=1,B1=2,A2=3,B2=4. With range=A1:B2,majorDimension=COLUMNS
+      # then [[1,2],[3,4]] will set A1=1,B1=3,A2=2,B2=4.
+      # 
+      # When writing, if this field is not set, it defaults to ROWS.
+}
+
+  valueInputOption: string, How the input data should be interpreted.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The response when updating a range of values in a spreadsheet.
+    "updatedRange": "A String", # The range (in A1 notation) that updates were applied to.
+    "updatedColumns": 42, # The number of columns where at least one cell in the column was updated.
+    "updatedCells": 42, # The number of cells updated.
+    "updatedRows": 42, # The number of rows where at least one cell in the row was updated.
+    "spreadsheetId": "A String", # The spreadsheet the updates were applied to.
+  }
+
+ + \ No newline at end of file diff --git a/docs/dyn/sqladmin_v1beta4.databases.html b/docs/dyn/sqladmin_v1beta4.databases.html index 8818509ed7b..61b86b90216 100644 --- a/docs/dyn/sqladmin_v1beta4.databases.html +++ b/docs/dyn/sqladmin_v1beta4.databases.html @@ -76,7 +76,7 @@

Cloud SQL Administration API . delete(project, instance, database)

-

Deletes a resource containing information about a database inside a Cloud SQL instance.

+

Deletes a database from a Cloud SQL instance.

get(project, instance, database)

Retrieves a resource containing information about a database inside a Cloud SQL instance.

@@ -95,7 +95,7 @@

Instance Methods

Method Details

delete(project, instance, database) -
Deletes a resource containing information about a database inside a Cloud SQL instance.
+  
Deletes a database from a Cloud SQL instance.
 
 Args:
   project: string, Project ID of the project that contains the instance. (required)
diff --git a/docs/dyn/sqladmin_v1beta4.flags.html b/docs/dyn/sqladmin_v1beta4.flags.html
index be539f98ccd..2d1e2338c22 100644
--- a/docs/dyn/sqladmin_v1beta4.flags.html
+++ b/docs/dyn/sqladmin_v1beta4.flags.html
@@ -96,7 +96,7 @@ 

Method Details

"A String", ], "requiresRestart": True or False, # Indicates whether changing this flag will trigger a database restart. Only applicable to Second Generation instances. - "appliesTo": [ # The database version this flag applies to. Can be MYSQL_5_5, MYSQL_5_6, or both. + "appliesTo": [ # The database version this flag applies to. Can be MYSQL_5_5, MYSQL_5_6, or MYSQL_5_7. MYSQL_5_7 is applicable only to Second Generation instances. "A String", ], "maxValue": "A String", # For INTEGER flags, the maximum allowed value. diff --git a/docs/dyn/sqladmin_v1beta4.instances.html b/docs/dyn/sqladmin_v1beta4.instances.html index 0ddfa3c238b..43410f4f8cd 100644 --- a/docs/dyn/sqladmin_v1beta4.instances.html +++ b/docs/dyn/sqladmin_v1beta4.instances.html @@ -76,7 +76,7 @@

Cloud SQL Administration API . clone(project, instance, body)

-

Creates a Cloud SQL instance as a clone of the source instance.

+

Creates a Cloud SQL instance as a clone of the source instance. The API is not ready for Second Generation instances yet.

delete(project, instance)

Deletes a Cloud SQL instance.

@@ -128,7 +128,7 @@

Instance Methods

Method Details

clone(project, instance, body) -
Creates a Cloud SQL instance as a clone of the source instance.
+  
Creates a Cloud SQL instance as a clone of the source instance. The API is not ready for Second Generation instances yet.
 
 Args:
   project: string, Project ID of the source as well as the clone Cloud SQL instance. (required)
@@ -468,39 +468,49 @@ 

Method Details

An object of the form: { # A Cloud SQL instance resource. - "onPremisesConfiguration": { # On-premises instance configuration. # Configuration specific to on-premises instances. - "kind": "sql#onPremisesConfiguration", # This is always sql#onPremisesConfiguration. - "hostPort": "A String", # The host and port of the on-premises instance in host:port format - }, - "kind": "sql#instance", # This is always sql#instance. - "failoverReplica": { # The name and status of the failover replica. Only applies to Second Generation instances. - "available": True or False, - "name": "A String", - }, - "ipv6Address": "A String", # The IPv6 address assigned to the instance. - "replicaConfiguration": { # Read-replica configuration for connecting to the master. # Configuration specific to read-replicas replicating from on-premises masters. - "kind": "sql#replicaConfiguration", # This is always sql#replicaConfiguration. - "failoverTarget": True or False, # Specifies if the replica is the failover target. If the field is set to true the replica will be designated as a failover replica. In case the master instance fails, the replica instance will be promoted as the new master instance. - # Only one replica can be specified as failover target, and the replica has to be in different zone with the master instance. - "mysqlReplicaConfiguration": { # Read-replica configuration specific to MySQL databases. # MySQL specific configuration when replicating from a MySQL on-premises master. Replication configuration information such as the username, password, certificates, and keys are not stored in the instance metadata. The configuration information is used only to set up the replication connection and is stored by MySQL in a file named master.info in the data directory. - "username": "A String", # The username for the replication connection. - "kind": "sql#mysqlReplicaConfiguration", # This is always sql#mysqlReplicaConfiguration. - "clientKey": "A String", # PEM representation of the slave's private key. The corresponsing public key is encoded in the client's certificate. - "sslCipher": "A String", # A list of permissible ciphers to use for SSL encryption. - "caCertificate": "A String", # PEM representation of the trusted CA's x509 certificate. - "clientCertificate": "A String", # PEM representation of the slave's x509 certificate. - "masterHeartbeatPeriod": "A String", # Interval in milliseconds between replication heartbeats. - "verifyServerCertificate": True or False, # Whether or not to check the master's Common Name value in the certificate that it sends during the SSL handshake. - "dumpFilePath": "A String", # Path to a SQL dump file in Google Cloud Storage from which the slave instance is to be created. The URI is in the form gs://bucketName/fileName. Compressed gzip files (.gz) are also supported. Dumps should have the binlog co-ordinates from which replication should begin. This can be accomplished by setting --master-data to 1 when using mysqldump. - "password": "A String", # The password for the replication connection. - "connectRetryInterval": 42, # Seconds to wait between connect retries. MySQL's default is 60 seconds. + "backendType": "A String", # FIRST_GEN: Basic Cloud SQL instance that runs in a Google-managed container. + # SECOND_GEN: A newer Cloud SQL backend that runs in a Compute Engine VM. + # EXTERNAL: A MySQL server that is not managed by Google. + "currentDiskSize": "A String", # The current disk usage of the instance in bytes. This property has been deprecated. Users should use the "cloudsql.googleapis.com/database/disk/bytes_used" metric in Cloud Monitoring API instead. Please see https://groups.google.com/d/msg/google-cloud-sql-announce/I_7-F9EBhT0/BtvFtdFeAgAJ for details. + "serviceAccountEmailAddress": "A String", # The service account email address assigned to the instance. This property is applicable only to Second Generation instances. + "ipAddresses": [ # The assigned IP addresses for the instance. + { # Database instance IP Mapping. + "timeToRetire": "A String", # The due time for this IP to be retired in RFC 3339 format, for example 2012-11-15T16:19:00.094Z. This field is only available when the IP is scheduled to be retired. + "ipAddress": "A String", # The IP address assigned. }, + ], + "databaseVersion": "A String", # The database engine type and version. The databaseVersion can not be changed after instance creation. Can be MYSQL_5_5, MYSQL_5_6 or MYSQL_5_7. Defaults to MYSQL_5_6. MYSQL_5_7 is applicable only to Second Generation instances. + "instanceType": "A String", # The instance type. This can be one of the following. + # CLOUD_SQL_INSTANCE: A Cloud SQL instance that is not replicating from a master. + # ON_PREMISES_INSTANCE: An instance running on the customer's premises. + # READ_REPLICA_INSTANCE: A Cloud SQL instance configured as a read-replica. + "maxDiskSize": "A String", # The maximum disk size of the instance in bytes. + "suspensionReason": [ # If the instance state is SUSPENDED, the reason for the suspension. + "A String", + ], + "masterInstanceName": "A String", # The name of the instance which will act as master in the replication setup. + "state": "A String", # The current serving state of the Cloud SQL instance. This can be one of the following. + # RUNNABLE: The instance is running, or is ready to run when accessed. + # SUSPENDED: The instance is not available, for example due to problems with billing. + # PENDING_CREATE: The instance is being created. + # MAINTENANCE: The instance is down for maintenance. + # FAILED: The instance creation failed. + # UNKNOWN_STATE: The state of the instance is unknown. + "etag": "A String", # HTTP 1.1 Entity tag for the resource. + "failoverReplica": { # The name and status of the failover replica. This property is applicable only to Second Generation instances. + "available": True or False, # The availability status of the failover replica. A false status indicates that the failover replica is out of sync. The master can only failover to the falover replica when the status is true. + "name": "A String", # The name of the failover replica. }, "replicaNames": [ # The replicas of the instance. "A String", ], - "project": "A String", # The project ID of the project containing the Cloud SQL instance. The Google apps domain is prefixed if applicable. - "region": "A String", # The geographical region. Can be us-central, asia-east1 or europe-west1. Defaults to us-central. The region can not be changed after instance creation. + "onPremisesConfiguration": { # On-premises instance configuration. # Configuration specific to on-premises instances. + "kind": "sql#onPremisesConfiguration", # This is always sql#onPremisesConfiguration. + "hostPort": "A String", # The host and port of the on-premises instance in host:port format + }, + "kind": "sql#instance", # This is always sql#instance. + "name": "A String", # Name of the Cloud SQL instance. This does not include the project ID. + "ipv6Address": "A String", # The IPv6 address assigned to the instance. This property is applicable only to First Generation instances. "serverCaCert": { # SslCerts Resource # SSL configuration. "certSerialNumber": "A String", # Serial number, as extracted from the certificate. "kind": "sql#sslCert", # This is always sql#sslCert. @@ -512,25 +522,7 @@

Method Details

"createTime": "A String", # The time when the certificate was created in RFC 3339 format, for example 2012-11-15T16:19:00.094Z "selfLink": "A String", # The URI of this resource. }, - "masterInstanceName": "A String", # The name of the instance which will act as master in the replication setup. - "name": "A String", # Name of the Cloud SQL instance. This does not include the project ID. - "currentDiskSize": "A String", # The current disk usage of the instance in bytes. - "state": "A String", # The current serving state of the Cloud SQL instance. This can be one of the following. - # RUNNABLE: The instance is running, or is ready to run when accessed. - # SUSPENDED: The instance is not available, for example due to problems with billing. - # PENDING_CREATE: The instance is being created. - # MAINTENANCE: The instance is down for maintenance. - # FAILED: The instance creation failed. - # UNKNOWN_STATE: The state of the instance is unknown. - "etag": "A String", # HTTP 1.1 Entity tag for the resource. - "serviceAccountEmailAddress": "A String", # The service account email address assigned to the instance. - "ipAddresses": [ # The assigned IP addresses for the instance. - { # Database instance IP Mapping. - "timeToRetire": "A String", # The due time for this IP to be retired in RFC 3339 format, for example 2012-11-15T16:19:00.094Z. This field is only available when the IP is scheduled to be retired. - "ipAddress": "A String", # The IP address assigned. - }, - ], - "databaseVersion": "A String", # The database engine type and version. Can be MYSQL_5_5 or MYSQL_5_6. Defaults to MYSQL_5_5. The databaseVersion can not be changed after instance creation. + "region": "A String", # The geographical region. Can be us-central (FIRST_GEN instances only), us-central1 (SECOND_GEN instances only), asia-east1 or europe-west1. Defaults to us-central or us-central1 depending on the instance type (First Generation or Second Generation). The region can not be changed after instance creation. "settings": { # Database instance settings. # The user settings. "databaseFlags": [ # The database flags passed to the instance at startup. { # MySQL flags for Cloud SQL instances. @@ -539,27 +531,27 @@

Method Details

}, ], "kind": "sql#settings", # This is always sql#settings. - "dataDiskType": "A String", # The type of data disk. Only supported for 2nd Generation instances. The default type is SSD. - "maintenanceWindow": { # Maintenance window. This specifies when a v2 Cloud SQL instance should preferably be restarted for system maintenance puruposes. # The maintenance window for this instance. This specifies when the instance may be restarted for maintenance purposes. + "dataDiskType": "A String", # The type of data disk. Only supported for Second Generation instances. The default type is PD_SSD. Applies only to Second Generation instances. + "maintenanceWindow": { # Maintenance window. This specifies when a v2 Cloud SQL instance should preferably be restarted for system maintenance puruposes. # The maintenance window for this instance. This specifies when the instance may be restarted for maintenance purposes. Applies only to Second Generation instances. "kind": "sql#maintenanceWindow", # This is always sql#maintenanceWindow. "updateTrack": "A String", "day": 42, # day of week (1-7), starting on Monday. "hour": 42, # hour of day - 0 to 23. }, - "authorizedGaeApplications": [ # The App Engine app IDs that can access this instance. + "authorizedGaeApplications": [ # The App Engine app IDs that can access this instance. This property is only applicable to First Generation instances. "A String", ], "activationPolicy": "A String", # The activation policy for this instance. This specifies when the instance should be activated and is applicable only when the instance state is RUNNABLE. This can be one of the following. # ALWAYS: The instance should always be active. # NEVER: The instance should never be activated. - # ON_DEMAND: The instance is activated upon receiving requests. + # ON_DEMAND: The instance is activated upon receiving requests; only applicable to First Generation instances. "backupConfiguration": { # Database instance backup configuration. # The daily backup configuration for the instance. "kind": "sql#backupConfiguration", # This is always sql#backupConfiguration. "enabled": True or False, # Whether this configuration is enabled. "startTime": "A String", # Start time for the daily backup configuration in UTC timezone in the 24 hour format - HH:MM. "binaryLogEnabled": True or False, # Whether binary log is enabled. If backup configuration is disabled, binary log must be disabled as well. }, - "ipConfiguration": { # IP Management configuration. # The settings for IP Management. This allows to enable or disable the instance IP and manage which external networks can connect to the instance. + "ipConfiguration": { # IP Management configuration. # The settings for IP Management. This allows to enable or disable the instance IP and manage which external networks can connect to the instance. The IPv4 address cannot be disabled for Second Generation instances. "requireSsl": True or False, # Whether the mysqld should default to 'REQUIRE X509' for users connecting over IP. "ipv4Enabled": True or False, # Whether the instance should be assigned an IP address or not. "authorizedNetworks": [ # The list of external networks that are allowed to connect to the instance using the IP. In CIDR notation, also known as 'slash' notation (e.g. 192.168.100.0/24). @@ -573,23 +565,38 @@

Method Details

}, "tier": "A String", # The tier of service for this instance, for example D1, D2. For more information, see pricing. "databaseReplicationEnabled": True or False, # Configuration specific to read replica instances. Indicates whether replication is enabled or not. - "replicationType": "A String", # The type of replication this instance uses. This can be either ASYNCHRONOUS or SYNCHRONOUS. - "crashSafeReplicationEnabled": True or False, # Configuration specific to read replica instances. Indicates whether database flags for crash-safe replication are enabled. - "pricingPlan": "A String", # The pricing plan for this instance. This can be either PER_USE or PACKAGE. + "replicationType": "A String", # The type of replication this instance uses. This can be either ASYNCHRONOUS or SYNCHRONOUS. This property is only applicable to First Generation instances. + "crashSafeReplicationEnabled": True or False, # Configuration specific to read replica instances. Indicates whether database flags for crash-safe replication are enabled. This property is only applicable to First Generation instances. + "pricingPlan": "A String", # The pricing plan for this instance. This can be either PER_USE or PACKAGE. Only PER_USE is supported for Second Generation instances. "settingsVersion": "A String", # The version of instance settings. This is a required field for update method to make sure concurrent updates are handled properly. During update, use the most recent settingsVersion value for this instance and do not try to update this value. - "locationPreference": { # Preferred location. This specifies where a Cloud SQL instance should preferably be located, either in a specific Compute Engine zone, or co-located with an App Engine application. Note that if the preferred location is not available, the instance will be located as close as possible within the region. Only one location may be specified. # The location preference settings. This allows the instance to be located as near as possible to either an App Engine app or GCE zone for better performance. + "storageAutoResize": True or False, # Configuration to increase storage size automatically. The default value is false. Applies only to Second Generation instances. + "locationPreference": { # Preferred location. This specifies where a Cloud SQL instance should preferably be located, either in a specific Compute Engine zone, or co-located with an App Engine application. Note that if the preferred location is not available, the instance will be located as close as possible within the region. Only one location may be specified. # The location preference settings. This allows the instance to be located as near as possible to either an App Engine app or GCE zone for better performance. App Engine co-location is only applicable to First Generation instances. "kind": "sql#locationPreference", # This is always sql#locationPreference. "zone": "A String", # The preferred Compute Engine zone (e.g. us-centra1-a, us-central1-b, etc.). "followGaeApplication": "A String", # The AppEngine application to follow, it must be in the same region as the Cloud SQL instance. }, - "dataDiskSizeGb": "A String", # The size of data disk, in GB. Only supported for 2nd Generation instances. The data disk size minimum is 10GB. + "dataDiskSizeGb": "A String", # The size of data disk, in GB. The data disk size minimum is 10GB. Applies only to Second Generation instances. + }, + "project": "A String", # The project ID of the project containing the Cloud SQL instance. The Google apps domain is prefixed if applicable. + "replicaConfiguration": { # Read-replica configuration for connecting to the master. # Configuration specific to read-replicas replicating from on-premises masters. + "kind": "sql#replicaConfiguration", # This is always sql#replicaConfiguration. + "failoverTarget": True or False, # Specifies if the replica is the failover target. If the field is set to true the replica will be designated as a failover replica. In case the master instance fails, the replica instance will be promoted as the new master instance. + # Only one replica can be specified as failover target, and the replica has to be in different zone with the master instance. + "mysqlReplicaConfiguration": { # Read-replica configuration specific to MySQL databases. # MySQL specific configuration when replicating from a MySQL on-premises master. Replication configuration information such as the username, password, certificates, and keys are not stored in the instance metadata. The configuration information is used only to set up the replication connection and is stored by MySQL in a file named master.info in the data directory. + "username": "A String", # The username for the replication connection. + "kind": "sql#mysqlReplicaConfiguration", # This is always sql#mysqlReplicaConfiguration. + "clientKey": "A String", # PEM representation of the slave's private key. The corresponsing public key is encoded in the client's certificate. + "sslCipher": "A String", # A list of permissible ciphers to use for SSL encryption. + "caCertificate": "A String", # PEM representation of the trusted CA's x509 certificate. + "clientCertificate": "A String", # PEM representation of the slave's x509 certificate. + "masterHeartbeatPeriod": "A String", # Interval in milliseconds between replication heartbeats. + "verifyServerCertificate": True or False, # Whether or not to check the master's Common Name value in the certificate that it sends during the SSL handshake. + "dumpFilePath": "A String", # Path to a SQL dump file in Google Cloud Storage from which the slave instance is to be created. The URI is in the form gs://bucketName/fileName. Compressed gzip files (.gz) are also supported. Dumps should have the binlog co-ordinates from which replication should begin. This can be accomplished by setting --master-data to 1 when using mysqldump. + "password": "A String", # The password for the replication connection. + "connectRetryInterval": 42, # Seconds to wait between connect retries. MySQL's default is 60 seconds. + }, }, - "instanceType": "A String", # The instance type. This can be one of the following. - # CLOUD_SQL_INSTANCE: A Cloud SQL instance that is not replicating from a master. - # ON_PREMISES_INSTANCE: An instance running on the customer's premises. - # READ_REPLICA_INSTANCE: A Cloud SQL instance configured as a read-replica. "selfLink": "A String", # The URI of this resource. - "maxDiskSize": "A String", # The maximum disk size of the instance in bytes. }
@@ -693,39 +700,49 @@

Method Details

The object takes the form of: { # A Cloud SQL instance resource. - "onPremisesConfiguration": { # On-premises instance configuration. # Configuration specific to on-premises instances. - "kind": "sql#onPremisesConfiguration", # This is always sql#onPremisesConfiguration. - "hostPort": "A String", # The host and port of the on-premises instance in host:port format - }, - "kind": "sql#instance", # This is always sql#instance. - "failoverReplica": { # The name and status of the failover replica. Only applies to Second Generation instances. - "available": True or False, - "name": "A String", - }, - "ipv6Address": "A String", # The IPv6 address assigned to the instance. - "replicaConfiguration": { # Read-replica configuration for connecting to the master. # Configuration specific to read-replicas replicating from on-premises masters. - "kind": "sql#replicaConfiguration", # This is always sql#replicaConfiguration. - "failoverTarget": True or False, # Specifies if the replica is the failover target. If the field is set to true the replica will be designated as a failover replica. In case the master instance fails, the replica instance will be promoted as the new master instance. - # Only one replica can be specified as failover target, and the replica has to be in different zone with the master instance. - "mysqlReplicaConfiguration": { # Read-replica configuration specific to MySQL databases. # MySQL specific configuration when replicating from a MySQL on-premises master. Replication configuration information such as the username, password, certificates, and keys are not stored in the instance metadata. The configuration information is used only to set up the replication connection and is stored by MySQL in a file named master.info in the data directory. - "username": "A String", # The username for the replication connection. - "kind": "sql#mysqlReplicaConfiguration", # This is always sql#mysqlReplicaConfiguration. - "clientKey": "A String", # PEM representation of the slave's private key. The corresponsing public key is encoded in the client's certificate. - "sslCipher": "A String", # A list of permissible ciphers to use for SSL encryption. - "caCertificate": "A String", # PEM representation of the trusted CA's x509 certificate. - "clientCertificate": "A String", # PEM representation of the slave's x509 certificate. - "masterHeartbeatPeriod": "A String", # Interval in milliseconds between replication heartbeats. - "verifyServerCertificate": True or False, # Whether or not to check the master's Common Name value in the certificate that it sends during the SSL handshake. - "dumpFilePath": "A String", # Path to a SQL dump file in Google Cloud Storage from which the slave instance is to be created. The URI is in the form gs://bucketName/fileName. Compressed gzip files (.gz) are also supported. Dumps should have the binlog co-ordinates from which replication should begin. This can be accomplished by setting --master-data to 1 when using mysqldump. - "password": "A String", # The password for the replication connection. - "connectRetryInterval": 42, # Seconds to wait between connect retries. MySQL's default is 60 seconds. + "backendType": "A String", # FIRST_GEN: Basic Cloud SQL instance that runs in a Google-managed container. + # SECOND_GEN: A newer Cloud SQL backend that runs in a Compute Engine VM. + # EXTERNAL: A MySQL server that is not managed by Google. + "currentDiskSize": "A String", # The current disk usage of the instance in bytes. This property has been deprecated. Users should use the "cloudsql.googleapis.com/database/disk/bytes_used" metric in Cloud Monitoring API instead. Please see https://groups.google.com/d/msg/google-cloud-sql-announce/I_7-F9EBhT0/BtvFtdFeAgAJ for details. + "serviceAccountEmailAddress": "A String", # The service account email address assigned to the instance. This property is applicable only to Second Generation instances. + "ipAddresses": [ # The assigned IP addresses for the instance. + { # Database instance IP Mapping. + "timeToRetire": "A String", # The due time for this IP to be retired in RFC 3339 format, for example 2012-11-15T16:19:00.094Z. This field is only available when the IP is scheduled to be retired. + "ipAddress": "A String", # The IP address assigned. }, + ], + "databaseVersion": "A String", # The database engine type and version. The databaseVersion can not be changed after instance creation. Can be MYSQL_5_5, MYSQL_5_6 or MYSQL_5_7. Defaults to MYSQL_5_6. MYSQL_5_7 is applicable only to Second Generation instances. + "instanceType": "A String", # The instance type. This can be one of the following. + # CLOUD_SQL_INSTANCE: A Cloud SQL instance that is not replicating from a master. + # ON_PREMISES_INSTANCE: An instance running on the customer's premises. + # READ_REPLICA_INSTANCE: A Cloud SQL instance configured as a read-replica. + "maxDiskSize": "A String", # The maximum disk size of the instance in bytes. + "suspensionReason": [ # If the instance state is SUSPENDED, the reason for the suspension. + "A String", + ], + "masterInstanceName": "A String", # The name of the instance which will act as master in the replication setup. + "state": "A String", # The current serving state of the Cloud SQL instance. This can be one of the following. + # RUNNABLE: The instance is running, or is ready to run when accessed. + # SUSPENDED: The instance is not available, for example due to problems with billing. + # PENDING_CREATE: The instance is being created. + # MAINTENANCE: The instance is down for maintenance. + # FAILED: The instance creation failed. + # UNKNOWN_STATE: The state of the instance is unknown. + "etag": "A String", # HTTP 1.1 Entity tag for the resource. + "failoverReplica": { # The name and status of the failover replica. This property is applicable only to Second Generation instances. + "available": True or False, # The availability status of the failover replica. A false status indicates that the failover replica is out of sync. The master can only failover to the falover replica when the status is true. + "name": "A String", # The name of the failover replica. }, "replicaNames": [ # The replicas of the instance. "A String", ], - "project": "A String", # The project ID of the project containing the Cloud SQL instance. The Google apps domain is prefixed if applicable. - "region": "A String", # The geographical region. Can be us-central, asia-east1 or europe-west1. Defaults to us-central. The region can not be changed after instance creation. + "onPremisesConfiguration": { # On-premises instance configuration. # Configuration specific to on-premises instances. + "kind": "sql#onPremisesConfiguration", # This is always sql#onPremisesConfiguration. + "hostPort": "A String", # The host and port of the on-premises instance in host:port format + }, + "kind": "sql#instance", # This is always sql#instance. + "name": "A String", # Name of the Cloud SQL instance. This does not include the project ID. + "ipv6Address": "A String", # The IPv6 address assigned to the instance. This property is applicable only to First Generation instances. "serverCaCert": { # SslCerts Resource # SSL configuration. "certSerialNumber": "A String", # Serial number, as extracted from the certificate. "kind": "sql#sslCert", # This is always sql#sslCert. @@ -737,25 +754,7 @@

Method Details

"createTime": "A String", # The time when the certificate was created in RFC 3339 format, for example 2012-11-15T16:19:00.094Z "selfLink": "A String", # The URI of this resource. }, - "masterInstanceName": "A String", # The name of the instance which will act as master in the replication setup. - "name": "A String", # Name of the Cloud SQL instance. This does not include the project ID. - "currentDiskSize": "A String", # The current disk usage of the instance in bytes. - "state": "A String", # The current serving state of the Cloud SQL instance. This can be one of the following. - # RUNNABLE: The instance is running, or is ready to run when accessed. - # SUSPENDED: The instance is not available, for example due to problems with billing. - # PENDING_CREATE: The instance is being created. - # MAINTENANCE: The instance is down for maintenance. - # FAILED: The instance creation failed. - # UNKNOWN_STATE: The state of the instance is unknown. - "etag": "A String", # HTTP 1.1 Entity tag for the resource. - "serviceAccountEmailAddress": "A String", # The service account email address assigned to the instance. - "ipAddresses": [ # The assigned IP addresses for the instance. - { # Database instance IP Mapping. - "timeToRetire": "A String", # The due time for this IP to be retired in RFC 3339 format, for example 2012-11-15T16:19:00.094Z. This field is only available when the IP is scheduled to be retired. - "ipAddress": "A String", # The IP address assigned. - }, - ], - "databaseVersion": "A String", # The database engine type and version. Can be MYSQL_5_5 or MYSQL_5_6. Defaults to MYSQL_5_5. The databaseVersion can not be changed after instance creation. + "region": "A String", # The geographical region. Can be us-central (FIRST_GEN instances only), us-central1 (SECOND_GEN instances only), asia-east1 or europe-west1. Defaults to us-central or us-central1 depending on the instance type (First Generation or Second Generation). The region can not be changed after instance creation. "settings": { # Database instance settings. # The user settings. "databaseFlags": [ # The database flags passed to the instance at startup. { # MySQL flags for Cloud SQL instances. @@ -764,27 +763,27 @@

Method Details

}, ], "kind": "sql#settings", # This is always sql#settings. - "dataDiskType": "A String", # The type of data disk. Only supported for 2nd Generation instances. The default type is SSD. - "maintenanceWindow": { # Maintenance window. This specifies when a v2 Cloud SQL instance should preferably be restarted for system maintenance puruposes. # The maintenance window for this instance. This specifies when the instance may be restarted for maintenance purposes. + "dataDiskType": "A String", # The type of data disk. Only supported for Second Generation instances. The default type is PD_SSD. Applies only to Second Generation instances. + "maintenanceWindow": { # Maintenance window. This specifies when a v2 Cloud SQL instance should preferably be restarted for system maintenance puruposes. # The maintenance window for this instance. This specifies when the instance may be restarted for maintenance purposes. Applies only to Second Generation instances. "kind": "sql#maintenanceWindow", # This is always sql#maintenanceWindow. "updateTrack": "A String", "day": 42, # day of week (1-7), starting on Monday. "hour": 42, # hour of day - 0 to 23. }, - "authorizedGaeApplications": [ # The App Engine app IDs that can access this instance. + "authorizedGaeApplications": [ # The App Engine app IDs that can access this instance. This property is only applicable to First Generation instances. "A String", ], "activationPolicy": "A String", # The activation policy for this instance. This specifies when the instance should be activated and is applicable only when the instance state is RUNNABLE. This can be one of the following. # ALWAYS: The instance should always be active. # NEVER: The instance should never be activated. - # ON_DEMAND: The instance is activated upon receiving requests. + # ON_DEMAND: The instance is activated upon receiving requests; only applicable to First Generation instances. "backupConfiguration": { # Database instance backup configuration. # The daily backup configuration for the instance. "kind": "sql#backupConfiguration", # This is always sql#backupConfiguration. "enabled": True or False, # Whether this configuration is enabled. "startTime": "A String", # Start time for the daily backup configuration in UTC timezone in the 24 hour format - HH:MM. "binaryLogEnabled": True or False, # Whether binary log is enabled. If backup configuration is disabled, binary log must be disabled as well. }, - "ipConfiguration": { # IP Management configuration. # The settings for IP Management. This allows to enable or disable the instance IP and manage which external networks can connect to the instance. + "ipConfiguration": { # IP Management configuration. # The settings for IP Management. This allows to enable or disable the instance IP and manage which external networks can connect to the instance. The IPv4 address cannot be disabled for Second Generation instances. "requireSsl": True or False, # Whether the mysqld should default to 'REQUIRE X509' for users connecting over IP. "ipv4Enabled": True or False, # Whether the instance should be assigned an IP address or not. "authorizedNetworks": [ # The list of external networks that are allowed to connect to the instance using the IP. In CIDR notation, also known as 'slash' notation (e.g. 192.168.100.0/24). @@ -798,23 +797,38 @@

Method Details

}, "tier": "A String", # The tier of service for this instance, for example D1, D2. For more information, see pricing. "databaseReplicationEnabled": True or False, # Configuration specific to read replica instances. Indicates whether replication is enabled or not. - "replicationType": "A String", # The type of replication this instance uses. This can be either ASYNCHRONOUS or SYNCHRONOUS. - "crashSafeReplicationEnabled": True or False, # Configuration specific to read replica instances. Indicates whether database flags for crash-safe replication are enabled. - "pricingPlan": "A String", # The pricing plan for this instance. This can be either PER_USE or PACKAGE. + "replicationType": "A String", # The type of replication this instance uses. This can be either ASYNCHRONOUS or SYNCHRONOUS. This property is only applicable to First Generation instances. + "crashSafeReplicationEnabled": True or False, # Configuration specific to read replica instances. Indicates whether database flags for crash-safe replication are enabled. This property is only applicable to First Generation instances. + "pricingPlan": "A String", # The pricing plan for this instance. This can be either PER_USE or PACKAGE. Only PER_USE is supported for Second Generation instances. "settingsVersion": "A String", # The version of instance settings. This is a required field for update method to make sure concurrent updates are handled properly. During update, use the most recent settingsVersion value for this instance and do not try to update this value. - "locationPreference": { # Preferred location. This specifies where a Cloud SQL instance should preferably be located, either in a specific Compute Engine zone, or co-located with an App Engine application. Note that if the preferred location is not available, the instance will be located as close as possible within the region. Only one location may be specified. # The location preference settings. This allows the instance to be located as near as possible to either an App Engine app or GCE zone for better performance. + "storageAutoResize": True or False, # Configuration to increase storage size automatically. The default value is false. Applies only to Second Generation instances. + "locationPreference": { # Preferred location. This specifies where a Cloud SQL instance should preferably be located, either in a specific Compute Engine zone, or co-located with an App Engine application. Note that if the preferred location is not available, the instance will be located as close as possible within the region. Only one location may be specified. # The location preference settings. This allows the instance to be located as near as possible to either an App Engine app or GCE zone for better performance. App Engine co-location is only applicable to First Generation instances. "kind": "sql#locationPreference", # This is always sql#locationPreference. "zone": "A String", # The preferred Compute Engine zone (e.g. us-centra1-a, us-central1-b, etc.). "followGaeApplication": "A String", # The AppEngine application to follow, it must be in the same region as the Cloud SQL instance. }, - "dataDiskSizeGb": "A String", # The size of data disk, in GB. Only supported for 2nd Generation instances. The data disk size minimum is 10GB. + "dataDiskSizeGb": "A String", # The size of data disk, in GB. The data disk size minimum is 10GB. Applies only to Second Generation instances. + }, + "project": "A String", # The project ID of the project containing the Cloud SQL instance. The Google apps domain is prefixed if applicable. + "replicaConfiguration": { # Read-replica configuration for connecting to the master. # Configuration specific to read-replicas replicating from on-premises masters. + "kind": "sql#replicaConfiguration", # This is always sql#replicaConfiguration. + "failoverTarget": True or False, # Specifies if the replica is the failover target. If the field is set to true the replica will be designated as a failover replica. In case the master instance fails, the replica instance will be promoted as the new master instance. + # Only one replica can be specified as failover target, and the replica has to be in different zone with the master instance. + "mysqlReplicaConfiguration": { # Read-replica configuration specific to MySQL databases. # MySQL specific configuration when replicating from a MySQL on-premises master. Replication configuration information such as the username, password, certificates, and keys are not stored in the instance metadata. The configuration information is used only to set up the replication connection and is stored by MySQL in a file named master.info in the data directory. + "username": "A String", # The username for the replication connection. + "kind": "sql#mysqlReplicaConfiguration", # This is always sql#mysqlReplicaConfiguration. + "clientKey": "A String", # PEM representation of the slave's private key. The corresponsing public key is encoded in the client's certificate. + "sslCipher": "A String", # A list of permissible ciphers to use for SSL encryption. + "caCertificate": "A String", # PEM representation of the trusted CA's x509 certificate. + "clientCertificate": "A String", # PEM representation of the slave's x509 certificate. + "masterHeartbeatPeriod": "A String", # Interval in milliseconds between replication heartbeats. + "verifyServerCertificate": True or False, # Whether or not to check the master's Common Name value in the certificate that it sends during the SSL handshake. + "dumpFilePath": "A String", # Path to a SQL dump file in Google Cloud Storage from which the slave instance is to be created. The URI is in the form gs://bucketName/fileName. Compressed gzip files (.gz) are also supported. Dumps should have the binlog co-ordinates from which replication should begin. This can be accomplished by setting --master-data to 1 when using mysqldump. + "password": "A String", # The password for the replication connection. + "connectRetryInterval": 42, # Seconds to wait between connect retries. MySQL's default is 60 seconds. + }, }, - "instanceType": "A String", # The instance type. This can be one of the following. - # CLOUD_SQL_INSTANCE: A Cloud SQL instance that is not replicating from a master. - # ON_PREMISES_INSTANCE: An instance running on the customer's premises. - # READ_REPLICA_INSTANCE: A Cloud SQL instance configured as a read-replica. "selfLink": "A String", # The URI of this resource. - "maxDiskSize": "A String", # The maximum disk size of the instance in bytes. } @@ -896,39 +910,49 @@

Method Details

"nextPageToken": "A String", # The continuation token, used to page through large result sets. Provide this value in a subsequent request to return the next page of results. "items": [ # List of database instance resources. { # A Cloud SQL instance resource. - "onPremisesConfiguration": { # On-premises instance configuration. # Configuration specific to on-premises instances. - "kind": "sql#onPremisesConfiguration", # This is always sql#onPremisesConfiguration. - "hostPort": "A String", # The host and port of the on-premises instance in host:port format - }, - "kind": "sql#instance", # This is always sql#instance. - "failoverReplica": { # The name and status of the failover replica. Only applies to Second Generation instances. - "available": True or False, - "name": "A String", - }, - "ipv6Address": "A String", # The IPv6 address assigned to the instance. - "replicaConfiguration": { # Read-replica configuration for connecting to the master. # Configuration specific to read-replicas replicating from on-premises masters. - "kind": "sql#replicaConfiguration", # This is always sql#replicaConfiguration. - "failoverTarget": True or False, # Specifies if the replica is the failover target. If the field is set to true the replica will be designated as a failover replica. In case the master instance fails, the replica instance will be promoted as the new master instance. - # Only one replica can be specified as failover target, and the replica has to be in different zone with the master instance. - "mysqlReplicaConfiguration": { # Read-replica configuration specific to MySQL databases. # MySQL specific configuration when replicating from a MySQL on-premises master. Replication configuration information such as the username, password, certificates, and keys are not stored in the instance metadata. The configuration information is used only to set up the replication connection and is stored by MySQL in a file named master.info in the data directory. - "username": "A String", # The username for the replication connection. - "kind": "sql#mysqlReplicaConfiguration", # This is always sql#mysqlReplicaConfiguration. - "clientKey": "A String", # PEM representation of the slave's private key. The corresponsing public key is encoded in the client's certificate. - "sslCipher": "A String", # A list of permissible ciphers to use for SSL encryption. - "caCertificate": "A String", # PEM representation of the trusted CA's x509 certificate. - "clientCertificate": "A String", # PEM representation of the slave's x509 certificate. - "masterHeartbeatPeriod": "A String", # Interval in milliseconds between replication heartbeats. - "verifyServerCertificate": True or False, # Whether or not to check the master's Common Name value in the certificate that it sends during the SSL handshake. - "dumpFilePath": "A String", # Path to a SQL dump file in Google Cloud Storage from which the slave instance is to be created. The URI is in the form gs://bucketName/fileName. Compressed gzip files (.gz) are also supported. Dumps should have the binlog co-ordinates from which replication should begin. This can be accomplished by setting --master-data to 1 when using mysqldump. - "password": "A String", # The password for the replication connection. - "connectRetryInterval": 42, # Seconds to wait between connect retries. MySQL's default is 60 seconds. + "backendType": "A String", # FIRST_GEN: Basic Cloud SQL instance that runs in a Google-managed container. + # SECOND_GEN: A newer Cloud SQL backend that runs in a Compute Engine VM. + # EXTERNAL: A MySQL server that is not managed by Google. + "currentDiskSize": "A String", # The current disk usage of the instance in bytes. This property has been deprecated. Users should use the "cloudsql.googleapis.com/database/disk/bytes_used" metric in Cloud Monitoring API instead. Please see https://groups.google.com/d/msg/google-cloud-sql-announce/I_7-F9EBhT0/BtvFtdFeAgAJ for details. + "serviceAccountEmailAddress": "A String", # The service account email address assigned to the instance. This property is applicable only to Second Generation instances. + "ipAddresses": [ # The assigned IP addresses for the instance. + { # Database instance IP Mapping. + "timeToRetire": "A String", # The due time for this IP to be retired in RFC 3339 format, for example 2012-11-15T16:19:00.094Z. This field is only available when the IP is scheduled to be retired. + "ipAddress": "A String", # The IP address assigned. }, + ], + "databaseVersion": "A String", # The database engine type and version. The databaseVersion can not be changed after instance creation. Can be MYSQL_5_5, MYSQL_5_6 or MYSQL_5_7. Defaults to MYSQL_5_6. MYSQL_5_7 is applicable only to Second Generation instances. + "instanceType": "A String", # The instance type. This can be one of the following. + # CLOUD_SQL_INSTANCE: A Cloud SQL instance that is not replicating from a master. + # ON_PREMISES_INSTANCE: An instance running on the customer's premises. + # READ_REPLICA_INSTANCE: A Cloud SQL instance configured as a read-replica. + "maxDiskSize": "A String", # The maximum disk size of the instance in bytes. + "suspensionReason": [ # If the instance state is SUSPENDED, the reason for the suspension. + "A String", + ], + "masterInstanceName": "A String", # The name of the instance which will act as master in the replication setup. + "state": "A String", # The current serving state of the Cloud SQL instance. This can be one of the following. + # RUNNABLE: The instance is running, or is ready to run when accessed. + # SUSPENDED: The instance is not available, for example due to problems with billing. + # PENDING_CREATE: The instance is being created. + # MAINTENANCE: The instance is down for maintenance. + # FAILED: The instance creation failed. + # UNKNOWN_STATE: The state of the instance is unknown. + "etag": "A String", # HTTP 1.1 Entity tag for the resource. + "failoverReplica": { # The name and status of the failover replica. This property is applicable only to Second Generation instances. + "available": True or False, # The availability status of the failover replica. A false status indicates that the failover replica is out of sync. The master can only failover to the falover replica when the status is true. + "name": "A String", # The name of the failover replica. }, "replicaNames": [ # The replicas of the instance. "A String", ], - "project": "A String", # The project ID of the project containing the Cloud SQL instance. The Google apps domain is prefixed if applicable. - "region": "A String", # The geographical region. Can be us-central, asia-east1 or europe-west1. Defaults to us-central. The region can not be changed after instance creation. + "onPremisesConfiguration": { # On-premises instance configuration. # Configuration specific to on-premises instances. + "kind": "sql#onPremisesConfiguration", # This is always sql#onPremisesConfiguration. + "hostPort": "A String", # The host and port of the on-premises instance in host:port format + }, + "kind": "sql#instance", # This is always sql#instance. + "name": "A String", # Name of the Cloud SQL instance. This does not include the project ID. + "ipv6Address": "A String", # The IPv6 address assigned to the instance. This property is applicable only to First Generation instances. "serverCaCert": { # SslCerts Resource # SSL configuration. "certSerialNumber": "A String", # Serial number, as extracted from the certificate. "kind": "sql#sslCert", # This is always sql#sslCert. @@ -940,25 +964,7 @@

Method Details

"createTime": "A String", # The time when the certificate was created in RFC 3339 format, for example 2012-11-15T16:19:00.094Z "selfLink": "A String", # The URI of this resource. }, - "masterInstanceName": "A String", # The name of the instance which will act as master in the replication setup. - "name": "A String", # Name of the Cloud SQL instance. This does not include the project ID. - "currentDiskSize": "A String", # The current disk usage of the instance in bytes. - "state": "A String", # The current serving state of the Cloud SQL instance. This can be one of the following. - # RUNNABLE: The instance is running, or is ready to run when accessed. - # SUSPENDED: The instance is not available, for example due to problems with billing. - # PENDING_CREATE: The instance is being created. - # MAINTENANCE: The instance is down for maintenance. - # FAILED: The instance creation failed. - # UNKNOWN_STATE: The state of the instance is unknown. - "etag": "A String", # HTTP 1.1 Entity tag for the resource. - "serviceAccountEmailAddress": "A String", # The service account email address assigned to the instance. - "ipAddresses": [ # The assigned IP addresses for the instance. - { # Database instance IP Mapping. - "timeToRetire": "A String", # The due time for this IP to be retired in RFC 3339 format, for example 2012-11-15T16:19:00.094Z. This field is only available when the IP is scheduled to be retired. - "ipAddress": "A String", # The IP address assigned. - }, - ], - "databaseVersion": "A String", # The database engine type and version. Can be MYSQL_5_5 or MYSQL_5_6. Defaults to MYSQL_5_5. The databaseVersion can not be changed after instance creation. + "region": "A String", # The geographical region. Can be us-central (FIRST_GEN instances only), us-central1 (SECOND_GEN instances only), asia-east1 or europe-west1. Defaults to us-central or us-central1 depending on the instance type (First Generation or Second Generation). The region can not be changed after instance creation. "settings": { # Database instance settings. # The user settings. "databaseFlags": [ # The database flags passed to the instance at startup. { # MySQL flags for Cloud SQL instances. @@ -967,27 +973,27 @@

Method Details

}, ], "kind": "sql#settings", # This is always sql#settings. - "dataDiskType": "A String", # The type of data disk. Only supported for 2nd Generation instances. The default type is SSD. - "maintenanceWindow": { # Maintenance window. This specifies when a v2 Cloud SQL instance should preferably be restarted for system maintenance puruposes. # The maintenance window for this instance. This specifies when the instance may be restarted for maintenance purposes. + "dataDiskType": "A String", # The type of data disk. Only supported for Second Generation instances. The default type is PD_SSD. Applies only to Second Generation instances. + "maintenanceWindow": { # Maintenance window. This specifies when a v2 Cloud SQL instance should preferably be restarted for system maintenance puruposes. # The maintenance window for this instance. This specifies when the instance may be restarted for maintenance purposes. Applies only to Second Generation instances. "kind": "sql#maintenanceWindow", # This is always sql#maintenanceWindow. "updateTrack": "A String", "day": 42, # day of week (1-7), starting on Monday. "hour": 42, # hour of day - 0 to 23. }, - "authorizedGaeApplications": [ # The App Engine app IDs that can access this instance. + "authorizedGaeApplications": [ # The App Engine app IDs that can access this instance. This property is only applicable to First Generation instances. "A String", ], "activationPolicy": "A String", # The activation policy for this instance. This specifies when the instance should be activated and is applicable only when the instance state is RUNNABLE. This can be one of the following. # ALWAYS: The instance should always be active. # NEVER: The instance should never be activated. - # ON_DEMAND: The instance is activated upon receiving requests. + # ON_DEMAND: The instance is activated upon receiving requests; only applicable to First Generation instances. "backupConfiguration": { # Database instance backup configuration. # The daily backup configuration for the instance. "kind": "sql#backupConfiguration", # This is always sql#backupConfiguration. "enabled": True or False, # Whether this configuration is enabled. "startTime": "A String", # Start time for the daily backup configuration in UTC timezone in the 24 hour format - HH:MM. "binaryLogEnabled": True or False, # Whether binary log is enabled. If backup configuration is disabled, binary log must be disabled as well. }, - "ipConfiguration": { # IP Management configuration. # The settings for IP Management. This allows to enable or disable the instance IP and manage which external networks can connect to the instance. + "ipConfiguration": { # IP Management configuration. # The settings for IP Management. This allows to enable or disable the instance IP and manage which external networks can connect to the instance. The IPv4 address cannot be disabled for Second Generation instances. "requireSsl": True or False, # Whether the mysqld should default to 'REQUIRE X509' for users connecting over IP. "ipv4Enabled": True or False, # Whether the instance should be assigned an IP address or not. "authorizedNetworks": [ # The list of external networks that are allowed to connect to the instance using the IP. In CIDR notation, also known as 'slash' notation (e.g. 192.168.100.0/24). @@ -1001,23 +1007,38 @@

Method Details

}, "tier": "A String", # The tier of service for this instance, for example D1, D2. For more information, see pricing. "databaseReplicationEnabled": True or False, # Configuration specific to read replica instances. Indicates whether replication is enabled or not. - "replicationType": "A String", # The type of replication this instance uses. This can be either ASYNCHRONOUS or SYNCHRONOUS. - "crashSafeReplicationEnabled": True or False, # Configuration specific to read replica instances. Indicates whether database flags for crash-safe replication are enabled. - "pricingPlan": "A String", # The pricing plan for this instance. This can be either PER_USE or PACKAGE. + "replicationType": "A String", # The type of replication this instance uses. This can be either ASYNCHRONOUS or SYNCHRONOUS. This property is only applicable to First Generation instances. + "crashSafeReplicationEnabled": True or False, # Configuration specific to read replica instances. Indicates whether database flags for crash-safe replication are enabled. This property is only applicable to First Generation instances. + "pricingPlan": "A String", # The pricing plan for this instance. This can be either PER_USE or PACKAGE. Only PER_USE is supported for Second Generation instances. "settingsVersion": "A String", # The version of instance settings. This is a required field for update method to make sure concurrent updates are handled properly. During update, use the most recent settingsVersion value for this instance and do not try to update this value. - "locationPreference": { # Preferred location. This specifies where a Cloud SQL instance should preferably be located, either in a specific Compute Engine zone, or co-located with an App Engine application. Note that if the preferred location is not available, the instance will be located as close as possible within the region. Only one location may be specified. # The location preference settings. This allows the instance to be located as near as possible to either an App Engine app or GCE zone for better performance. + "storageAutoResize": True or False, # Configuration to increase storage size automatically. The default value is false. Applies only to Second Generation instances. + "locationPreference": { # Preferred location. This specifies where a Cloud SQL instance should preferably be located, either in a specific Compute Engine zone, or co-located with an App Engine application. Note that if the preferred location is not available, the instance will be located as close as possible within the region. Only one location may be specified. # The location preference settings. This allows the instance to be located as near as possible to either an App Engine app or GCE zone for better performance. App Engine co-location is only applicable to First Generation instances. "kind": "sql#locationPreference", # This is always sql#locationPreference. "zone": "A String", # The preferred Compute Engine zone (e.g. us-centra1-a, us-central1-b, etc.). "followGaeApplication": "A String", # The AppEngine application to follow, it must be in the same region as the Cloud SQL instance. }, - "dataDiskSizeGb": "A String", # The size of data disk, in GB. Only supported for 2nd Generation instances. The data disk size minimum is 10GB. + "dataDiskSizeGb": "A String", # The size of data disk, in GB. The data disk size minimum is 10GB. Applies only to Second Generation instances. + }, + "project": "A String", # The project ID of the project containing the Cloud SQL instance. The Google apps domain is prefixed if applicable. + "replicaConfiguration": { # Read-replica configuration for connecting to the master. # Configuration specific to read-replicas replicating from on-premises masters. + "kind": "sql#replicaConfiguration", # This is always sql#replicaConfiguration. + "failoverTarget": True or False, # Specifies if the replica is the failover target. If the field is set to true the replica will be designated as a failover replica. In case the master instance fails, the replica instance will be promoted as the new master instance. + # Only one replica can be specified as failover target, and the replica has to be in different zone with the master instance. + "mysqlReplicaConfiguration": { # Read-replica configuration specific to MySQL databases. # MySQL specific configuration when replicating from a MySQL on-premises master. Replication configuration information such as the username, password, certificates, and keys are not stored in the instance metadata. The configuration information is used only to set up the replication connection and is stored by MySQL in a file named master.info in the data directory. + "username": "A String", # The username for the replication connection. + "kind": "sql#mysqlReplicaConfiguration", # This is always sql#mysqlReplicaConfiguration. + "clientKey": "A String", # PEM representation of the slave's private key. The corresponsing public key is encoded in the client's certificate. + "sslCipher": "A String", # A list of permissible ciphers to use for SSL encryption. + "caCertificate": "A String", # PEM representation of the trusted CA's x509 certificate. + "clientCertificate": "A String", # PEM representation of the slave's x509 certificate. + "masterHeartbeatPeriod": "A String", # Interval in milliseconds between replication heartbeats. + "verifyServerCertificate": True or False, # Whether or not to check the master's Common Name value in the certificate that it sends during the SSL handshake. + "dumpFilePath": "A String", # Path to a SQL dump file in Google Cloud Storage from which the slave instance is to be created. The URI is in the form gs://bucketName/fileName. Compressed gzip files (.gz) are also supported. Dumps should have the binlog co-ordinates from which replication should begin. This can be accomplished by setting --master-data to 1 when using mysqldump. + "password": "A String", # The password for the replication connection. + "connectRetryInterval": 42, # Seconds to wait between connect retries. MySQL's default is 60 seconds. + }, }, - "instanceType": "A String", # The instance type. This can be one of the following. - # CLOUD_SQL_INSTANCE: A Cloud SQL instance that is not replicating from a master. - # ON_PREMISES_INSTANCE: An instance running on the customer's premises. - # READ_REPLICA_INSTANCE: A Cloud SQL instance configured as a read-replica. "selfLink": "A String", # The URI of this resource. - "maxDiskSize": "A String", # The maximum disk size of the instance in bytes. }, ], "kind": "sql#instancesList", # This is always sql#instancesList. @@ -1049,39 +1070,49 @@

Method Details

The object takes the form of: { # A Cloud SQL instance resource. - "onPremisesConfiguration": { # On-premises instance configuration. # Configuration specific to on-premises instances. - "kind": "sql#onPremisesConfiguration", # This is always sql#onPremisesConfiguration. - "hostPort": "A String", # The host and port of the on-premises instance in host:port format - }, - "kind": "sql#instance", # This is always sql#instance. - "failoverReplica": { # The name and status of the failover replica. Only applies to Second Generation instances. - "available": True or False, - "name": "A String", - }, - "ipv6Address": "A String", # The IPv6 address assigned to the instance. - "replicaConfiguration": { # Read-replica configuration for connecting to the master. # Configuration specific to read-replicas replicating from on-premises masters. - "kind": "sql#replicaConfiguration", # This is always sql#replicaConfiguration. - "failoverTarget": True or False, # Specifies if the replica is the failover target. If the field is set to true the replica will be designated as a failover replica. In case the master instance fails, the replica instance will be promoted as the new master instance. - # Only one replica can be specified as failover target, and the replica has to be in different zone with the master instance. - "mysqlReplicaConfiguration": { # Read-replica configuration specific to MySQL databases. # MySQL specific configuration when replicating from a MySQL on-premises master. Replication configuration information such as the username, password, certificates, and keys are not stored in the instance metadata. The configuration information is used only to set up the replication connection and is stored by MySQL in a file named master.info in the data directory. - "username": "A String", # The username for the replication connection. - "kind": "sql#mysqlReplicaConfiguration", # This is always sql#mysqlReplicaConfiguration. - "clientKey": "A String", # PEM representation of the slave's private key. The corresponsing public key is encoded in the client's certificate. - "sslCipher": "A String", # A list of permissible ciphers to use for SSL encryption. - "caCertificate": "A String", # PEM representation of the trusted CA's x509 certificate. - "clientCertificate": "A String", # PEM representation of the slave's x509 certificate. - "masterHeartbeatPeriod": "A String", # Interval in milliseconds between replication heartbeats. - "verifyServerCertificate": True or False, # Whether or not to check the master's Common Name value in the certificate that it sends during the SSL handshake. - "dumpFilePath": "A String", # Path to a SQL dump file in Google Cloud Storage from which the slave instance is to be created. The URI is in the form gs://bucketName/fileName. Compressed gzip files (.gz) are also supported. Dumps should have the binlog co-ordinates from which replication should begin. This can be accomplished by setting --master-data to 1 when using mysqldump. - "password": "A String", # The password for the replication connection. - "connectRetryInterval": 42, # Seconds to wait between connect retries. MySQL's default is 60 seconds. + "backendType": "A String", # FIRST_GEN: Basic Cloud SQL instance that runs in a Google-managed container. + # SECOND_GEN: A newer Cloud SQL backend that runs in a Compute Engine VM. + # EXTERNAL: A MySQL server that is not managed by Google. + "currentDiskSize": "A String", # The current disk usage of the instance in bytes. This property has been deprecated. Users should use the "cloudsql.googleapis.com/database/disk/bytes_used" metric in Cloud Monitoring API instead. Please see https://groups.google.com/d/msg/google-cloud-sql-announce/I_7-F9EBhT0/BtvFtdFeAgAJ for details. + "serviceAccountEmailAddress": "A String", # The service account email address assigned to the instance. This property is applicable only to Second Generation instances. + "ipAddresses": [ # The assigned IP addresses for the instance. + { # Database instance IP Mapping. + "timeToRetire": "A String", # The due time for this IP to be retired in RFC 3339 format, for example 2012-11-15T16:19:00.094Z. This field is only available when the IP is scheduled to be retired. + "ipAddress": "A String", # The IP address assigned. }, + ], + "databaseVersion": "A String", # The database engine type and version. The databaseVersion can not be changed after instance creation. Can be MYSQL_5_5, MYSQL_5_6 or MYSQL_5_7. Defaults to MYSQL_5_6. MYSQL_5_7 is applicable only to Second Generation instances. + "instanceType": "A String", # The instance type. This can be one of the following. + # CLOUD_SQL_INSTANCE: A Cloud SQL instance that is not replicating from a master. + # ON_PREMISES_INSTANCE: An instance running on the customer's premises. + # READ_REPLICA_INSTANCE: A Cloud SQL instance configured as a read-replica. + "maxDiskSize": "A String", # The maximum disk size of the instance in bytes. + "suspensionReason": [ # If the instance state is SUSPENDED, the reason for the suspension. + "A String", + ], + "masterInstanceName": "A String", # The name of the instance which will act as master in the replication setup. + "state": "A String", # The current serving state of the Cloud SQL instance. This can be one of the following. + # RUNNABLE: The instance is running, or is ready to run when accessed. + # SUSPENDED: The instance is not available, for example due to problems with billing. + # PENDING_CREATE: The instance is being created. + # MAINTENANCE: The instance is down for maintenance. + # FAILED: The instance creation failed. + # UNKNOWN_STATE: The state of the instance is unknown. + "etag": "A String", # HTTP 1.1 Entity tag for the resource. + "failoverReplica": { # The name and status of the failover replica. This property is applicable only to Second Generation instances. + "available": True or False, # The availability status of the failover replica. A false status indicates that the failover replica is out of sync. The master can only failover to the falover replica when the status is true. + "name": "A String", # The name of the failover replica. }, "replicaNames": [ # The replicas of the instance. "A String", ], - "project": "A String", # The project ID of the project containing the Cloud SQL instance. The Google apps domain is prefixed if applicable. - "region": "A String", # The geographical region. Can be us-central, asia-east1 or europe-west1. Defaults to us-central. The region can not be changed after instance creation. + "onPremisesConfiguration": { # On-premises instance configuration. # Configuration specific to on-premises instances. + "kind": "sql#onPremisesConfiguration", # This is always sql#onPremisesConfiguration. + "hostPort": "A String", # The host and port of the on-premises instance in host:port format + }, + "kind": "sql#instance", # This is always sql#instance. + "name": "A String", # Name of the Cloud SQL instance. This does not include the project ID. + "ipv6Address": "A String", # The IPv6 address assigned to the instance. This property is applicable only to First Generation instances. "serverCaCert": { # SslCerts Resource # SSL configuration. "certSerialNumber": "A String", # Serial number, as extracted from the certificate. "kind": "sql#sslCert", # This is always sql#sslCert. @@ -1093,25 +1124,7 @@

Method Details

"createTime": "A String", # The time when the certificate was created in RFC 3339 format, for example 2012-11-15T16:19:00.094Z "selfLink": "A String", # The URI of this resource. }, - "masterInstanceName": "A String", # The name of the instance which will act as master in the replication setup. - "name": "A String", # Name of the Cloud SQL instance. This does not include the project ID. - "currentDiskSize": "A String", # The current disk usage of the instance in bytes. - "state": "A String", # The current serving state of the Cloud SQL instance. This can be one of the following. - # RUNNABLE: The instance is running, or is ready to run when accessed. - # SUSPENDED: The instance is not available, for example due to problems with billing. - # PENDING_CREATE: The instance is being created. - # MAINTENANCE: The instance is down for maintenance. - # FAILED: The instance creation failed. - # UNKNOWN_STATE: The state of the instance is unknown. - "etag": "A String", # HTTP 1.1 Entity tag for the resource. - "serviceAccountEmailAddress": "A String", # The service account email address assigned to the instance. - "ipAddresses": [ # The assigned IP addresses for the instance. - { # Database instance IP Mapping. - "timeToRetire": "A String", # The due time for this IP to be retired in RFC 3339 format, for example 2012-11-15T16:19:00.094Z. This field is only available when the IP is scheduled to be retired. - "ipAddress": "A String", # The IP address assigned. - }, - ], - "databaseVersion": "A String", # The database engine type and version. Can be MYSQL_5_5 or MYSQL_5_6. Defaults to MYSQL_5_5. The databaseVersion can not be changed after instance creation. + "region": "A String", # The geographical region. Can be us-central (FIRST_GEN instances only), us-central1 (SECOND_GEN instances only), asia-east1 or europe-west1. Defaults to us-central or us-central1 depending on the instance type (First Generation or Second Generation). The region can not be changed after instance creation. "settings": { # Database instance settings. # The user settings. "databaseFlags": [ # The database flags passed to the instance at startup. { # MySQL flags for Cloud SQL instances. @@ -1120,27 +1133,27 @@

Method Details

}, ], "kind": "sql#settings", # This is always sql#settings. - "dataDiskType": "A String", # The type of data disk. Only supported for 2nd Generation instances. The default type is SSD. - "maintenanceWindow": { # Maintenance window. This specifies when a v2 Cloud SQL instance should preferably be restarted for system maintenance puruposes. # The maintenance window for this instance. This specifies when the instance may be restarted for maintenance purposes. + "dataDiskType": "A String", # The type of data disk. Only supported for Second Generation instances. The default type is PD_SSD. Applies only to Second Generation instances. + "maintenanceWindow": { # Maintenance window. This specifies when a v2 Cloud SQL instance should preferably be restarted for system maintenance puruposes. # The maintenance window for this instance. This specifies when the instance may be restarted for maintenance purposes. Applies only to Second Generation instances. "kind": "sql#maintenanceWindow", # This is always sql#maintenanceWindow. "updateTrack": "A String", "day": 42, # day of week (1-7), starting on Monday. "hour": 42, # hour of day - 0 to 23. }, - "authorizedGaeApplications": [ # The App Engine app IDs that can access this instance. + "authorizedGaeApplications": [ # The App Engine app IDs that can access this instance. This property is only applicable to First Generation instances. "A String", ], "activationPolicy": "A String", # The activation policy for this instance. This specifies when the instance should be activated and is applicable only when the instance state is RUNNABLE. This can be one of the following. # ALWAYS: The instance should always be active. # NEVER: The instance should never be activated. - # ON_DEMAND: The instance is activated upon receiving requests. + # ON_DEMAND: The instance is activated upon receiving requests; only applicable to First Generation instances. "backupConfiguration": { # Database instance backup configuration. # The daily backup configuration for the instance. "kind": "sql#backupConfiguration", # This is always sql#backupConfiguration. "enabled": True or False, # Whether this configuration is enabled. "startTime": "A String", # Start time for the daily backup configuration in UTC timezone in the 24 hour format - HH:MM. "binaryLogEnabled": True or False, # Whether binary log is enabled. If backup configuration is disabled, binary log must be disabled as well. }, - "ipConfiguration": { # IP Management configuration. # The settings for IP Management. This allows to enable or disable the instance IP and manage which external networks can connect to the instance. + "ipConfiguration": { # IP Management configuration. # The settings for IP Management. This allows to enable or disable the instance IP and manage which external networks can connect to the instance. The IPv4 address cannot be disabled for Second Generation instances. "requireSsl": True or False, # Whether the mysqld should default to 'REQUIRE X509' for users connecting over IP. "ipv4Enabled": True or False, # Whether the instance should be assigned an IP address or not. "authorizedNetworks": [ # The list of external networks that are allowed to connect to the instance using the IP. In CIDR notation, also known as 'slash' notation (e.g. 192.168.100.0/24). @@ -1154,23 +1167,38 @@

Method Details

}, "tier": "A String", # The tier of service for this instance, for example D1, D2. For more information, see pricing. "databaseReplicationEnabled": True or False, # Configuration specific to read replica instances. Indicates whether replication is enabled or not. - "replicationType": "A String", # The type of replication this instance uses. This can be either ASYNCHRONOUS or SYNCHRONOUS. - "crashSafeReplicationEnabled": True or False, # Configuration specific to read replica instances. Indicates whether database flags for crash-safe replication are enabled. - "pricingPlan": "A String", # The pricing plan for this instance. This can be either PER_USE or PACKAGE. + "replicationType": "A String", # The type of replication this instance uses. This can be either ASYNCHRONOUS or SYNCHRONOUS. This property is only applicable to First Generation instances. + "crashSafeReplicationEnabled": True or False, # Configuration specific to read replica instances. Indicates whether database flags for crash-safe replication are enabled. This property is only applicable to First Generation instances. + "pricingPlan": "A String", # The pricing plan for this instance. This can be either PER_USE or PACKAGE. Only PER_USE is supported for Second Generation instances. "settingsVersion": "A String", # The version of instance settings. This is a required field for update method to make sure concurrent updates are handled properly. During update, use the most recent settingsVersion value for this instance and do not try to update this value. - "locationPreference": { # Preferred location. This specifies where a Cloud SQL instance should preferably be located, either in a specific Compute Engine zone, or co-located with an App Engine application. Note that if the preferred location is not available, the instance will be located as close as possible within the region. Only one location may be specified. # The location preference settings. This allows the instance to be located as near as possible to either an App Engine app or GCE zone for better performance. + "storageAutoResize": True or False, # Configuration to increase storage size automatically. The default value is false. Applies only to Second Generation instances. + "locationPreference": { # Preferred location. This specifies where a Cloud SQL instance should preferably be located, either in a specific Compute Engine zone, or co-located with an App Engine application. Note that if the preferred location is not available, the instance will be located as close as possible within the region. Only one location may be specified. # The location preference settings. This allows the instance to be located as near as possible to either an App Engine app or GCE zone for better performance. App Engine co-location is only applicable to First Generation instances. "kind": "sql#locationPreference", # This is always sql#locationPreference. "zone": "A String", # The preferred Compute Engine zone (e.g. us-centra1-a, us-central1-b, etc.). "followGaeApplication": "A String", # The AppEngine application to follow, it must be in the same region as the Cloud SQL instance. }, - "dataDiskSizeGb": "A String", # The size of data disk, in GB. Only supported for 2nd Generation instances. The data disk size minimum is 10GB. + "dataDiskSizeGb": "A String", # The size of data disk, in GB. The data disk size minimum is 10GB. Applies only to Second Generation instances. + }, + "project": "A String", # The project ID of the project containing the Cloud SQL instance. The Google apps domain is prefixed if applicable. + "replicaConfiguration": { # Read-replica configuration for connecting to the master. # Configuration specific to read-replicas replicating from on-premises masters. + "kind": "sql#replicaConfiguration", # This is always sql#replicaConfiguration. + "failoverTarget": True or False, # Specifies if the replica is the failover target. If the field is set to true the replica will be designated as a failover replica. In case the master instance fails, the replica instance will be promoted as the new master instance. + # Only one replica can be specified as failover target, and the replica has to be in different zone with the master instance. + "mysqlReplicaConfiguration": { # Read-replica configuration specific to MySQL databases. # MySQL specific configuration when replicating from a MySQL on-premises master. Replication configuration information such as the username, password, certificates, and keys are not stored in the instance metadata. The configuration information is used only to set up the replication connection and is stored by MySQL in a file named master.info in the data directory. + "username": "A String", # The username for the replication connection. + "kind": "sql#mysqlReplicaConfiguration", # This is always sql#mysqlReplicaConfiguration. + "clientKey": "A String", # PEM representation of the slave's private key. The corresponsing public key is encoded in the client's certificate. + "sslCipher": "A String", # A list of permissible ciphers to use for SSL encryption. + "caCertificate": "A String", # PEM representation of the trusted CA's x509 certificate. + "clientCertificate": "A String", # PEM representation of the slave's x509 certificate. + "masterHeartbeatPeriod": "A String", # Interval in milliseconds between replication heartbeats. + "verifyServerCertificate": True or False, # Whether or not to check the master's Common Name value in the certificate that it sends during the SSL handshake. + "dumpFilePath": "A String", # Path to a SQL dump file in Google Cloud Storage from which the slave instance is to be created. The URI is in the form gs://bucketName/fileName. Compressed gzip files (.gz) are also supported. Dumps should have the binlog co-ordinates from which replication should begin. This can be accomplished by setting --master-data to 1 when using mysqldump. + "password": "A String", # The password for the replication connection. + "connectRetryInterval": 42, # Seconds to wait between connect retries. MySQL's default is 60 seconds. + }, }, - "instanceType": "A String", # The instance type. This can be one of the following. - # CLOUD_SQL_INSTANCE: A Cloud SQL instance that is not replicating from a master. - # ON_PREMISES_INSTANCE: An instance running on the customer's premises. - # READ_REPLICA_INSTANCE: A Cloud SQL instance configured as a read-replica. "selfLink": "A String", # The URI of this resource. - "maxDiskSize": "A String", # The maximum disk size of the instance in bytes. } @@ -1678,39 +1706,49 @@

Method Details

The object takes the form of: { # A Cloud SQL instance resource. - "onPremisesConfiguration": { # On-premises instance configuration. # Configuration specific to on-premises instances. - "kind": "sql#onPremisesConfiguration", # This is always sql#onPremisesConfiguration. - "hostPort": "A String", # The host and port of the on-premises instance in host:port format - }, - "kind": "sql#instance", # This is always sql#instance. - "failoverReplica": { # The name and status of the failover replica. Only applies to Second Generation instances. - "available": True or False, - "name": "A String", - }, - "ipv6Address": "A String", # The IPv6 address assigned to the instance. - "replicaConfiguration": { # Read-replica configuration for connecting to the master. # Configuration specific to read-replicas replicating from on-premises masters. - "kind": "sql#replicaConfiguration", # This is always sql#replicaConfiguration. - "failoverTarget": True or False, # Specifies if the replica is the failover target. If the field is set to true the replica will be designated as a failover replica. In case the master instance fails, the replica instance will be promoted as the new master instance. - # Only one replica can be specified as failover target, and the replica has to be in different zone with the master instance. - "mysqlReplicaConfiguration": { # Read-replica configuration specific to MySQL databases. # MySQL specific configuration when replicating from a MySQL on-premises master. Replication configuration information such as the username, password, certificates, and keys are not stored in the instance metadata. The configuration information is used only to set up the replication connection and is stored by MySQL in a file named master.info in the data directory. - "username": "A String", # The username for the replication connection. - "kind": "sql#mysqlReplicaConfiguration", # This is always sql#mysqlReplicaConfiguration. - "clientKey": "A String", # PEM representation of the slave's private key. The corresponsing public key is encoded in the client's certificate. - "sslCipher": "A String", # A list of permissible ciphers to use for SSL encryption. - "caCertificate": "A String", # PEM representation of the trusted CA's x509 certificate. - "clientCertificate": "A String", # PEM representation of the slave's x509 certificate. - "masterHeartbeatPeriod": "A String", # Interval in milliseconds between replication heartbeats. - "verifyServerCertificate": True or False, # Whether or not to check the master's Common Name value in the certificate that it sends during the SSL handshake. - "dumpFilePath": "A String", # Path to a SQL dump file in Google Cloud Storage from which the slave instance is to be created. The URI is in the form gs://bucketName/fileName. Compressed gzip files (.gz) are also supported. Dumps should have the binlog co-ordinates from which replication should begin. This can be accomplished by setting --master-data to 1 when using mysqldump. - "password": "A String", # The password for the replication connection. - "connectRetryInterval": 42, # Seconds to wait between connect retries. MySQL's default is 60 seconds. + "backendType": "A String", # FIRST_GEN: Basic Cloud SQL instance that runs in a Google-managed container. + # SECOND_GEN: A newer Cloud SQL backend that runs in a Compute Engine VM. + # EXTERNAL: A MySQL server that is not managed by Google. + "currentDiskSize": "A String", # The current disk usage of the instance in bytes. This property has been deprecated. Users should use the "cloudsql.googleapis.com/database/disk/bytes_used" metric in Cloud Monitoring API instead. Please see https://groups.google.com/d/msg/google-cloud-sql-announce/I_7-F9EBhT0/BtvFtdFeAgAJ for details. + "serviceAccountEmailAddress": "A String", # The service account email address assigned to the instance. This property is applicable only to Second Generation instances. + "ipAddresses": [ # The assigned IP addresses for the instance. + { # Database instance IP Mapping. + "timeToRetire": "A String", # The due time for this IP to be retired in RFC 3339 format, for example 2012-11-15T16:19:00.094Z. This field is only available when the IP is scheduled to be retired. + "ipAddress": "A String", # The IP address assigned. }, + ], + "databaseVersion": "A String", # The database engine type and version. The databaseVersion can not be changed after instance creation. Can be MYSQL_5_5, MYSQL_5_6 or MYSQL_5_7. Defaults to MYSQL_5_6. MYSQL_5_7 is applicable only to Second Generation instances. + "instanceType": "A String", # The instance type. This can be one of the following. + # CLOUD_SQL_INSTANCE: A Cloud SQL instance that is not replicating from a master. + # ON_PREMISES_INSTANCE: An instance running on the customer's premises. + # READ_REPLICA_INSTANCE: A Cloud SQL instance configured as a read-replica. + "maxDiskSize": "A String", # The maximum disk size of the instance in bytes. + "suspensionReason": [ # If the instance state is SUSPENDED, the reason for the suspension. + "A String", + ], + "masterInstanceName": "A String", # The name of the instance which will act as master in the replication setup. + "state": "A String", # The current serving state of the Cloud SQL instance. This can be one of the following. + # RUNNABLE: The instance is running, or is ready to run when accessed. + # SUSPENDED: The instance is not available, for example due to problems with billing. + # PENDING_CREATE: The instance is being created. + # MAINTENANCE: The instance is down for maintenance. + # FAILED: The instance creation failed. + # UNKNOWN_STATE: The state of the instance is unknown. + "etag": "A String", # HTTP 1.1 Entity tag for the resource. + "failoverReplica": { # The name and status of the failover replica. This property is applicable only to Second Generation instances. + "available": True or False, # The availability status of the failover replica. A false status indicates that the failover replica is out of sync. The master can only failover to the falover replica when the status is true. + "name": "A String", # The name of the failover replica. }, "replicaNames": [ # The replicas of the instance. "A String", ], - "project": "A String", # The project ID of the project containing the Cloud SQL instance. The Google apps domain is prefixed if applicable. - "region": "A String", # The geographical region. Can be us-central, asia-east1 or europe-west1. Defaults to us-central. The region can not be changed after instance creation. + "onPremisesConfiguration": { # On-premises instance configuration. # Configuration specific to on-premises instances. + "kind": "sql#onPremisesConfiguration", # This is always sql#onPremisesConfiguration. + "hostPort": "A String", # The host and port of the on-premises instance in host:port format + }, + "kind": "sql#instance", # This is always sql#instance. + "name": "A String", # Name of the Cloud SQL instance. This does not include the project ID. + "ipv6Address": "A String", # The IPv6 address assigned to the instance. This property is applicable only to First Generation instances. "serverCaCert": { # SslCerts Resource # SSL configuration. "certSerialNumber": "A String", # Serial number, as extracted from the certificate. "kind": "sql#sslCert", # This is always sql#sslCert. @@ -1722,25 +1760,7 @@

Method Details

"createTime": "A String", # The time when the certificate was created in RFC 3339 format, for example 2012-11-15T16:19:00.094Z "selfLink": "A String", # The URI of this resource. }, - "masterInstanceName": "A String", # The name of the instance which will act as master in the replication setup. - "name": "A String", # Name of the Cloud SQL instance. This does not include the project ID. - "currentDiskSize": "A String", # The current disk usage of the instance in bytes. - "state": "A String", # The current serving state of the Cloud SQL instance. This can be one of the following. - # RUNNABLE: The instance is running, or is ready to run when accessed. - # SUSPENDED: The instance is not available, for example due to problems with billing. - # PENDING_CREATE: The instance is being created. - # MAINTENANCE: The instance is down for maintenance. - # FAILED: The instance creation failed. - # UNKNOWN_STATE: The state of the instance is unknown. - "etag": "A String", # HTTP 1.1 Entity tag for the resource. - "serviceAccountEmailAddress": "A String", # The service account email address assigned to the instance. - "ipAddresses": [ # The assigned IP addresses for the instance. - { # Database instance IP Mapping. - "timeToRetire": "A String", # The due time for this IP to be retired in RFC 3339 format, for example 2012-11-15T16:19:00.094Z. This field is only available when the IP is scheduled to be retired. - "ipAddress": "A String", # The IP address assigned. - }, - ], - "databaseVersion": "A String", # The database engine type and version. Can be MYSQL_5_5 or MYSQL_5_6. Defaults to MYSQL_5_5. The databaseVersion can not be changed after instance creation. + "region": "A String", # The geographical region. Can be us-central (FIRST_GEN instances only), us-central1 (SECOND_GEN instances only), asia-east1 or europe-west1. Defaults to us-central or us-central1 depending on the instance type (First Generation or Second Generation). The region can not be changed after instance creation. "settings": { # Database instance settings. # The user settings. "databaseFlags": [ # The database flags passed to the instance at startup. { # MySQL flags for Cloud SQL instances. @@ -1749,27 +1769,27 @@

Method Details

}, ], "kind": "sql#settings", # This is always sql#settings. - "dataDiskType": "A String", # The type of data disk. Only supported for 2nd Generation instances. The default type is SSD. - "maintenanceWindow": { # Maintenance window. This specifies when a v2 Cloud SQL instance should preferably be restarted for system maintenance puruposes. # The maintenance window for this instance. This specifies when the instance may be restarted for maintenance purposes. + "dataDiskType": "A String", # The type of data disk. Only supported for Second Generation instances. The default type is PD_SSD. Applies only to Second Generation instances. + "maintenanceWindow": { # Maintenance window. This specifies when a v2 Cloud SQL instance should preferably be restarted for system maintenance puruposes. # The maintenance window for this instance. This specifies when the instance may be restarted for maintenance purposes. Applies only to Second Generation instances. "kind": "sql#maintenanceWindow", # This is always sql#maintenanceWindow. "updateTrack": "A String", "day": 42, # day of week (1-7), starting on Monday. "hour": 42, # hour of day - 0 to 23. }, - "authorizedGaeApplications": [ # The App Engine app IDs that can access this instance. + "authorizedGaeApplications": [ # The App Engine app IDs that can access this instance. This property is only applicable to First Generation instances. "A String", ], "activationPolicy": "A String", # The activation policy for this instance. This specifies when the instance should be activated and is applicable only when the instance state is RUNNABLE. This can be one of the following. # ALWAYS: The instance should always be active. # NEVER: The instance should never be activated. - # ON_DEMAND: The instance is activated upon receiving requests. + # ON_DEMAND: The instance is activated upon receiving requests; only applicable to First Generation instances. "backupConfiguration": { # Database instance backup configuration. # The daily backup configuration for the instance. "kind": "sql#backupConfiguration", # This is always sql#backupConfiguration. "enabled": True or False, # Whether this configuration is enabled. "startTime": "A String", # Start time for the daily backup configuration in UTC timezone in the 24 hour format - HH:MM. "binaryLogEnabled": True or False, # Whether binary log is enabled. If backup configuration is disabled, binary log must be disabled as well. }, - "ipConfiguration": { # IP Management configuration. # The settings for IP Management. This allows to enable or disable the instance IP and manage which external networks can connect to the instance. + "ipConfiguration": { # IP Management configuration. # The settings for IP Management. This allows to enable or disable the instance IP and manage which external networks can connect to the instance. The IPv4 address cannot be disabled for Second Generation instances. "requireSsl": True or False, # Whether the mysqld should default to 'REQUIRE X509' for users connecting over IP. "ipv4Enabled": True or False, # Whether the instance should be assigned an IP address or not. "authorizedNetworks": [ # The list of external networks that are allowed to connect to the instance using the IP. In CIDR notation, also known as 'slash' notation (e.g. 192.168.100.0/24). @@ -1783,23 +1803,38 @@

Method Details

}, "tier": "A String", # The tier of service for this instance, for example D1, D2. For more information, see pricing. "databaseReplicationEnabled": True or False, # Configuration specific to read replica instances. Indicates whether replication is enabled or not. - "replicationType": "A String", # The type of replication this instance uses. This can be either ASYNCHRONOUS or SYNCHRONOUS. - "crashSafeReplicationEnabled": True or False, # Configuration specific to read replica instances. Indicates whether database flags for crash-safe replication are enabled. - "pricingPlan": "A String", # The pricing plan for this instance. This can be either PER_USE or PACKAGE. + "replicationType": "A String", # The type of replication this instance uses. This can be either ASYNCHRONOUS or SYNCHRONOUS. This property is only applicable to First Generation instances. + "crashSafeReplicationEnabled": True or False, # Configuration specific to read replica instances. Indicates whether database flags for crash-safe replication are enabled. This property is only applicable to First Generation instances. + "pricingPlan": "A String", # The pricing plan for this instance. This can be either PER_USE or PACKAGE. Only PER_USE is supported for Second Generation instances. "settingsVersion": "A String", # The version of instance settings. This is a required field for update method to make sure concurrent updates are handled properly. During update, use the most recent settingsVersion value for this instance and do not try to update this value. - "locationPreference": { # Preferred location. This specifies where a Cloud SQL instance should preferably be located, either in a specific Compute Engine zone, or co-located with an App Engine application. Note that if the preferred location is not available, the instance will be located as close as possible within the region. Only one location may be specified. # The location preference settings. This allows the instance to be located as near as possible to either an App Engine app or GCE zone for better performance. + "storageAutoResize": True or False, # Configuration to increase storage size automatically. The default value is false. Applies only to Second Generation instances. + "locationPreference": { # Preferred location. This specifies where a Cloud SQL instance should preferably be located, either in a specific Compute Engine zone, or co-located with an App Engine application. Note that if the preferred location is not available, the instance will be located as close as possible within the region. Only one location may be specified. # The location preference settings. This allows the instance to be located as near as possible to either an App Engine app or GCE zone for better performance. App Engine co-location is only applicable to First Generation instances. "kind": "sql#locationPreference", # This is always sql#locationPreference. "zone": "A String", # The preferred Compute Engine zone (e.g. us-centra1-a, us-central1-b, etc.). "followGaeApplication": "A String", # The AppEngine application to follow, it must be in the same region as the Cloud SQL instance. }, - "dataDiskSizeGb": "A String", # The size of data disk, in GB. Only supported for 2nd Generation instances. The data disk size minimum is 10GB. + "dataDiskSizeGb": "A String", # The size of data disk, in GB. The data disk size minimum is 10GB. Applies only to Second Generation instances. + }, + "project": "A String", # The project ID of the project containing the Cloud SQL instance. The Google apps domain is prefixed if applicable. + "replicaConfiguration": { # Read-replica configuration for connecting to the master. # Configuration specific to read-replicas replicating from on-premises masters. + "kind": "sql#replicaConfiguration", # This is always sql#replicaConfiguration. + "failoverTarget": True or False, # Specifies if the replica is the failover target. If the field is set to true the replica will be designated as a failover replica. In case the master instance fails, the replica instance will be promoted as the new master instance. + # Only one replica can be specified as failover target, and the replica has to be in different zone with the master instance. + "mysqlReplicaConfiguration": { # Read-replica configuration specific to MySQL databases. # MySQL specific configuration when replicating from a MySQL on-premises master. Replication configuration information such as the username, password, certificates, and keys are not stored in the instance metadata. The configuration information is used only to set up the replication connection and is stored by MySQL in a file named master.info in the data directory. + "username": "A String", # The username for the replication connection. + "kind": "sql#mysqlReplicaConfiguration", # This is always sql#mysqlReplicaConfiguration. + "clientKey": "A String", # PEM representation of the slave's private key. The corresponsing public key is encoded in the client's certificate. + "sslCipher": "A String", # A list of permissible ciphers to use for SSL encryption. + "caCertificate": "A String", # PEM representation of the trusted CA's x509 certificate. + "clientCertificate": "A String", # PEM representation of the slave's x509 certificate. + "masterHeartbeatPeriod": "A String", # Interval in milliseconds between replication heartbeats. + "verifyServerCertificate": True or False, # Whether or not to check the master's Common Name value in the certificate that it sends during the SSL handshake. + "dumpFilePath": "A String", # Path to a SQL dump file in Google Cloud Storage from which the slave instance is to be created. The URI is in the form gs://bucketName/fileName. Compressed gzip files (.gz) are also supported. Dumps should have the binlog co-ordinates from which replication should begin. This can be accomplished by setting --master-data to 1 when using mysqldump. + "password": "A String", # The password for the replication connection. + "connectRetryInterval": 42, # Seconds to wait between connect retries. MySQL's default is 60 seconds. + }, }, - "instanceType": "A String", # The instance type. This can be one of the following. - # CLOUD_SQL_INSTANCE: A Cloud SQL instance that is not replicating from a master. - # ON_PREMISES_INSTANCE: An instance running on the customer's premises. - # READ_REPLICA_INSTANCE: A Cloud SQL instance configured as a read-replica. "selfLink": "A String", # The URI of this resource. - "maxDiskSize": "A String", # The maximum disk size of the instance in bytes. } diff --git a/docs/dyn/sqladmin_v1beta4.sslCerts.html b/docs/dyn/sqladmin_v1beta4.sslCerts.html index ec1385dab5b..491c950bd74 100644 --- a/docs/dyn/sqladmin_v1beta4.sslCerts.html +++ b/docs/dyn/sqladmin_v1beta4.sslCerts.html @@ -237,7 +237,7 @@

Method Details

{ # SslCert insert response. "kind": "sql#sslCertsInsert", # This is always sql#sslCertsInsert. - "clientCert": { # SslCertDetail. # The new client certificate and private key. The new certificate will not work until the instance is restarted. + "clientCert": { # SslCertDetail. # The new client certificate and private key. The new certificate will not work until the instance is restarted for First Generation instances. "certPrivateKey": "A String", # The private key for the client cert, in pem format. Keep private in order to protect your security. "certInfo": { # SslCerts Resource # The public information about the cert. "certSerialNumber": "A String", # Serial number, as extracted from the certificate. @@ -251,6 +251,63 @@

Method Details

"selfLink": "A String", # The URI of this resource. }, }, + "operation": { # An Operations resource contains information about database instance operations such as create, delete, and restart. Operations resources are created in response to operations that were initiated; you never create them directly. # The operation to track the ssl certs insert request. + "status": "A String", # The status of an operation. Valid values are PENDING, RUNNING, DONE, UNKNOWN. + "importContext": { # Database instance import context. # The context for import operation, if applicable. + "fileType": "A String", # The file type for the specified uri. + # SQL: The file contains SQL statements. + # CSV: The file contains CSV data. + "database": "A String", # The database (for example, guestbook) to which the import is made. If fileType is SQL and no database is specified, it is assumed that the database is specified in the file to be imported. If fileType is CSV, it must be specified. + "kind": "sql#importContext", # This is always sql#importContext. + "uri": "A String", # A path to the file in Google Cloud Storage from which the import is made. The URI is in the form gs://bucketName/fileName. Compressed gzip files (.gz) are supported when fileType is SQL. + "csvImportOptions": { # Options for importing data as CSV. + "table": "A String", # The table to which CSV data is imported. + "columns": [ # The columns to which CSV data is imported. If not specified, all columns of the database table are loaded with CSV data. + "A String", + ], + }, + }, + "kind": "sql#operation", # This is always sql#operation. + "name": "A String", # An identifier that uniquely identifies the operation. You can use this identifier to retrieve the Operations resource that has information about the operation. + "exportContext": { # Database instance export context. # The context for export operation, if applicable. + "kind": "sql#exportContext", # This is always sql#exportContext. + "fileType": "A String", # The file type for the specified uri. + # SQL: The file contains SQL statements. + # CSV: The file contains CSV data. + "uri": "A String", # The path to the file in Google Cloud Storage where the export will be stored. The URI is in the form gs://bucketName/fileName. If the file already exists, the operation fails. If fileType is SQL and the filename ends with .gz, the contents are compressed. + "csvExportOptions": { # Options for exporting data as CSV. + "selectQuery": "A String", # The select query used to extract the data. + }, + "databases": [ # Databases (for example, guestbook) from which the export is made. If fileType is SQL and no database is specified, all databases are exported. If fileType is CSV, you can optionally specify at most one database to export. If csvExportOptions.selectQuery also specifies the database, this field will be ignored. + "A String", + ], + "sqlExportOptions": { # Options for exporting data as SQL statements. + "tables": [ # Tables to export, or that were exported, from the specified database. If you specify tables, specify one and only one database. + "A String", + ], + "schemaOnly": True or False, # Export only schemas. + }, + }, + "startTime": "A String", # The time this operation actually started in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z. + "targetProject": "A String", # The project ID of the target instance related to this operation. + "targetId": "A String", # Name of the database instance related to this operation. + "operationType": "A String", # The type of the operation. Valid values are CREATE, DELETE, UPDATE, RESTART, IMPORT, EXPORT, BACKUP_VOLUME, RESTORE_VOLUME, CREATE_USER, DELETE_USER, CREATE_DATABASE, DELETE_DATABASE . + "targetLink": "A String", # The URI of the instance related to the operation. + "insertTime": "A String", # The time this operation was enqueued in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z. + "error": { # Database instance operation errors list wrapper. # If errors occurred during processing of this operation, this field will be populated. + "kind": "sql#operationErrors", # This is always sql#operationErrors. + "errors": [ # The list of errors encountered while processing this operation. + { # Database instance operation error. + "kind": "sql#operationError", # This is always sql#operationError. + "code": "A String", # Identifies the specific error that occurred. + "message": "A String", # Additional information about the error encountered. + }, + ], + }, + "endTime": "A String", # The time this operation finished in UTC timezone in RFC 3339 format, for example 2012-11-15T16:19:00.094Z. + "selfLink": "A String", # The URI of this resource. + "user": "A String", # The email address of the user who initiated this operation. + }, "serverCaCert": { # SslCerts Resource # The server Certificate Authority's certificate. If this is missing you can force a new one to be generated by calling resetSslConfig method on instances resource. "certSerialNumber": "A String", # Serial number, as extracted from the certificate. "kind": "sql#sslCert", # This is always sql#sslCert. diff --git a/docs/dyn/sqladmin_v1beta4.users.html b/docs/dyn/sqladmin_v1beta4.users.html index 1a676d61247..3cc92ce95ae 100644 --- a/docs/dyn/sqladmin_v1beta4.users.html +++ b/docs/dyn/sqladmin_v1beta4.users.html @@ -174,7 +174,7 @@

Method Details

"name": "A String", # The name of the user in the Cloud SQL instance. Can be omitted for update since it is already specified on the URL. "project": "A String", # The project ID of the project containing the Cloud SQL database. The Google apps domain is prefixed if applicable. Can be omitted for update since it is already specified on the URL. "instance": "A String", # The name of the Cloud SQL instance. This does not include the project ID. Can be omitted for update since it is already specified on the URL. - "host": "A String", # The host name from which the user can connect. For insert operations, host defaults to an empty string. For update operations, host is specified as part of the request URL. The host name is not mutable with this API. + "host": "A String", # The host name from which the user can connect. For insert operations, host defaults to an empty string. For update operations, host is specified as part of the request URL. The host name cannot be updated after insertion. "etag": "A String", # HTTP 1.1 Entity tag for the resource. "password": "A String", # The password for the user. } @@ -261,7 +261,7 @@

Method Details

"name": "A String", # The name of the user in the Cloud SQL instance. Can be omitted for update since it is already specified on the URL. "project": "A String", # The project ID of the project containing the Cloud SQL database. The Google apps domain is prefixed if applicable. Can be omitted for update since it is already specified on the URL. "instance": "A String", # The name of the Cloud SQL instance. This does not include the project ID. Can be omitted for update since it is already specified on the URL. - "host": "A String", # The host name from which the user can connect. For insert operations, host defaults to an empty string. For update operations, host is specified as part of the request URL. The host name is not mutable with this API. + "host": "A String", # The host name from which the user can connect. For insert operations, host defaults to an empty string. For update operations, host is specified as part of the request URL. The host name cannot be updated after insertion. "etag": "A String", # HTTP 1.1 Entity tag for the resource. "password": "A String", # The password for the user. }, @@ -287,7 +287,7 @@

Method Details

"name": "A String", # The name of the user in the Cloud SQL instance. Can be omitted for update since it is already specified on the URL. "project": "A String", # The project ID of the project containing the Cloud SQL database. The Google apps domain is prefixed if applicable. Can be omitted for update since it is already specified on the URL. "instance": "A String", # The name of the Cloud SQL instance. This does not include the project ID. Can be omitted for update since it is already specified on the URL. - "host": "A String", # The host name from which the user can connect. For insert operations, host defaults to an empty string. For update operations, host is specified as part of the request URL. The host name is not mutable with this API. + "host": "A String", # The host name from which the user can connect. For insert operations, host defaults to an empty string. For update operations, host is specified as part of the request URL. The host name cannot be updated after insertion. "etag": "A String", # HTTP 1.1 Entity tag for the resource. "password": "A String", # The password for the user. } diff --git a/docs/dyn/storage_v1.buckets.html b/docs/dyn/storage_v1.buckets.html index f117eef7a34..117a581ffad 100644 --- a/docs/dyn/storage_v1.buckets.html +++ b/docs/dyn/storage_v1.buckets.html @@ -116,7 +116,7 @@

Method Details

projection: string, Set of properties to return. Defaults to noAcl. Allowed values full - Include all properties. - noAcl - Omit acl and defaultObjectAcl properties. + noAcl - Omit owner, acl and defaultObjectAcl properties. ifMetagenerationMatch: string, Makes the return of the bucket metadata conditional on whether the bucket's current metageneration matches the given value. ifMetagenerationNotMatch: string, Makes the return of the bucket metadata conditional on whether the bucket's current metageneration does not match the given value. @@ -372,7 +372,7 @@

Method Details

projection: string, Set of properties to return. Defaults to noAcl, unless the bucket resource specifies acl or defaultObjectAcl properties, when it defaults to full. Allowed values full - Include all properties. - noAcl - Omit acl and defaultObjectAcl properties. + noAcl - Omit owner, acl and defaultObjectAcl properties. predefinedDefaultObjectAcl: string, Apply a predefined set of default object access controls to this bucket. Allowed values authenticatedRead - Object owner gets OWNER access, and allAuthenticatedUsers get READER access. @@ -520,7 +520,7 @@

Method Details

projection: string, Set of properties to return. Defaults to noAcl. Allowed values full - Include all properties. - noAcl - Omit acl and defaultObjectAcl properties. + noAcl - Omit owner, acl and defaultObjectAcl properties. pageToken: string, A previously-returned page token representing part of the larger set of results to view. prefix: string, Filter results to buckets whose names begin with this prefix. maxResults: integer, Maximum number of buckets to return. @@ -797,7 +797,7 @@

Method Details

projection: string, Set of properties to return. Defaults to full. Allowed values full - Include all properties. - noAcl - Omit acl and defaultObjectAcl properties. + noAcl - Omit owner, acl and defaultObjectAcl properties. ifMetagenerationMatch: string, Makes the return of the bucket metadata conditional on whether the bucket's current metageneration matches the given value. predefinedDefaultObjectAcl: string, Apply a predefined set of default object access controls to this bucket. Allowed values @@ -1068,7 +1068,7 @@

Method Details

projection: string, Set of properties to return. Defaults to full. Allowed values full - Include all properties. - noAcl - Omit acl and defaultObjectAcl properties. + noAcl - Omit owner, acl and defaultObjectAcl properties. ifMetagenerationMatch: string, Makes the return of the bucket metadata conditional on whether the bucket's current metageneration matches the given value. predefinedDefaultObjectAcl: string, Apply a predefined set of default object access controls to this bucket. Allowed values diff --git a/docs/dyn/storage_v1.objects.html b/docs/dyn/storage_v1.objects.html index 63297ad79f3..98d61169d96 100644 --- a/docs/dyn/storage_v1.objects.html +++ b/docs/dyn/storage_v1.objects.html @@ -186,7 +186,7 @@

Method Details

"a_key": "A String", # An individual metadata entry. }, "updated": "A String", # The modification time of the object metadata in RFC 3339 format. - "contentType": "A String", # Content-Type of the object data. + "contentType": "A String", # Content-Type of the object data. If contentType is not specified, object downloads will be served as application/octet-stream. "contentLanguage": "A String", # Content-Language of the object data. "customerEncryption": { # Metadata of customer-supplied encryption key, if the object is encrypted by such a key. "encryptionAlgorithm": "A String", # The encryption algorithm. @@ -277,7 +277,7 @@

Method Details

"a_key": "A String", # An individual metadata entry. }, "updated": "A String", # The modification time of the object metadata in RFC 3339 format. - "contentType": "A String", # Content-Type of the object data. + "contentType": "A String", # Content-Type of the object data. If contentType is not specified, object downloads will be served as application/octet-stream. "contentLanguage": "A String", # Content-Language of the object data. "customerEncryption": { # Metadata of customer-supplied encryption key, if the object is encrypted by such a key. "encryptionAlgorithm": "A String", # The encryption algorithm. @@ -357,7 +357,7 @@

Method Details

"a_key": "A String", # An individual metadata entry. }, "updated": "A String", # The modification time of the object metadata in RFC 3339 format. - "contentType": "A String", # Content-Type of the object data. + "contentType": "A String", # Content-Type of the object data. If contentType is not specified, object downloads will be served as application/octet-stream. "contentLanguage": "A String", # Content-Language of the object data. "customerEncryption": { # Metadata of customer-supplied encryption key, if the object is encrypted by such a key. "encryptionAlgorithm": "A String", # The encryption algorithm. @@ -463,7 +463,7 @@

Method Details

"a_key": "A String", # An individual metadata entry. }, "updated": "A String", # The modification time of the object metadata in RFC 3339 format. - "contentType": "A String", # Content-Type of the object data. + "contentType": "A String", # Content-Type of the object data. If contentType is not specified, object downloads will be served as application/octet-stream. "contentLanguage": "A String", # Content-Language of the object data. "customerEncryption": { # Metadata of customer-supplied encryption key, if the object is encrypted by such a key. "encryptionAlgorithm": "A String", # The encryption algorithm. @@ -482,7 +482,7 @@

Method Details

projection: string, Set of properties to return. Defaults to noAcl, unless the object resource specifies the acl property, when it defaults to full. Allowed values full - Include all properties. - noAcl - Omit the acl property. + noAcl - Omit the owner, acl property. sourceGeneration: string, If present, selects a specific revision of the source object (as opposed to the latest version, the default). ifSourceGenerationNotMatch: string, Makes the operation conditional on whether the source object's generation does not match the given value. ifSourceMetagenerationNotMatch: string, Makes the operation conditional on whether the source object's current metageneration does not match the given value. @@ -555,7 +555,7 @@

Method Details

"a_key": "A String", # An individual metadata entry. }, "updated": "A String", # The modification time of the object metadata in RFC 3339 format. - "contentType": "A String", # Content-Type of the object data. + "contentType": "A String", # Content-Type of the object data. If contentType is not specified, object downloads will be served as application/octet-stream. "contentLanguage": "A String", # Content-Language of the object data. "customerEncryption": { # Metadata of customer-supplied encryption key, if the object is encrypted by such a key. "encryptionAlgorithm": "A String", # The encryption algorithm. @@ -635,7 +635,7 @@

Method Details

"a_key": "A String", # An individual metadata entry. }, "updated": "A String", # The modification time of the object metadata in RFC 3339 format. - "contentType": "A String", # Content-Type of the object data. + "contentType": "A String", # Content-Type of the object data. If contentType is not specified, object downloads will be served as application/octet-stream. "contentLanguage": "A String", # Content-Language of the object data. "customerEncryption": { # Metadata of customer-supplied encryption key, if the object is encrypted by such a key. "encryptionAlgorithm": "A String", # The encryption algorithm. @@ -654,7 +654,7 @@

Method Details

projection: string, Set of properties to return. Defaults to noAcl, unless the object resource specifies the acl property, when it defaults to full. Allowed values full - Include all properties. - noAcl - Omit the acl property. + noAcl - Omit the owner, acl property. sourceGeneration: string, If present, selects a specific revision of the source object (as opposed to the latest version, the default). ifSourceGenerationNotMatch: string, Makes the operation conditional on whether the source object's generation does not match the given value. ifSourceMetagenerationNotMatch: string, Makes the operation conditional on whether the source object's current metageneration does not match the given value. @@ -709,7 +709,7 @@

Method Details

projection: string, Set of properties to return. Defaults to noAcl. Allowed values full - Include all properties. - noAcl - Omit the acl property. + noAcl - Omit the owner, acl property. Returns: An object of the form: @@ -765,7 +765,7 @@

Method Details

"a_key": "A String", # An individual metadata entry. }, "updated": "A String", # The modification time of the object metadata in RFC 3339 format. - "contentType": "A String", # Content-Type of the object data. + "contentType": "A String", # Content-Type of the object data. If contentType is not specified, object downloads will be served as application/octet-stream. "contentLanguage": "A String", # Content-Language of the object data. "customerEncryption": { # Metadata of customer-supplied encryption key, if the object is encrypted by such a key. "encryptionAlgorithm": "A String", # The encryption algorithm. @@ -797,7 +797,7 @@

Method Details

projection: string, Set of properties to return. Defaults to noAcl. Allowed values full - Include all properties. - noAcl - Omit the acl property. + noAcl - Omit the owner, acl property. Returns: The media object as a string. @@ -865,7 +865,7 @@

Method Details

"a_key": "A String", # An individual metadata entry. }, "updated": "A String", # The modification time of the object metadata in RFC 3339 format. - "contentType": "A String", # Content-Type of the object data. + "contentType": "A String", # Content-Type of the object data. If contentType is not specified, object downloads will be served as application/octet-stream. "contentLanguage": "A String", # Content-Language of the object data. "customerEncryption": { # Metadata of customer-supplied encryption key, if the object is encrypted by such a key. "encryptionAlgorithm": "A String", # The encryption algorithm. @@ -884,7 +884,7 @@

Method Details

projection: string, Set of properties to return. Defaults to noAcl, unless the object resource specifies the acl property, when it defaults to full. Allowed values full - Include all properties. - noAcl - Omit the acl property. + noAcl - Omit the owner, acl property. media_body: string, The filename of the media request body, or an instance of a MediaUpload object. predefinedAcl: string, Apply a predefined set of access controls to this object. Allowed values @@ -955,7 +955,7 @@

Method Details

"a_key": "A String", # An individual metadata entry. }, "updated": "A String", # The modification time of the object metadata in RFC 3339 format. - "contentType": "A String", # Content-Type of the object data. + "contentType": "A String", # Content-Type of the object data. If contentType is not specified, object downloads will be served as application/octet-stream. "contentLanguage": "A String", # Content-Language of the object data. "customerEncryption": { # Metadata of customer-supplied encryption key, if the object is encrypted by such a key. "encryptionAlgorithm": "A String", # The encryption algorithm. @@ -1032,7 +1032,7 @@

Method Details

"a_key": "A String", # An individual metadata entry. }, "updated": "A String", # The modification time of the object metadata in RFC 3339 format. - "contentType": "A String", # Content-Type of the object data. + "contentType": "A String", # Content-Type of the object data. If contentType is not specified, object downloads will be served as application/octet-stream. "contentLanguage": "A String", # Content-Language of the object data. "customerEncryption": { # Metadata of customer-supplied encryption key, if the object is encrypted by such a key. "encryptionAlgorithm": "A String", # The encryption algorithm. @@ -1051,7 +1051,7 @@

Method Details

projection: string, Set of properties to return. Defaults to noAcl, unless the object resource specifies the acl property, when it defaults to full. Allowed values full - Include all properties. - noAcl - Omit the acl property. + noAcl - Omit the owner, acl property. media_body: string, The filename of the media request body, or an instance of a MediaUpload object. predefinedAcl: string, Apply a predefined set of access controls to this object. Allowed values @@ -1083,7 +1083,7 @@

Method Details

projection: string, Set of properties to return. Defaults to noAcl. Allowed values full - Include all properties. - noAcl - Omit the acl property. + noAcl - Omit the owner, acl property. versions: boolean, If true, lists all versions of an object as distinct results. The default is false. For more information, see Object Versioning. delimiter: string, Returns results in a directory-like mode. items will contain only objects whose names, aside from the prefix, do not contain delimiter. Objects whose names, aside from the prefix, contain delimiter will have their name, truncated after the delimiter, returned in prefixes. Duplicate prefixes are omitted. maxResults: integer, Maximum number of items plus prefixes to return. As duplicate prefixes are omitted, fewer total results may be returned than requested. The default value of this parameter is 1,000 items. @@ -1147,7 +1147,7 @@

Method Details

"a_key": "A String", # An individual metadata entry. }, "updated": "A String", # The modification time of the object metadata in RFC 3339 format. - "contentType": "A String", # Content-Type of the object data. + "contentType": "A String", # Content-Type of the object data. If contentType is not specified, object downloads will be served as application/octet-stream. "contentLanguage": "A String", # Content-Language of the object data. "customerEncryption": { # Metadata of customer-supplied encryption key, if the object is encrypted by such a key. "encryptionAlgorithm": "A String", # The encryption algorithm. @@ -1245,7 +1245,7 @@

Method Details

"a_key": "A String", # An individual metadata entry. }, "updated": "A String", # The modification time of the object metadata in RFC 3339 format. - "contentType": "A String", # Content-Type of the object data. + "contentType": "A String", # Content-Type of the object data. If contentType is not specified, object downloads will be served as application/octet-stream. "contentLanguage": "A String", # Content-Language of the object data. "customerEncryption": { # Metadata of customer-supplied encryption key, if the object is encrypted by such a key. "encryptionAlgorithm": "A String", # The encryption algorithm. @@ -1277,7 +1277,7 @@

Method Details

projection: string, Set of properties to return. Defaults to full. Allowed values full - Include all properties. - noAcl - Omit the acl property. + noAcl - Omit the owner, acl property. Returns: An object of the form: @@ -1333,7 +1333,7 @@

Method Details

"a_key": "A String", # An individual metadata entry. }, "updated": "A String", # The modification time of the object metadata in RFC 3339 format. - "contentType": "A String", # Content-Type of the object data. + "contentType": "A String", # Content-Type of the object data. If contentType is not specified, object downloads will be served as application/octet-stream. "contentLanguage": "A String", # Content-Language of the object data. "customerEncryption": { # Metadata of customer-supplied encryption key, if the object is encrypted by such a key. "encryptionAlgorithm": "A String", # The encryption algorithm. @@ -1413,7 +1413,7 @@

Method Details

"a_key": "A String", # An individual metadata entry. }, "updated": "A String", # The modification time of the object metadata in RFC 3339 format. - "contentType": "A String", # Content-Type of the object data. + "contentType": "A String", # Content-Type of the object data. If contentType is not specified, object downloads will be served as application/octet-stream. "contentLanguage": "A String", # Content-Language of the object data. "customerEncryption": { # Metadata of customer-supplied encryption key, if the object is encrypted by such a key. "encryptionAlgorithm": "A String", # The encryption algorithm. @@ -1432,7 +1432,7 @@

Method Details

projection: string, Set of properties to return. Defaults to noAcl, unless the object resource specifies the acl property, when it defaults to full. Allowed values full - Include all properties. - noAcl - Omit the acl property. + noAcl - Omit the owner, acl property. sourceGeneration: string, If present, selects a specific revision of the source object (as opposed to the latest version, the default). maxBytesRewrittenPerCall: string, The maximum number of bytes that will be rewritten per rewrite request. Most callers shouldn't need to specify this parameter - it is primarily in place to support testing. If specified the value must be an integral multiple of 1 MiB (1048576). Also, this only applies to requests where the source and destination span locations and/or storage classes. Finally, this value must not change across rewrite calls else you'll get an error that the rewriteToken is invalid. ifSourceGenerationNotMatch: string, Makes the operation conditional on whether the source object's generation does not match the given value. @@ -1510,7 +1510,7 @@

Method Details

"a_key": "A String", # An individual metadata entry. }, "updated": "A String", # The modification time of the object metadata in RFC 3339 format. - "contentType": "A String", # Content-Type of the object data. + "contentType": "A String", # Content-Type of the object data. If contentType is not specified, object downloads will be served as application/octet-stream. "contentLanguage": "A String", # Content-Language of the object data. "customerEncryption": { # Metadata of customer-supplied encryption key, if the object is encrypted by such a key. "encryptionAlgorithm": "A String", # The encryption algorithm. @@ -1592,7 +1592,7 @@

Method Details

"a_key": "A String", # An individual metadata entry. }, "updated": "A String", # The modification time of the object metadata in RFC 3339 format. - "contentType": "A String", # Content-Type of the object data. + "contentType": "A String", # Content-Type of the object data. If contentType is not specified, object downloads will be served as application/octet-stream. "contentLanguage": "A String", # Content-Language of the object data. "customerEncryption": { # Metadata of customer-supplied encryption key, if the object is encrypted by such a key. "encryptionAlgorithm": "A String", # The encryption algorithm. @@ -1624,7 +1624,7 @@

Method Details

projection: string, Set of properties to return. Defaults to full. Allowed values full - Include all properties. - noAcl - Omit the acl property. + noAcl - Omit the owner, acl property. Returns: An object of the form: @@ -1680,7 +1680,7 @@

Method Details

"a_key": "A String", # An individual metadata entry. }, "updated": "A String", # The modification time of the object metadata in RFC 3339 format. - "contentType": "A String", # Content-Type of the object data. + "contentType": "A String", # Content-Type of the object data. If contentType is not specified, object downloads will be served as application/octet-stream. "contentLanguage": "A String", # Content-Language of the object data. "customerEncryption": { # Metadata of customer-supplied encryption key, if the object is encrypted by such a key. "encryptionAlgorithm": "A String", # The encryption algorithm. @@ -1758,7 +1758,7 @@

Method Details

"a_key": "A String", # An individual metadata entry. }, "updated": "A String", # The modification time of the object metadata in RFC 3339 format. - "contentType": "A String", # Content-Type of the object data. + "contentType": "A String", # Content-Type of the object data. If contentType is not specified, object downloads will be served as application/octet-stream. "contentLanguage": "A String", # Content-Language of the object data. "customerEncryption": { # Metadata of customer-supplied encryption key, if the object is encrypted by such a key. "encryptionAlgorithm": "A String", # The encryption algorithm. @@ -1790,7 +1790,7 @@

Method Details

projection: string, Set of properties to return. Defaults to full. Allowed values full - Include all properties. - noAcl - Omit the acl property. + noAcl - Omit the owner, acl property. Returns: The media object as a string. @@ -1825,7 +1825,7 @@

Method Details

projection: string, Set of properties to return. Defaults to noAcl. Allowed values full - Include all properties. - noAcl - Omit the acl property. + noAcl - Omit the owner, acl property. versions: boolean, If true, lists all versions of an object as distinct results. The default is false. For more information, see Object Versioning. delimiter: string, Returns results in a directory-like mode. items will contain only objects whose names, aside from the prefix, do not contain delimiter. Objects whose names, aside from the prefix, contain delimiter will have their name, truncated after the delimiter, returned in prefixes. Duplicate prefixes are omitted. maxResults: integer, Maximum number of items plus prefixes to return. As duplicate prefixes are omitted, fewer total results may be returned than requested. The default value of this parameter is 1,000 items. diff --git a/docs/dyn/toolresults_v1beta3.html b/docs/dyn/toolresults_v1beta3.html new file mode 100644 index 00000000000..6f61ab7c198 --- /dev/null +++ b/docs/dyn/toolresults_v1beta3.html @@ -0,0 +1,103 @@ + + + +

Cloud Tool Results API

+

Instance Methods

+

+ projects() +

+

Returns the projects Resource.

+ +

+ new_batch_http_request()

+

Create a BatchHttpRequest object based on the discovery document.

+

Method Details

+
+ new_batch_http_request() +
Create a BatchHttpRequest object based on the discovery document.
+
+        Args:
+          callback: callable, A callback to be called for each response, of the
+            form callback(id, response, exception). The first parameter is the
+            request id, and the second is the deserialized response object. The
+            third is an apiclient.errors.HttpError exception object if an HTTP
+            error occurred while processing the request, or None if no error
+            occurred.
+
+        Returns:
+          A BatchHttpRequest object based on the discovery document.
+        
+
+ + \ No newline at end of file diff --git a/docs/dyn/toolresults_v1beta3.projects.histories.executions.html b/docs/dyn/toolresults_v1beta3.projects.histories.executions.html new file mode 100644 index 00000000000..4dcb0ca376b --- /dev/null +++ b/docs/dyn/toolresults_v1beta3.projects.histories.executions.html @@ -0,0 +1,1095 @@ + + + +

Cloud Tool Results API . projects . histories . executions

+

Instance Methods

+

+ steps() +

+

Returns the steps Resource.

+ +

+ create(projectId=None, historyId=None, body, requestId=None)

+

Creates an Execution.

+

+ get(projectId=None, historyId=None, executionId=None)

+

Gets an Execution.

+

+ list(projectId=None, historyId=None, pageToken=None, pageSize=None)

+

Lists Histories for a given Project.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

+ patch(projectId, historyId, executionId, body, requestId=None)

+

Updates an existing Execution with the supplied partial entity.

+

Method Details

+
+ create(projectId=None, historyId=None, body, requestId=None) +
Creates an Execution.
+
+The returned Execution will have the id set.
+
+May return any of the following canonical error codes:
+
+- PERMISSION_DENIED - if the user is not authorized to write to project - INVALID_ARGUMENT - if the request is malformed - NOT_FOUND - if the containing History does not exist
+
+Args:
+  projectId: string, A Project id.
+
+Required. (required)
+  historyId: string, A History id.
+
+Required. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # An Execution represents a collection of Steps. For instance, it could represent: - a mobile test executed across a range of device configurations - a jenkins job with a build step followed by a test step
+      # 
+      # The maximum size of an execution message is 1 MiB.
+      # 
+      # An Execution can be updated until its state is set to COMPLETE at which point it becomes immutable.
+    "testExecutionMatrixId": "A String", # TestExecution Matrix ID that the Test Service uses.
+        # 
+        # - In response: present if set by create - In create: optional - In update: never set
+    "creationTime": { # A Timestamp represents a point in time independent of any time zone or calendar, represented as seconds and fractions of seconds at nanosecond resolution in UTC Epoch time. It is encoded using the Proleptic Gregorian Calendar which extends the Gregorian calendar backwards to year one. It is encoded assuming all minutes are 60 seconds long, i.e. leap seconds are "smeared" so that no leap second table is needed for interpretation. Range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to and from RFC 3339 date strings. See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). # The time when the Execution was created.
+        # 
+        # This value will be set automatically when CreateExecution is called.
+        # 
+        # - In response: always set - In create/update request: never set
+        #
+        # Example 1: Compute Timestamp from POSIX `time()`.
+        #
+        # Timestamp timestamp; timestamp.set_seconds(time(NULL)); timestamp.set_nanos(0);
+        #
+        # Example 2: Compute Timestamp from POSIX `gettimeofday()`.
+        #
+        # struct timeval tv; gettimeofday(&tv, NULL);
+        #
+        # Timestamp timestamp; timestamp.set_seconds(tv.tv_sec); timestamp.set_nanos(tv.tv_usec * 1000);
+        #
+        # Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
+        #
+        # FILETIME ft; GetSystemTimeAsFileTime(&ft); UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
+        #
+        # // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. Timestamp timestamp; timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
+        #
+        # Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
+        #
+        # long millis = System.currentTimeMillis();
+        #
+        # Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) .setNanos((int) ((millis % 1000) * 1000000)).build();
+        #
+        #
+        #
+        # Example 5: Compute Timestamp from current time in Python.
+        #
+        # now = time.time() seconds = int(now) nanos = int((now - seconds) * 10**9) timestamp = Timestamp(seconds=seconds, nanos=nanos)
+      "nanos": 42, # Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive.
+      "seconds": "A String", # Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
+    },
+    "state": "A String", # The initial state is IN_PROGRESS.
+        # 
+        # The only legal state transitions is from IN_PROGRESS to COMPLETE.
+        # 
+        # A PRECONDITION_FAILED will be returned if an invalid transition is requested.
+        # 
+        # The state can only be set to COMPLETE once. A FAILED_PRECONDITION will be returned if the state is set to COMPLETE multiple times.
+        # 
+        # If the state is set to COMPLETE, all the in-progress steps within the execution will be set as COMPLETE. If the outcome of the step is not set, the outcome will be set to INCONCLUSIVE.
+        # 
+        # - In response always set - In create/update request: optional
+    "executionId": "A String", # A unique identifier within a History for this Execution.
+        # 
+        # Returns INVALID_ARGUMENT if this field is set or overwritten by the caller.
+        # 
+        # - In response always set - In create/update request: never set
+    "completionTime": { # A Timestamp represents a point in time independent of any time zone or calendar, represented as seconds and fractions of seconds at nanosecond resolution in UTC Epoch time. It is encoded using the Proleptic Gregorian Calendar which extends the Gregorian calendar backwards to year one. It is encoded assuming all minutes are 60 seconds long, i.e. leap seconds are "smeared" so that no leap second table is needed for interpretation. Range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to and from RFC 3339 date strings. See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). # The time when the Execution status transitioned to COMPLETE.
+        # 
+        # This value will be set automatically when state transitions to COMPLETE.
+        # 
+        # - In response: set if the execution state is COMPLETE. - In create/update request: never set
+        #
+        # Example 1: Compute Timestamp from POSIX `time()`.
+        #
+        # Timestamp timestamp; timestamp.set_seconds(time(NULL)); timestamp.set_nanos(0);
+        #
+        # Example 2: Compute Timestamp from POSIX `gettimeofday()`.
+        #
+        # struct timeval tv; gettimeofday(&tv, NULL);
+        #
+        # Timestamp timestamp; timestamp.set_seconds(tv.tv_sec); timestamp.set_nanos(tv.tv_usec * 1000);
+        #
+        # Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
+        #
+        # FILETIME ft; GetSystemTimeAsFileTime(&ft); UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
+        #
+        # // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. Timestamp timestamp; timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
+        #
+        # Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
+        #
+        # long millis = System.currentTimeMillis();
+        #
+        # Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) .setNanos((int) ((millis % 1000) * 1000000)).build();
+        #
+        #
+        #
+        # Example 5: Compute Timestamp from current time in Python.
+        #
+        # now = time.time() seconds = int(now) nanos = int((now - seconds) * 10**9) timestamp = Timestamp(seconds=seconds, nanos=nanos)
+      "nanos": 42, # Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive.
+      "seconds": "A String", # Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
+    },
+    "outcome": { # Interprets a result so that humans and machines can act on it. # Classify the result, for example into SUCCESS or FAILURE
+        # 
+        # - In response: present if set by create/update request - In create/update request: optional
+      "inconclusiveDetail": { # More information about an INCONCLUSIVE outcome.
+          #
+          # Returns INVALID_ARGUMENT if this field is set but the summary is not INCONCLUSIVE.
+          #
+          # Optional
+        "infrastructureFailure": True or False, # If the test runner could not determine success or failure because the test depends on a component other than the system under test which failed.
+            #
+            # For example, a mobile test requires provisioning a device where the test executes, and that provisioning can fail.
+        "nativeCrash": True or False, # A native process crashed on the device, producing a tombstone. It is unclear whether the crash was related to the app under test.
+            #
+            # For example, OpenGL crashed, but it is unclear if the app is responsible.
+        "abortedByUser": True or False, # If the end user aborted the test execution before a pass or fail could be determined. For example, the user pressed ctrl-c which sent a kill signal to the test runner while the test was running.
+      },
+      "skippedDetail": { # More information about a SKIPPED outcome.
+          #
+          # Returns INVALID_ARGUMENT if this field is set but the summary is not SKIPPED.
+          #
+          # Optional
+        "incompatibleAppVersion": True or False, # If the App doesn't support the specific API level.
+        "incompatibleArchitecture": True or False, # If the App doesn't run on the specific architecture, for example, x86.
+        "incompatibleDevice": True or False, # If the requested OS version doesn't run on the specific device model.
+      },
+      "successDetail": { # More information about a SUCCESS outcome.
+          #
+          # Returns INVALID_ARGUMENT if this field is set but the summary is not SUCCESS.
+          #
+          # Optional
+        "otherNativeCrash": True or False, # If a native process other than the app crashed.
+      },
+      "failureDetail": { # More information about a FAILURE outcome.
+          #
+          # Returns INVALID_ARGUMENT if this field is set but the summary is not FAILURE.
+          #
+          # Optional
+        "otherNativeCrash": True or False, # If a native process other than the app crashed.
+        "crashed": True or False, # If the failure was severe because the system under test crashed.
+        "unableToCrawl": True or False, # If the robo was unable to crawl the app; perhaps because the app did not start.
+        "notInstalled": True or False, # If an app is not installed and thus no test can be run with the app. This might be caused by trying to run a test on an unsupported platform.
+        "timedOut": True or False, # If the test overran some time limit, and that is why it failed.
+      },
+      "summary": "A String", # The simplest way to interpret a result.
+          #
+          # Required
+    },
+  }
+
+  requestId: string, A unique request ID for server to detect duplicated requests. For example, a UUID.
+
+Optional, but strongly recommended.
+
+Returns:
+  An object of the form:
+
+    { # An Execution represents a collection of Steps. For instance, it could represent: - a mobile test executed across a range of device configurations - a jenkins job with a build step followed by a test step
+        #
+        # The maximum size of an execution message is 1 MiB.
+        #
+        # An Execution can be updated until its state is set to COMPLETE at which point it becomes immutable.
+      "testExecutionMatrixId": "A String", # TestExecution Matrix ID that the Test Service uses.
+          #
+          # - In response: present if set by create - In create: optional - In update: never set
+      "creationTime": { # A Timestamp represents a point in time independent of any time zone or calendar, represented as seconds and fractions of seconds at nanosecond resolution in UTC Epoch time. It is encoded using the Proleptic Gregorian Calendar which extends the Gregorian calendar backwards to year one. It is encoded assuming all minutes are 60 seconds long, i.e. leap seconds are "smeared" so that no leap second table is needed for interpretation. Range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to and from RFC 3339 date strings. See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). # The time when the Execution was created.
+          #
+          # This value will be set automatically when CreateExecution is called.
+          #
+          # - In response: always set - In create/update request: never set
+          #
+          # Example 1: Compute Timestamp from POSIX `time()`.
+          #
+          # Timestamp timestamp; timestamp.set_seconds(time(NULL)); timestamp.set_nanos(0);
+          #
+          # Example 2: Compute Timestamp from POSIX `gettimeofday()`.
+          #
+          # struct timeval tv; gettimeofday(&tv, NULL);
+          #
+          # Timestamp timestamp; timestamp.set_seconds(tv.tv_sec); timestamp.set_nanos(tv.tv_usec * 1000);
+          #
+          # Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
+          #
+          # FILETIME ft; GetSystemTimeAsFileTime(&ft); UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
+          #
+          # // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. Timestamp timestamp; timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
+          #
+          # Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
+          #
+          # long millis = System.currentTimeMillis();
+          #
+          # Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) .setNanos((int) ((millis % 1000) * 1000000)).build();
+          #
+          #
+          #
+          # Example 5: Compute Timestamp from current time in Python.
+          #
+          # now = time.time() seconds = int(now) nanos = int((now - seconds) * 10**9) timestamp = Timestamp(seconds=seconds, nanos=nanos)
+        "nanos": 42, # Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive.
+        "seconds": "A String", # Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
+      },
+      "state": "A String", # The initial state is IN_PROGRESS.
+          #
+          # The only legal state transitions is from IN_PROGRESS to COMPLETE.
+          #
+          # A PRECONDITION_FAILED will be returned if an invalid transition is requested.
+          #
+          # The state can only be set to COMPLETE once. A FAILED_PRECONDITION will be returned if the state is set to COMPLETE multiple times.
+          #
+          # If the state is set to COMPLETE, all the in-progress steps within the execution will be set as COMPLETE. If the outcome of the step is not set, the outcome will be set to INCONCLUSIVE.
+          #
+          # - In response always set - In create/update request: optional
+      "executionId": "A String", # A unique identifier within a History for this Execution.
+          #
+          # Returns INVALID_ARGUMENT if this field is set or overwritten by the caller.
+          #
+          # - In response always set - In create/update request: never set
+      "completionTime": { # A Timestamp represents a point in time independent of any time zone or calendar, represented as seconds and fractions of seconds at nanosecond resolution in UTC Epoch time. It is encoded using the Proleptic Gregorian Calendar which extends the Gregorian calendar backwards to year one. It is encoded assuming all minutes are 60 seconds long, i.e. leap seconds are "smeared" so that no leap second table is needed for interpretation. Range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to and from RFC 3339 date strings. See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). # The time when the Execution status transitioned to COMPLETE.
+          #
+          # This value will be set automatically when state transitions to COMPLETE.
+          #
+          # - In response: set if the execution state is COMPLETE. - In create/update request: never set
+          #
+          # Example 1: Compute Timestamp from POSIX `time()`.
+          #
+          # Timestamp timestamp; timestamp.set_seconds(time(NULL)); timestamp.set_nanos(0);
+          #
+          # Example 2: Compute Timestamp from POSIX `gettimeofday()`.
+          #
+          # struct timeval tv; gettimeofday(&tv, NULL);
+          #
+          # Timestamp timestamp; timestamp.set_seconds(tv.tv_sec); timestamp.set_nanos(tv.tv_usec * 1000);
+          #
+          # Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
+          #
+          # FILETIME ft; GetSystemTimeAsFileTime(&ft); UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
+          #
+          # // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. Timestamp timestamp; timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
+          #
+          # Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
+          #
+          # long millis = System.currentTimeMillis();
+          #
+          # Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) .setNanos((int) ((millis % 1000) * 1000000)).build();
+          #
+          #
+          #
+          # Example 5: Compute Timestamp from current time in Python.
+          #
+          # now = time.time() seconds = int(now) nanos = int((now - seconds) * 10**9) timestamp = Timestamp(seconds=seconds, nanos=nanos)
+        "nanos": 42, # Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive.
+        "seconds": "A String", # Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
+      },
+      "outcome": { # Interprets a result so that humans and machines can act on it. # Classify the result, for example into SUCCESS or FAILURE
+          #
+          # - In response: present if set by create/update request - In create/update request: optional
+        "inconclusiveDetail": { # More information about an INCONCLUSIVE outcome.
+            #
+            # Returns INVALID_ARGUMENT if this field is set but the summary is not INCONCLUSIVE.
+            #
+            # Optional
+          "infrastructureFailure": True or False, # If the test runner could not determine success or failure because the test depends on a component other than the system under test which failed.
+              #
+              # For example, a mobile test requires provisioning a device where the test executes, and that provisioning can fail.
+          "nativeCrash": True or False, # A native process crashed on the device, producing a tombstone. It is unclear whether the crash was related to the app under test.
+              #
+              # For example, OpenGL crashed, but it is unclear if the app is responsible.
+          "abortedByUser": True or False, # If the end user aborted the test execution before a pass or fail could be determined. For example, the user pressed ctrl-c which sent a kill signal to the test runner while the test was running.
+        },
+        "skippedDetail": { # More information about a SKIPPED outcome.
+            #
+            # Returns INVALID_ARGUMENT if this field is set but the summary is not SKIPPED.
+            #
+            # Optional
+          "incompatibleAppVersion": True or False, # If the App doesn't support the specific API level.
+          "incompatibleArchitecture": True or False, # If the App doesn't run on the specific architecture, for example, x86.
+          "incompatibleDevice": True or False, # If the requested OS version doesn't run on the specific device model.
+        },
+        "successDetail": { # More information about a SUCCESS outcome.
+            #
+            # Returns INVALID_ARGUMENT if this field is set but the summary is not SUCCESS.
+            #
+            # Optional
+          "otherNativeCrash": True or False, # If a native process other than the app crashed.
+        },
+        "failureDetail": { # More information about a FAILURE outcome.
+            #
+            # Returns INVALID_ARGUMENT if this field is set but the summary is not FAILURE.
+            #
+            # Optional
+          "otherNativeCrash": True or False, # If a native process other than the app crashed.
+          "crashed": True or False, # If the failure was severe because the system under test crashed.
+          "unableToCrawl": True or False, # If the robo was unable to crawl the app; perhaps because the app did not start.
+          "notInstalled": True or False, # If an app is not installed and thus no test can be run with the app. This might be caused by trying to run a test on an unsupported platform.
+          "timedOut": True or False, # If the test overran some time limit, and that is why it failed.
+        },
+        "summary": "A String", # The simplest way to interpret a result.
+            #
+            # Required
+      },
+    }
+
+ +
+ get(projectId=None, historyId=None, executionId=None) +
Gets an Execution.
+
+May return any of the following canonical error codes:
+
+- PERMISSION_DENIED - if the user is not authorized to write to project - INVALID_ARGUMENT - if the request is malformed - NOT_FOUND - if the Execution does not exist
+
+Args:
+  projectId: string, A Project id.
+
+Required. (required)
+  historyId: string, A History id.
+
+Required. (required)
+  executionId: string, An Execution id.
+
+Required. (required)
+
+Returns:
+  An object of the form:
+
+    { # An Execution represents a collection of Steps. For instance, it could represent: - a mobile test executed across a range of device configurations - a jenkins job with a build step followed by a test step
+        #
+        # The maximum size of an execution message is 1 MiB.
+        #
+        # An Execution can be updated until its state is set to COMPLETE at which point it becomes immutable.
+      "testExecutionMatrixId": "A String", # TestExecution Matrix ID that the Test Service uses.
+          #
+          # - In response: present if set by create - In create: optional - In update: never set
+      "creationTime": { # A Timestamp represents a point in time independent of any time zone or calendar, represented as seconds and fractions of seconds at nanosecond resolution in UTC Epoch time. It is encoded using the Proleptic Gregorian Calendar which extends the Gregorian calendar backwards to year one. It is encoded assuming all minutes are 60 seconds long, i.e. leap seconds are "smeared" so that no leap second table is needed for interpretation. Range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to and from RFC 3339 date strings. See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). # The time when the Execution was created.
+          #
+          # This value will be set automatically when CreateExecution is called.
+          #
+          # - In response: always set - In create/update request: never set
+          #
+          # Example 1: Compute Timestamp from POSIX `time()`.
+          #
+          # Timestamp timestamp; timestamp.set_seconds(time(NULL)); timestamp.set_nanos(0);
+          #
+          # Example 2: Compute Timestamp from POSIX `gettimeofday()`.
+          #
+          # struct timeval tv; gettimeofday(&tv, NULL);
+          #
+          # Timestamp timestamp; timestamp.set_seconds(tv.tv_sec); timestamp.set_nanos(tv.tv_usec * 1000);
+          #
+          # Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
+          #
+          # FILETIME ft; GetSystemTimeAsFileTime(&ft); UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
+          #
+          # // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. Timestamp timestamp; timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
+          #
+          # Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
+          #
+          # long millis = System.currentTimeMillis();
+          #
+          # Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) .setNanos((int) ((millis % 1000) * 1000000)).build();
+          #
+          #
+          #
+          # Example 5: Compute Timestamp from current time in Python.
+          #
+          # now = time.time() seconds = int(now) nanos = int((now - seconds) * 10**9) timestamp = Timestamp(seconds=seconds, nanos=nanos)
+        "nanos": 42, # Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive.
+        "seconds": "A String", # Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
+      },
+      "state": "A String", # The initial state is IN_PROGRESS.
+          #
+          # The only legal state transitions is from IN_PROGRESS to COMPLETE.
+          #
+          # A PRECONDITION_FAILED will be returned if an invalid transition is requested.
+          #
+          # The state can only be set to COMPLETE once. A FAILED_PRECONDITION will be returned if the state is set to COMPLETE multiple times.
+          #
+          # If the state is set to COMPLETE, all the in-progress steps within the execution will be set as COMPLETE. If the outcome of the step is not set, the outcome will be set to INCONCLUSIVE.
+          #
+          # - In response always set - In create/update request: optional
+      "executionId": "A String", # A unique identifier within a History for this Execution.
+          #
+          # Returns INVALID_ARGUMENT if this field is set or overwritten by the caller.
+          #
+          # - In response always set - In create/update request: never set
+      "completionTime": { # A Timestamp represents a point in time independent of any time zone or calendar, represented as seconds and fractions of seconds at nanosecond resolution in UTC Epoch time. It is encoded using the Proleptic Gregorian Calendar which extends the Gregorian calendar backwards to year one. It is encoded assuming all minutes are 60 seconds long, i.e. leap seconds are "smeared" so that no leap second table is needed for interpretation. Range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to and from RFC 3339 date strings. See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). # The time when the Execution status transitioned to COMPLETE.
+          #
+          # This value will be set automatically when state transitions to COMPLETE.
+          #
+          # - In response: set if the execution state is COMPLETE. - In create/update request: never set
+          #
+          # Example 1: Compute Timestamp from POSIX `time()`.
+          #
+          # Timestamp timestamp; timestamp.set_seconds(time(NULL)); timestamp.set_nanos(0);
+          #
+          # Example 2: Compute Timestamp from POSIX `gettimeofday()`.
+          #
+          # struct timeval tv; gettimeofday(&tv, NULL);
+          #
+          # Timestamp timestamp; timestamp.set_seconds(tv.tv_sec); timestamp.set_nanos(tv.tv_usec * 1000);
+          #
+          # Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
+          #
+          # FILETIME ft; GetSystemTimeAsFileTime(&ft); UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
+          #
+          # // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. Timestamp timestamp; timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
+          #
+          # Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
+          #
+          # long millis = System.currentTimeMillis();
+          #
+          # Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) .setNanos((int) ((millis % 1000) * 1000000)).build();
+          #
+          #
+          #
+          # Example 5: Compute Timestamp from current time in Python.
+          #
+          # now = time.time() seconds = int(now) nanos = int((now - seconds) * 10**9) timestamp = Timestamp(seconds=seconds, nanos=nanos)
+        "nanos": 42, # Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive.
+        "seconds": "A String", # Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
+      },
+      "outcome": { # Interprets a result so that humans and machines can act on it. # Classify the result, for example into SUCCESS or FAILURE
+          #
+          # - In response: present if set by create/update request - In create/update request: optional
+        "inconclusiveDetail": { # More information about an INCONCLUSIVE outcome.
+            #
+            # Returns INVALID_ARGUMENT if this field is set but the summary is not INCONCLUSIVE.
+            #
+            # Optional
+          "infrastructureFailure": True or False, # If the test runner could not determine success or failure because the test depends on a component other than the system under test which failed.
+              #
+              # For example, a mobile test requires provisioning a device where the test executes, and that provisioning can fail.
+          "nativeCrash": True or False, # A native process crashed on the device, producing a tombstone. It is unclear whether the crash was related to the app under test.
+              #
+              # For example, OpenGL crashed, but it is unclear if the app is responsible.
+          "abortedByUser": True or False, # If the end user aborted the test execution before a pass or fail could be determined. For example, the user pressed ctrl-c which sent a kill signal to the test runner while the test was running.
+        },
+        "skippedDetail": { # More information about a SKIPPED outcome.
+            #
+            # Returns INVALID_ARGUMENT if this field is set but the summary is not SKIPPED.
+            #
+            # Optional
+          "incompatibleAppVersion": True or False, # If the App doesn't support the specific API level.
+          "incompatibleArchitecture": True or False, # If the App doesn't run on the specific architecture, for example, x86.
+          "incompatibleDevice": True or False, # If the requested OS version doesn't run on the specific device model.
+        },
+        "successDetail": { # More information about a SUCCESS outcome.
+            #
+            # Returns INVALID_ARGUMENT if this field is set but the summary is not SUCCESS.
+            #
+            # Optional
+          "otherNativeCrash": True or False, # If a native process other than the app crashed.
+        },
+        "failureDetail": { # More information about a FAILURE outcome.
+            #
+            # Returns INVALID_ARGUMENT if this field is set but the summary is not FAILURE.
+            #
+            # Optional
+          "otherNativeCrash": True or False, # If a native process other than the app crashed.
+          "crashed": True or False, # If the failure was severe because the system under test crashed.
+          "unableToCrawl": True or False, # If the robo was unable to crawl the app; perhaps because the app did not start.
+          "notInstalled": True or False, # If an app is not installed and thus no test can be run with the app. This might be caused by trying to run a test on an unsupported platform.
+          "timedOut": True or False, # If the test overran some time limit, and that is why it failed.
+        },
+        "summary": "A String", # The simplest way to interpret a result.
+            #
+            # Required
+      },
+    }
+
+ +
+ list(projectId=None, historyId=None, pageToken=None, pageSize=None) +
Lists Histories for a given Project.
+
+The executions are sorted by creation_time in descending order. The execution_id key will be used to order the executions with the same creation_time.
+
+May return any of the following canonical error codes:
+
+- PERMISSION_DENIED - if the user is not authorized to read project - INVALID_ARGUMENT - if the request is malformed - NOT_FOUND - if the containing History does not exist
+
+Args:
+  projectId: string, A Project id.
+
+Required. (required)
+  historyId: string, A History id.
+
+Required. (required)
+  pageToken: string, A continuation token to resume the query at the next item.
+
+Optional.
+  pageSize: integer, The maximum number of Executions to fetch.
+
+Default value: 25. The server will use this default if the field is not set or has a value of 0.
+
+Optional.
+
+Returns:
+  An object of the form:
+
+    {
+    "nextPageToken": "A String", # A continuation token to resume the query at the next item.
+        #
+        # Will only be set if there are more Executions to fetch.
+    "executions": [ # Executions.
+        #
+        # Always set.
+      { # An Execution represents a collection of Steps. For instance, it could represent: - a mobile test executed across a range of device configurations - a jenkins job with a build step followed by a test step
+            #
+            # The maximum size of an execution message is 1 MiB.
+            #
+            # An Execution can be updated until its state is set to COMPLETE at which point it becomes immutable.
+          "testExecutionMatrixId": "A String", # TestExecution Matrix ID that the Test Service uses.
+              #
+              # - In response: present if set by create - In create: optional - In update: never set
+          "creationTime": { # A Timestamp represents a point in time independent of any time zone or calendar, represented as seconds and fractions of seconds at nanosecond resolution in UTC Epoch time. It is encoded using the Proleptic Gregorian Calendar which extends the Gregorian calendar backwards to year one. It is encoded assuming all minutes are 60 seconds long, i.e. leap seconds are "smeared" so that no leap second table is needed for interpretation. Range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to and from RFC 3339 date strings. See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). # The time when the Execution was created.
+              #
+              # This value will be set automatically when CreateExecution is called.
+              #
+              # - In response: always set - In create/update request: never set
+              #
+              # Example 1: Compute Timestamp from POSIX `time()`.
+              #
+              # Timestamp timestamp; timestamp.set_seconds(time(NULL)); timestamp.set_nanos(0);
+              #
+              # Example 2: Compute Timestamp from POSIX `gettimeofday()`.
+              #
+              # struct timeval tv; gettimeofday(&tv, NULL);
+              #
+              # Timestamp timestamp; timestamp.set_seconds(tv.tv_sec); timestamp.set_nanos(tv.tv_usec * 1000);
+              #
+              # Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
+              #
+              # FILETIME ft; GetSystemTimeAsFileTime(&ft); UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
+              #
+              # // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. Timestamp timestamp; timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
+              #
+              # Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
+              #
+              # long millis = System.currentTimeMillis();
+              #
+              # Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) .setNanos((int) ((millis % 1000) * 1000000)).build();
+              #
+              #
+              #
+              # Example 5: Compute Timestamp from current time in Python.
+              #
+              # now = time.time() seconds = int(now) nanos = int((now - seconds) * 10**9) timestamp = Timestamp(seconds=seconds, nanos=nanos)
+            "nanos": 42, # Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive.
+            "seconds": "A String", # Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
+          },
+          "state": "A String", # The initial state is IN_PROGRESS.
+              #
+              # The only legal state transitions is from IN_PROGRESS to COMPLETE.
+              #
+              # A PRECONDITION_FAILED will be returned if an invalid transition is requested.
+              #
+              # The state can only be set to COMPLETE once. A FAILED_PRECONDITION will be returned if the state is set to COMPLETE multiple times.
+              #
+              # If the state is set to COMPLETE, all the in-progress steps within the execution will be set as COMPLETE. If the outcome of the step is not set, the outcome will be set to INCONCLUSIVE.
+              #
+              # - In response always set - In create/update request: optional
+          "executionId": "A String", # A unique identifier within a History for this Execution.
+              #
+              # Returns INVALID_ARGUMENT if this field is set or overwritten by the caller.
+              #
+              # - In response always set - In create/update request: never set
+          "completionTime": { # A Timestamp represents a point in time independent of any time zone or calendar, represented as seconds and fractions of seconds at nanosecond resolution in UTC Epoch time. It is encoded using the Proleptic Gregorian Calendar which extends the Gregorian calendar backwards to year one. It is encoded assuming all minutes are 60 seconds long, i.e. leap seconds are "smeared" so that no leap second table is needed for interpretation. Range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to and from RFC 3339 date strings. See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). # The time when the Execution status transitioned to COMPLETE.
+              #
+              # This value will be set automatically when state transitions to COMPLETE.
+              #
+              # - In response: set if the execution state is COMPLETE. - In create/update request: never set
+              #
+              # Example 1: Compute Timestamp from POSIX `time()`.
+              #
+              # Timestamp timestamp; timestamp.set_seconds(time(NULL)); timestamp.set_nanos(0);
+              #
+              # Example 2: Compute Timestamp from POSIX `gettimeofday()`.
+              #
+              # struct timeval tv; gettimeofday(&tv, NULL);
+              #
+              # Timestamp timestamp; timestamp.set_seconds(tv.tv_sec); timestamp.set_nanos(tv.tv_usec * 1000);
+              #
+              # Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
+              #
+              # FILETIME ft; GetSystemTimeAsFileTime(&ft); UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
+              #
+              # // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. Timestamp timestamp; timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
+              #
+              # Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
+              #
+              # long millis = System.currentTimeMillis();
+              #
+              # Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) .setNanos((int) ((millis % 1000) * 1000000)).build();
+              #
+              #
+              #
+              # Example 5: Compute Timestamp from current time in Python.
+              #
+              # now = time.time() seconds = int(now) nanos = int((now - seconds) * 10**9) timestamp = Timestamp(seconds=seconds, nanos=nanos)
+            "nanos": 42, # Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive.
+            "seconds": "A String", # Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
+          },
+          "outcome": { # Interprets a result so that humans and machines can act on it. # Classify the result, for example into SUCCESS or FAILURE
+              #
+              # - In response: present if set by create/update request - In create/update request: optional
+            "inconclusiveDetail": { # More information about an INCONCLUSIVE outcome.
+                #
+                # Returns INVALID_ARGUMENT if this field is set but the summary is not INCONCLUSIVE.
+                #
+                # Optional
+              "infrastructureFailure": True or False, # If the test runner could not determine success or failure because the test depends on a component other than the system under test which failed.
+                  #
+                  # For example, a mobile test requires provisioning a device where the test executes, and that provisioning can fail.
+              "nativeCrash": True or False, # A native process crashed on the device, producing a tombstone. It is unclear whether the crash was related to the app under test.
+                  #
+                  # For example, OpenGL crashed, but it is unclear if the app is responsible.
+              "abortedByUser": True or False, # If the end user aborted the test execution before a pass or fail could be determined. For example, the user pressed ctrl-c which sent a kill signal to the test runner while the test was running.
+            },
+            "skippedDetail": { # More information about a SKIPPED outcome.
+                #
+                # Returns INVALID_ARGUMENT if this field is set but the summary is not SKIPPED.
+                #
+                # Optional
+              "incompatibleAppVersion": True or False, # If the App doesn't support the specific API level.
+              "incompatibleArchitecture": True or False, # If the App doesn't run on the specific architecture, for example, x86.
+              "incompatibleDevice": True or False, # If the requested OS version doesn't run on the specific device model.
+            },
+            "successDetail": { # More information about a SUCCESS outcome.
+                #
+                # Returns INVALID_ARGUMENT if this field is set but the summary is not SUCCESS.
+                #
+                # Optional
+              "otherNativeCrash": True or False, # If a native process other than the app crashed.
+            },
+            "failureDetail": { # More information about a FAILURE outcome.
+                #
+                # Returns INVALID_ARGUMENT if this field is set but the summary is not FAILURE.
+                #
+                # Optional
+              "otherNativeCrash": True or False, # If a native process other than the app crashed.
+              "crashed": True or False, # If the failure was severe because the system under test crashed.
+              "unableToCrawl": True or False, # If the robo was unable to crawl the app; perhaps because the app did not start.
+              "notInstalled": True or False, # If an app is not installed and thus no test can be run with the app. This might be caused by trying to run a test on an unsupported platform.
+              "timedOut": True or False, # If the test overran some time limit, and that is why it failed.
+            },
+            "summary": "A String", # The simplest way to interpret a result.
+                #
+                # Required
+          },
+        },
+    ],
+  }
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    
+
+ +
+ patch(projectId, historyId, executionId, body, requestId=None) +
Updates an existing Execution with the supplied partial entity.
+
+May return any of the following canonical error codes:
+
+- PERMISSION_DENIED - if the user is not authorized to write to project - INVALID_ARGUMENT - if the request is malformed - FAILED_PRECONDITION - if the requested state transition is illegal - NOT_FOUND - if the containing History does not exist
+
+Args:
+  projectId: string, A Project id. Required. (required)
+  historyId: string, Required. (required)
+  executionId: string, Required. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # An Execution represents a collection of Steps. For instance, it could represent: - a mobile test executed across a range of device configurations - a jenkins job with a build step followed by a test step
+      # 
+      # The maximum size of an execution message is 1 MiB.
+      # 
+      # An Execution can be updated until its state is set to COMPLETE at which point it becomes immutable.
+    "testExecutionMatrixId": "A String", # TestExecution Matrix ID that the Test Service uses.
+        # 
+        # - In response: present if set by create - In create: optional - In update: never set
+    "creationTime": { # A Timestamp represents a point in time independent of any time zone or calendar, represented as seconds and fractions of seconds at nanosecond resolution in UTC Epoch time. It is encoded using the Proleptic Gregorian Calendar which extends the Gregorian calendar backwards to year one. It is encoded assuming all minutes are 60 seconds long, i.e. leap seconds are "smeared" so that no leap second table is needed for interpretation. Range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to and from RFC 3339 date strings. See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). # The time when the Execution was created.
+        # 
+        # This value will be set automatically when CreateExecution is called.
+        # 
+        # - In response: always set - In create/update request: never set
+        #
+        # Example 1: Compute Timestamp from POSIX `time()`.
+        #
+        # Timestamp timestamp; timestamp.set_seconds(time(NULL)); timestamp.set_nanos(0);
+        #
+        # Example 2: Compute Timestamp from POSIX `gettimeofday()`.
+        #
+        # struct timeval tv; gettimeofday(&tv, NULL);
+        #
+        # Timestamp timestamp; timestamp.set_seconds(tv.tv_sec); timestamp.set_nanos(tv.tv_usec * 1000);
+        #
+        # Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
+        #
+        # FILETIME ft; GetSystemTimeAsFileTime(&ft); UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
+        #
+        # // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. Timestamp timestamp; timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
+        #
+        # Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
+        #
+        # long millis = System.currentTimeMillis();
+        #
+        # Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) .setNanos((int) ((millis % 1000) * 1000000)).build();
+        #
+        #
+        #
+        # Example 5: Compute Timestamp from current time in Python.
+        #
+        # now = time.time() seconds = int(now) nanos = int((now - seconds) * 10**9) timestamp = Timestamp(seconds=seconds, nanos=nanos)
+      "nanos": 42, # Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive.
+      "seconds": "A String", # Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
+    },
+    "state": "A String", # The initial state is IN_PROGRESS.
+        # 
+        # The only legal state transitions is from IN_PROGRESS to COMPLETE.
+        # 
+        # A PRECONDITION_FAILED will be returned if an invalid transition is requested.
+        # 
+        # The state can only be set to COMPLETE once. A FAILED_PRECONDITION will be returned if the state is set to COMPLETE multiple times.
+        # 
+        # If the state is set to COMPLETE, all the in-progress steps within the execution will be set as COMPLETE. If the outcome of the step is not set, the outcome will be set to INCONCLUSIVE.
+        # 
+        # - In response always set - In create/update request: optional
+    "executionId": "A String", # A unique identifier within a History for this Execution.
+        # 
+        # Returns INVALID_ARGUMENT if this field is set or overwritten by the caller.
+        # 
+        # - In response always set - In create/update request: never set
+    "completionTime": { # A Timestamp represents a point in time independent of any time zone or calendar, represented as seconds and fractions of seconds at nanosecond resolution in UTC Epoch time. It is encoded using the Proleptic Gregorian Calendar which extends the Gregorian calendar backwards to year one. It is encoded assuming all minutes are 60 seconds long, i.e. leap seconds are "smeared" so that no leap second table is needed for interpretation. Range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to and from RFC 3339 date strings. See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). # The time when the Execution status transitioned to COMPLETE.
+        # 
+        # This value will be set automatically when state transitions to COMPLETE.
+        # 
+        # - In response: set if the execution state is COMPLETE. - In create/update request: never set
+        #
+        # Example 1: Compute Timestamp from POSIX `time()`.
+        #
+        # Timestamp timestamp; timestamp.set_seconds(time(NULL)); timestamp.set_nanos(0);
+        #
+        # Example 2: Compute Timestamp from POSIX `gettimeofday()`.
+        #
+        # struct timeval tv; gettimeofday(&tv, NULL);
+        #
+        # Timestamp timestamp; timestamp.set_seconds(tv.tv_sec); timestamp.set_nanos(tv.tv_usec * 1000);
+        #
+        # Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
+        #
+        # FILETIME ft; GetSystemTimeAsFileTime(&ft); UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
+        #
+        # // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. Timestamp timestamp; timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
+        #
+        # Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
+        #
+        # long millis = System.currentTimeMillis();
+        #
+        # Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) .setNanos((int) ((millis % 1000) * 1000000)).build();
+        #
+        #
+        #
+        # Example 5: Compute Timestamp from current time in Python.
+        #
+        # now = time.time() seconds = int(now) nanos = int((now - seconds) * 10**9) timestamp = Timestamp(seconds=seconds, nanos=nanos)
+      "nanos": 42, # Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive.
+      "seconds": "A String", # Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
+    },
+    "outcome": { # Interprets a result so that humans and machines can act on it. # Classify the result, for example into SUCCESS or FAILURE
+        # 
+        # - In response: present if set by create/update request - In create/update request: optional
+      "inconclusiveDetail": { # More information about an INCONCLUSIVE outcome.
+          #
+          # Returns INVALID_ARGUMENT if this field is set but the summary is not INCONCLUSIVE.
+          #
+          # Optional
+        "infrastructureFailure": True or False, # If the test runner could not determine success or failure because the test depends on a component other than the system under test which failed.
+            #
+            # For example, a mobile test requires provisioning a device where the test executes, and that provisioning can fail.
+        "nativeCrash": True or False, # A native process crashed on the device, producing a tombstone. It is unclear whether the crash was related to the app under test.
+            #
+            # For example, OpenGL crashed, but it is unclear if the app is responsible.
+        "abortedByUser": True or False, # If the end user aborted the test execution before a pass or fail could be determined. For example, the user pressed ctrl-c which sent a kill signal to the test runner while the test was running.
+      },
+      "skippedDetail": { # More information about a SKIPPED outcome.
+          #
+          # Returns INVALID_ARGUMENT if this field is set but the summary is not SKIPPED.
+          #
+          # Optional
+        "incompatibleAppVersion": True or False, # If the App doesn't support the specific API level.
+        "incompatibleArchitecture": True or False, # If the App doesn't run on the specific architecture, for example, x86.
+        "incompatibleDevice": True or False, # If the requested OS version doesn't run on the specific device model.
+      },
+      "successDetail": { # More information about a SUCCESS outcome.
+          #
+          # Returns INVALID_ARGUMENT if this field is set but the summary is not SUCCESS.
+          #
+          # Optional
+        "otherNativeCrash": True or False, # If a native process other than the app crashed.
+      },
+      "failureDetail": { # More information about a FAILURE outcome.
+          #
+          # Returns INVALID_ARGUMENT if this field is set but the summary is not FAILURE.
+          #
+          # Optional
+        "otherNativeCrash": True or False, # If a native process other than the app crashed.
+        "crashed": True or False, # If the failure was severe because the system under test crashed.
+        "unableToCrawl": True or False, # If the robo was unable to crawl the app; perhaps because the app did not start.
+        "notInstalled": True or False, # If an app is not installed and thus no test can be run with the app. This might be caused by trying to run a test on an unsupported platform.
+        "timedOut": True or False, # If the test overran some time limit, and that is why it failed.
+      },
+      "summary": "A String", # The simplest way to interpret a result.
+          #
+          # Required
+    },
+  }
+
+  requestId: string, A unique request ID for server to detect duplicated requests. For example, a UUID.
+
+Optional, but strongly recommended.
+
+Returns:
+  An object of the form:
+
+    { # An Execution represents a collection of Steps. For instance, it could represent: - a mobile test executed across a range of device configurations - a jenkins job with a build step followed by a test step
+        #
+        # The maximum size of an execution message is 1 MiB.
+        #
+        # An Execution can be updated until its state is set to COMPLETE at which point it becomes immutable.
+      "testExecutionMatrixId": "A String", # TestExecution Matrix ID that the Test Service uses.
+          #
+          # - In response: present if set by create - In create: optional - In update: never set
+      "creationTime": { # A Timestamp represents a point in time independent of any time zone or calendar, represented as seconds and fractions of seconds at nanosecond resolution in UTC Epoch time. It is encoded using the Proleptic Gregorian Calendar which extends the Gregorian calendar backwards to year one. It is encoded assuming all minutes are 60 seconds long, i.e. leap seconds are "smeared" so that no leap second table is needed for interpretation. Range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to and from RFC 3339 date strings. See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). # The time when the Execution was created.
+          #
+          # This value will be set automatically when CreateExecution is called.
+          #
+          # - In response: always set - In create/update request: never set
+          #
+          # Example 1: Compute Timestamp from POSIX `time()`.
+          #
+          # Timestamp timestamp; timestamp.set_seconds(time(NULL)); timestamp.set_nanos(0);
+          #
+          # Example 2: Compute Timestamp from POSIX `gettimeofday()`.
+          #
+          # struct timeval tv; gettimeofday(&tv, NULL);
+          #
+          # Timestamp timestamp; timestamp.set_seconds(tv.tv_sec); timestamp.set_nanos(tv.tv_usec * 1000);
+          #
+          # Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
+          #
+          # FILETIME ft; GetSystemTimeAsFileTime(&ft); UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
+          #
+          # // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. Timestamp timestamp; timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
+          #
+          # Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
+          #
+          # long millis = System.currentTimeMillis();
+          #
+          # Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) .setNanos((int) ((millis % 1000) * 1000000)).build();
+          #
+          #
+          #
+          # Example 5: Compute Timestamp from current time in Python.
+          #
+          # now = time.time() seconds = int(now) nanos = int((now - seconds) * 10**9) timestamp = Timestamp(seconds=seconds, nanos=nanos)
+        "nanos": 42, # Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive.
+        "seconds": "A String", # Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
+      },
+      "state": "A String", # The initial state is IN_PROGRESS.
+          #
+          # The only legal state transitions is from IN_PROGRESS to COMPLETE.
+          #
+          # A PRECONDITION_FAILED will be returned if an invalid transition is requested.
+          #
+          # The state can only be set to COMPLETE once. A FAILED_PRECONDITION will be returned if the state is set to COMPLETE multiple times.
+          #
+          # If the state is set to COMPLETE, all the in-progress steps within the execution will be set as COMPLETE. If the outcome of the step is not set, the outcome will be set to INCONCLUSIVE.
+          #
+          # - In response always set - In create/update request: optional
+      "executionId": "A String", # A unique identifier within a History for this Execution.
+          #
+          # Returns INVALID_ARGUMENT if this field is set or overwritten by the caller.
+          #
+          # - In response always set - In create/update request: never set
+      "completionTime": { # A Timestamp represents a point in time independent of any time zone or calendar, represented as seconds and fractions of seconds at nanosecond resolution in UTC Epoch time. It is encoded using the Proleptic Gregorian Calendar which extends the Gregorian calendar backwards to year one. It is encoded assuming all minutes are 60 seconds long, i.e. leap seconds are "smeared" so that no leap second table is needed for interpretation. Range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to and from RFC 3339 date strings. See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). # The time when the Execution status transitioned to COMPLETE.
+          #
+          # This value will be set automatically when state transitions to COMPLETE.
+          #
+          # - In response: set if the execution state is COMPLETE. - In create/update request: never set
+          #
+          # Example 1: Compute Timestamp from POSIX `time()`.
+          #
+          # Timestamp timestamp; timestamp.set_seconds(time(NULL)); timestamp.set_nanos(0);
+          #
+          # Example 2: Compute Timestamp from POSIX `gettimeofday()`.
+          #
+          # struct timeval tv; gettimeofday(&tv, NULL);
+          #
+          # Timestamp timestamp; timestamp.set_seconds(tv.tv_sec); timestamp.set_nanos(tv.tv_usec * 1000);
+          #
+          # Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
+          #
+          # FILETIME ft; GetSystemTimeAsFileTime(&ft); UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
+          #
+          # // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. Timestamp timestamp; timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
+          #
+          # Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
+          #
+          # long millis = System.currentTimeMillis();
+          #
+          # Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) .setNanos((int) ((millis % 1000) * 1000000)).build();
+          #
+          #
+          #
+          # Example 5: Compute Timestamp from current time in Python.
+          #
+          # now = time.time() seconds = int(now) nanos = int((now - seconds) * 10**9) timestamp = Timestamp(seconds=seconds, nanos=nanos)
+        "nanos": 42, # Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive.
+        "seconds": "A String", # Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
+      },
+      "outcome": { # Interprets a result so that humans and machines can act on it. # Classify the result, for example into SUCCESS or FAILURE
+          #
+          # - In response: present if set by create/update request - In create/update request: optional
+        "inconclusiveDetail": { # More information about an INCONCLUSIVE outcome.
+            #
+            # Returns INVALID_ARGUMENT if this field is set but the summary is not INCONCLUSIVE.
+            #
+            # Optional
+          "infrastructureFailure": True or False, # If the test runner could not determine success or failure because the test depends on a component other than the system under test which failed.
+              #
+              # For example, a mobile test requires provisioning a device where the test executes, and that provisioning can fail.
+          "nativeCrash": True or False, # A native process crashed on the device, producing a tombstone. It is unclear whether the crash was related to the app under test.
+              #
+              # For example, OpenGL crashed, but it is unclear if the app is responsible.
+          "abortedByUser": True or False, # If the end user aborted the test execution before a pass or fail could be determined. For example, the user pressed ctrl-c which sent a kill signal to the test runner while the test was running.
+        },
+        "skippedDetail": { # More information about a SKIPPED outcome.
+            #
+            # Returns INVALID_ARGUMENT if this field is set but the summary is not SKIPPED.
+            #
+            # Optional
+          "incompatibleAppVersion": True or False, # If the App doesn't support the specific API level.
+          "incompatibleArchitecture": True or False, # If the App doesn't run on the specific architecture, for example, x86.
+          "incompatibleDevice": True or False, # If the requested OS version doesn't run on the specific device model.
+        },
+        "successDetail": { # More information about a SUCCESS outcome.
+            #
+            # Returns INVALID_ARGUMENT if this field is set but the summary is not SUCCESS.
+            #
+            # Optional
+          "otherNativeCrash": True or False, # If a native process other than the app crashed.
+        },
+        "failureDetail": { # More information about a FAILURE outcome.
+            #
+            # Returns INVALID_ARGUMENT if this field is set but the summary is not FAILURE.
+            #
+            # Optional
+          "otherNativeCrash": True or False, # If a native process other than the app crashed.
+          "crashed": True or False, # If the failure was severe because the system under test crashed.
+          "unableToCrawl": True or False, # If the robo was unable to crawl the app; perhaps because the app did not start.
+          "notInstalled": True or False, # If an app is not installed and thus no test can be run with the app. This might be caused by trying to run a test on an unsupported platform.
+          "timedOut": True or False, # If the test overran some time limit, and that is why it failed.
+        },
+        "summary": "A String", # The simplest way to interpret a result.
+            #
+            # Required
+      },
+    }
+
+ + \ No newline at end of file diff --git a/docs/dyn/toolresults_v1beta3.projects.histories.executions.steps.html b/docs/dyn/toolresults_v1beta3.projects.histories.executions.steps.html new file mode 100644 index 00000000000..4052f67bd58 --- /dev/null +++ b/docs/dyn/toolresults_v1beta3.projects.histories.executions.steps.html @@ -0,0 +1,3938 @@ + + + +

Cloud Tool Results API . projects . histories . executions . steps

+

Instance Methods

+

+ thumbnails() +

+

Returns the thumbnails Resource.

+ +

+ create(projectId=None, historyId=None, executionId=None, body, requestId=None)

+

Creates a Step.

+

+ get(projectId=None, historyId=None, executionId=None, stepId=None)

+

Gets a Step.

+

+ list(projectId=None, historyId=None, executionId=None, pageToken=None, pageSize=None)

+

Lists Steps for a given Execution.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

+ patch(projectId=None, historyId=None, executionId=None, stepId=None, body, requestId=None)

+

Updates an existing Step with the supplied partial entity.

+

+ publishXunitXmlFiles(projectId=None, historyId=None, executionId=None, stepId=None, body)

+

Publish xml files to an existing Step.

+

Method Details

+
+ create(projectId=None, historyId=None, executionId=None, body, requestId=None) +
Creates a Step.
+
+The returned Step will have the id set.
+
+May return any of the following canonical error codes:
+
+- PERMISSION_DENIED - if the user is not authorized to write to project - INVALID_ARGUMENT - if the request is malformed - FAILED_PRECONDITION - if the step is too large (more than 10Mib) - NOT_FOUND - if the containing Execution does not exist
+
+Args:
+  projectId: string, A Project id.
+
+Required. (required)
+  historyId: string, A History id.
+
+Required. (required)
+  executionId: string, A Execution id.
+
+Required. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A Step represents a single operation performed as part of Execution. A step can be used to represent the execution of a tool ( for example a test runner execution or an execution of a compiler).
+    # 
+    # Steps can overlap (for instance two steps might have the same start time if some operations are done in parallel).
+    # 
+    # Here is an example, let's consider that we have a continuous build is executing a test runner for each iteration. The workflow would look like: - user creates a Execution with id 1 - user creates an TestExecutionStep with id 100 for Execution 1 - user update TestExecutionStep with id 100 to add a raw xml log + the service parses the xml logs and returns a TestExecutionStep with updated TestResult(s). - user update the status of TestExecutionStep with id 100 to COMPLETE
+    # 
+    # A Step can be updated until its state is set to COMPLETE at which points it becomes immutable.
+  "testExecutionStep": { # A step that represents running tests. # An execution of a test runner.
+      #
+      # It accepts ant-junit xml files which will be parsed into structured test results by the service. Xml file paths are updated in order to append more files, however they can't be deleted.
+      #
+      # Users can also add test results manually by using the test_result field.
+    "testTiming": { # Testing timing break down to know phases. # The timing break down of the test execution.
+        #
+        # - In response: present if set by create or update - In create/update request: optional
+      "testProcessDuration": { # A Duration represents a signed, fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like "day" or "month". It is related to Timestamp in that the difference between two Timestamp values is a Duration and it can be added or subtracted from a Timestamp. Range is approximately +-10,000 years. # How long it took to run the test process.
+          #
+          # - In response: present if previously set. - In create/update request: optional
+          #
+          # Example 1: Compute Duration from two Timestamps in pseudo code.
+          #
+          # Timestamp start = ...; Timestamp end = ...; Duration duration = ...;
+          #
+          # duration.seconds = end.seconds - start.seconds; duration.nanos = end.nanos - start.nanos;
+          #
+          # if (duration.seconds  0) { duration.seconds += 1; duration.nanos -= 1000000000; } else if (durations.seconds > 0 && duration.nanos < 0) { duration.seconds -= 1; duration.nanos += 1000000000; }
+          #
+          # Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.
+          #
+          # Timestamp start = ...; Duration duration = ...; Timestamp end = ...;
+          #
+          # end.seconds = start.seconds + duration.seconds; end.nanos = start.nanos + duration.nanos;
+          #
+          # if (end.nanos = 1000000000) { end.seconds += 1; end.nanos -= 1000000000; }
+        "nanos": 42, # Signed fractions of a second at nanosecond resolution of the span of time. Durations less than one second are represented with a 0 `seconds` field and a positive or negative `nanos` field. For durations of one second or more, a non-zero value for the `nanos` field must be of the same sign as the `seconds` field. Must be from -999,999,999 to +999,999,999 inclusive.
+        "seconds": "A String", # Signed seconds of the span of time. Must be from -315,576,000,000 to +315,576,000,000 inclusive.
+      },
+    },
+    "testSuiteOverviews": [ # List of test suite overview contents. This could be parsed from xUnit XML log by server, or uploaded directly by user. This references should only be called when test suites are fully parsed or uploaded.
+        #
+        # The maximum allowed number of test suite overviews per step is 1000.
+        #
+        # - In response: always set - In create request: optional - In update request: never (use publishXunitXmlFiles custom method instead)
+      { # A summary of a test suite result either parsed from XML or uploaded directly by a user.
+          #
+          # Note: the API related comments are for StepService only. This message is also being used in ExecutionService in a read only mode for the corresponding step.
+        "name": "A String", # The name of the test suite.
+            #
+            # - In create/response: always set - In update request: never
+        "errorCount": 42, # Number of test cases in error, typically set by the service by parsing the xml_source.
+            #
+            # - In create/response: always set - In update request: never
+        "totalCount": 42, # Number of test cases, typically set by the service by parsing the xml_source.
+            #
+            # - In create/response: always set - In update request: never
+        "xmlSource": { # A reference to a file. # If this test suite was parsed from XML, this is the URI where the original XML file is stored.
+            #
+            # Note: Multiple test suites can share the same xml_source
+            #
+            # Returns INVALID_ARGUMENT if the uri format is not supported.
+            #
+            # - In create/response: optional - In update request: never
+          "fileUri": "A String", # The URI of a file stored in Google Cloud Storage.
+              #
+              # For example: http://storage.googleapis.com/mybucket/path/to/test.xml or in gsutil format: gs://mybucket/path/to/test.xml with version-specific info, gs://mybucket/path/to/test.xml#1360383693690000
+              #
+              # An INVALID_ARGUMENT error will be returned if the URI format is not supported.
+              #
+              # - In response: always set - In create/update request: always set
+        },
+        "failureCount": 42, # Number of failed test cases, typically set by the service by parsing the xml_source. May also be set by the user.
+            #
+            # - In create/response: always set - In update request: never
+        "skippedCount": 42, # Number of test cases not run, typically set by the service by parsing the xml_source.
+            #
+            # - In create/response: always set - In update request: never
+      },
+    ],
+    "toolExecution": { # An execution of an arbitrary tool. It could be a test runner or a tool copying artifacts or deploying code. # Represents the execution of the test runner.
+        #
+        # The exit code of this tool will be used to determine if the test passed.
+        #
+        # - In response: always set - In create/update request: optional
+      "toolLogs": [ # References to any plain text logs output the tool execution.
+          #
+          # This field can be set before the tool has exited in order to be able to have access to a live view of the logs while the tool is running.
+          #
+          # The maximum allowed number of tool logs per step is 1000.
+          #
+          # - In response: present if set by create/update request - In create request: optional - In update request: optional, any value provided will be appended to the existing list
+        { # A reference to a file.
+          "fileUri": "A String", # The URI of a file stored in Google Cloud Storage.
+              #
+              # For example: http://storage.googleapis.com/mybucket/path/to/test.xml or in gsutil format: gs://mybucket/path/to/test.xml with version-specific info, gs://mybucket/path/to/test.xml#1360383693690000
+              #
+              # An INVALID_ARGUMENT error will be returned if the URI format is not supported.
+              #
+              # - In response: always set - In create/update request: always set
+        },
+      ],
+      "exitCode": { # Exit code from a tool execution. # Tool execution exit code. This field will be set once the tool has exited.
+          #
+          # - In response: present if set by create/update request - In create request: optional - In update request: optional, a FAILED_PRECONDITION error will be returned if an exit_code is already set.
+        "number": 42, # Tool execution exit code. A value of 0 means that the execution was successful.
+            #
+            # - In response: always set - In create/update request: always set
+      },
+      "toolOutputs": [ # References to opaque files of any format output by the tool execution.
+          #
+          # The maximum allowed number of tool outputs per step is 1000.
+          #
+          # - In response: present if set by create/update request - In create request: optional - In update request: optional, any value provided will be appended to the existing list
+        { # A reference to a ToolExecution output file.
+          "testCase": { # A reference to a test case. # The test case to which this output file belongs.
+              #
+              # - In response: present if set by create/update request - In create/update request: optional
+              #
+              # Test case references are canonically ordered lexicographically by these three factors: * First, by test_suite_name. * Second, by class_name. * Third, by name.
+            "className": "A String", # The name of the class.
+            "testSuiteName": "A String", # The name of the test suite to which this test case belongs.
+            "name": "A String", # The name of the test case.
+                #
+                # Required.
+          },
+          "output": { # A reference to a file. # A FileReference to an output file.
+              #
+              # - In response: always set - In create/update request: always set
+            "fileUri": "A String", # The URI of a file stored in Google Cloud Storage.
+                #
+                # For example: http://storage.googleapis.com/mybucket/path/to/test.xml or in gsutil format: gs://mybucket/path/to/test.xml with version-specific info, gs://mybucket/path/to/test.xml#1360383693690000
+                #
+                # An INVALID_ARGUMENT error will be returned if the URI format is not supported.
+                #
+                # - In response: always set - In create/update request: always set
+          },
+          "creationTime": { # A Timestamp represents a point in time independent of any time zone or calendar, represented as seconds and fractions of seconds at nanosecond resolution in UTC Epoch time. It is encoded using the Proleptic Gregorian Calendar which extends the Gregorian calendar backwards to year one. It is encoded assuming all minutes are 60 seconds long, i.e. leap seconds are "smeared" so that no leap second table is needed for interpretation. Range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to and from RFC 3339 date strings. See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). # The creation time of the file.
+              #
+              # - In response: present if set by create/update request - In create/update request: optional
+              #
+              # Example 1: Compute Timestamp from POSIX `time()`.
+              #
+              # Timestamp timestamp; timestamp.set_seconds(time(NULL)); timestamp.set_nanos(0);
+              #
+              # Example 2: Compute Timestamp from POSIX `gettimeofday()`.
+              #
+              # struct timeval tv; gettimeofday(&tv, NULL);
+              #
+              # Timestamp timestamp; timestamp.set_seconds(tv.tv_sec); timestamp.set_nanos(tv.tv_usec * 1000);
+              #
+              # Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
+              #
+              # FILETIME ft; GetSystemTimeAsFileTime(&ft); UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
+              #
+              # // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. Timestamp timestamp; timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
+              #
+              # Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
+              #
+              # long millis = System.currentTimeMillis();
+              #
+              # Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) .setNanos((int) ((millis % 1000) * 1000000)).build();
+              #
+              #
+              #
+              # Example 5: Compute Timestamp from current time in Python.
+              #
+              # now = time.time() seconds = int(now) nanos = int((now - seconds) * 10**9) timestamp = Timestamp(seconds=seconds, nanos=nanos)
+            "nanos": 42, # Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive.
+            "seconds": "A String", # Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
+          },
+        },
+      ],
+      "commandLineArguments": [ # The full tokenized command line including the program name (equivalent to argv in a C program).
+          #
+          # - In response: present if set by create request - In create request: optional - In update request: never set
+        "A String",
+      ],
+    },
+    "testIssues": [ # Issues observed during the test execution.
+        #
+        # For example, if the mobile app under test crashed during the test, the error message and the stack trace content can be recorded here to assist debugging.
+        #
+        # - In response: present if set by create or update - In create/update request: optional
+      { # An abnormal event observed during the test execution.
+        "stackTrace": { # A stacktrace. # Optional.
+          "exception": "A String", # The stack trace message.
+              #
+              # Required
+        },
+        "errorMessage": "A String", # A brief human-readable message describing the abnormal event.
+            #
+            # Required.
+      },
+    ],
+  },
+  "toolExecutionStep": { # Generic tool step to be used for binaries we do not explicitly support. For example: running cp to copy artifacts from one location to another. # An execution of a tool (used for steps we don't explicitly support).
+    "toolExecution": { # An execution of an arbitrary tool. It could be a test runner or a tool copying artifacts or deploying code. # A Tool execution.
+        #
+        # - In response: present if set by create/update request - In create/update request: optional
+      "toolLogs": [ # References to any plain text logs output the tool execution.
+          #
+          # This field can be set before the tool has exited in order to be able to have access to a live view of the logs while the tool is running.
+          #
+          # The maximum allowed number of tool logs per step is 1000.
+          #
+          # - In response: present if set by create/update request - In create request: optional - In update request: optional, any value provided will be appended to the existing list
+        { # A reference to a file.
+          "fileUri": "A String", # The URI of a file stored in Google Cloud Storage.
+              #
+              # For example: http://storage.googleapis.com/mybucket/path/to/test.xml or in gsutil format: gs://mybucket/path/to/test.xml with version-specific info, gs://mybucket/path/to/test.xml#1360383693690000
+              #
+              # An INVALID_ARGUMENT error will be returned if the URI format is not supported.
+              #
+              # - In response: always set - In create/update request: always set
+        },
+      ],
+      "exitCode": { # Exit code from a tool execution. # Tool execution exit code. This field will be set once the tool has exited.
+          #
+          # - In response: present if set by create/update request - In create request: optional - In update request: optional, a FAILED_PRECONDITION error will be returned if an exit_code is already set.
+        "number": 42, # Tool execution exit code. A value of 0 means that the execution was successful.
+            #
+            # - In response: always set - In create/update request: always set
+      },
+      "toolOutputs": [ # References to opaque files of any format output by the tool execution.
+          #
+          # The maximum allowed number of tool outputs per step is 1000.
+          #
+          # - In response: present if set by create/update request - In create request: optional - In update request: optional, any value provided will be appended to the existing list
+        { # A reference to a ToolExecution output file.
+          "testCase": { # A reference to a test case. # The test case to which this output file belongs.
+              #
+              # - In response: present if set by create/update request - In create/update request: optional
+              #
+              # Test case references are canonically ordered lexicographically by these three factors: * First, by test_suite_name. * Second, by class_name. * Third, by name.
+            "className": "A String", # The name of the class.
+            "testSuiteName": "A String", # The name of the test suite to which this test case belongs.
+            "name": "A String", # The name of the test case.
+                #
+                # Required.
+          },
+          "output": { # A reference to a file. # A FileReference to an output file.
+              #
+              # - In response: always set - In create/update request: always set
+            "fileUri": "A String", # The URI of a file stored in Google Cloud Storage.
+                #
+                # For example: http://storage.googleapis.com/mybucket/path/to/test.xml or in gsutil format: gs://mybucket/path/to/test.xml with version-specific info, gs://mybucket/path/to/test.xml#1360383693690000
+                #
+                # An INVALID_ARGUMENT error will be returned if the URI format is not supported.
+                #
+                # - In response: always set - In create/update request: always set
+          },
+          "creationTime": { # A Timestamp represents a point in time independent of any time zone or calendar, represented as seconds and fractions of seconds at nanosecond resolution in UTC Epoch time. It is encoded using the Proleptic Gregorian Calendar which extends the Gregorian calendar backwards to year one. It is encoded assuming all minutes are 60 seconds long, i.e. leap seconds are "smeared" so that no leap second table is needed for interpretation. Range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to and from RFC 3339 date strings. See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). # The creation time of the file.
+              #
+              # - In response: present if set by create/update request - In create/update request: optional
+              #
+              # Example 1: Compute Timestamp from POSIX `time()`.
+              #
+              # Timestamp timestamp; timestamp.set_seconds(time(NULL)); timestamp.set_nanos(0);
+              #
+              # Example 2: Compute Timestamp from POSIX `gettimeofday()`.
+              #
+              # struct timeval tv; gettimeofday(&tv, NULL);
+              #
+              # Timestamp timestamp; timestamp.set_seconds(tv.tv_sec); timestamp.set_nanos(tv.tv_usec * 1000);
+              #
+              # Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
+              #
+              # FILETIME ft; GetSystemTimeAsFileTime(&ft); UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
+              #
+              # // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. Timestamp timestamp; timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
+              #
+              # Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
+              #
+              # long millis = System.currentTimeMillis();
+              #
+              # Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) .setNanos((int) ((millis % 1000) * 1000000)).build();
+              #
+              #
+              #
+              # Example 5: Compute Timestamp from current time in Python.
+              #
+              # now = time.time() seconds = int(now) nanos = int((now - seconds) * 10**9) timestamp = Timestamp(seconds=seconds, nanos=nanos)
+            "nanos": 42, # Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive.
+            "seconds": "A String", # Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
+          },
+        },
+      ],
+      "commandLineArguments": [ # The full tokenized command line including the program name (equivalent to argv in a C program).
+          #
+          # - In response: present if set by create request - In create request: optional - In update request: never set
+        "A String",
+      ],
+    },
+  },
+  "stepId": "A String", # A unique identifier within a Execution for this Step.
+      # 
+      # Returns INVALID_ARGUMENT if this field is set or overwritten by the caller.
+      # 
+      # - In response: always set - In create/update request: never set
+  "runDuration": { # A Duration represents a signed, fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like "day" or "month". It is related to Timestamp in that the difference between two Timestamp values is a Duration and it can be added or subtracted from a Timestamp. Range is approximately +-10,000 years. # How long it took for this step to run.
+      # 
+      # If unset, this is set to the difference between creation_time and completion_time when the step is set to the COMPLETE state. In some cases, it is appropriate to set this value separately: For instance, if a step is created, but the operation it represents is queued for a few minutes before it executes, it would be appropriate not to include the time spent queued in its run_duration.
+      # 
+      # PRECONDITION_FAILED will be returned if one attempts to set a run_duration on a step which already has this field set.
+      # 
+      # - In response: present if previously set; always present on COMPLETE step - In create request: optional - In update request: optional
+      #
+      # Example 1: Compute Duration from two Timestamps in pseudo code.
+      #
+      # Timestamp start = ...; Timestamp end = ...; Duration duration = ...;
+      #
+      # duration.seconds = end.seconds - start.seconds; duration.nanos = end.nanos - start.nanos;
+      #
+      # if (duration.seconds  0) { duration.seconds += 1; duration.nanos -= 1000000000; } else if (durations.seconds > 0 && duration.nanos < 0) { duration.seconds -= 1; duration.nanos += 1000000000; }
+      #
+      # Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.
+      #
+      # Timestamp start = ...; Duration duration = ...; Timestamp end = ...;
+      #
+      # end.seconds = start.seconds + duration.seconds; end.nanos = start.nanos + duration.nanos;
+      #
+      # if (end.nanos = 1000000000) { end.seconds += 1; end.nanos -= 1000000000; }
+    "nanos": 42, # Signed fractions of a second at nanosecond resolution of the span of time. Durations less than one second are represented with a 0 `seconds` field and a positive or negative `nanos` field. For durations of one second or more, a non-zero value for the `nanos` field must be of the same sign as the `seconds` field. Must be from -999,999,999 to +999,999,999 inclusive.
+    "seconds": "A String", # Signed seconds of the span of time. Must be from -315,576,000,000 to +315,576,000,000 inclusive.
+  },
+  "description": "A String", # A description of this tool For example: mvn clean package -D skipTests=true
+      # 
+      # - In response: present if set by create/update request - In create/update request: optional
+  "labels": [ # Arbitrary user-supplied key/value pairs that are associated with the step.
+      # 
+      # Users are responsible for managing the key namespace such that keys don't accidentally collide.
+      # 
+      # An INVALID_ARGUMENT will be returned if the number of labels exceeds 100 or if the length of any of the keys or values exceeds 100 characters.
+      # 
+      # - In response: always set - In create request: optional - In update request: optional; any new key/value pair will be added to the map, and any new value for an existing key will update that key's value
+    {
+      "value": "A String",
+      "key": "A String",
+    },
+  ],
+  "creationTime": { # A Timestamp represents a point in time independent of any time zone or calendar, represented as seconds and fractions of seconds at nanosecond resolution in UTC Epoch time. It is encoded using the Proleptic Gregorian Calendar which extends the Gregorian calendar backwards to year one. It is encoded assuming all minutes are 60 seconds long, i.e. leap seconds are "smeared" so that no leap second table is needed for interpretation. Range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to and from RFC 3339 date strings. See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). # The time when the step was created.
+      # 
+      # - In response: always set - In create/update request: never set
+      #
+      # Example 1: Compute Timestamp from POSIX `time()`.
+      #
+      # Timestamp timestamp; timestamp.set_seconds(time(NULL)); timestamp.set_nanos(0);
+      #
+      # Example 2: Compute Timestamp from POSIX `gettimeofday()`.
+      #
+      # struct timeval tv; gettimeofday(&tv, NULL);
+      #
+      # Timestamp timestamp; timestamp.set_seconds(tv.tv_sec); timestamp.set_nanos(tv.tv_usec * 1000);
+      #
+      # Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
+      #
+      # FILETIME ft; GetSystemTimeAsFileTime(&ft); UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
+      #
+      # // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. Timestamp timestamp; timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
+      #
+      # Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
+      #
+      # long millis = System.currentTimeMillis();
+      #
+      # Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) .setNanos((int) ((millis % 1000) * 1000000)).build();
+      #
+      #
+      #
+      # Example 5: Compute Timestamp from current time in Python.
+      #
+      # now = time.time() seconds = int(now) nanos = int((now - seconds) * 10**9) timestamp = Timestamp(seconds=seconds, nanos=nanos)
+    "nanos": 42, # Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive.
+    "seconds": "A String", # Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
+  },
+  "name": "A String", # A short human-readable name to display in the UI. Maximum of 100 characters. For example: Clean build
+      # 
+      # A PRECONDITION_FAILED will be returned upon creating a new step if it shares its name and dimension_value with an existing step. If two steps represent a similar action, but have different dimension values, they should share the same name. For instance, if the same set of tests is run on two different platforms, the two steps should have the same name.
+      # 
+      # - In response: always set - In create request: always set - In update request: never set
+  "state": "A String", # The initial state is IN_PROGRESS. The only legal state transitions are * IN_PROGRESS -> COMPLETE
+      # 
+      # A PRECONDITION_FAILED will be returned if an invalid transition is requested.
+      # 
+      # It is valid to create Step with a state set to COMPLETE. The state can only be set to COMPLETE once. A PRECONDITION_FAILED will be returned if the state is set to COMPLETE multiple times.
+      # 
+      # - In response: always set - In create/update request: optional
+  "completionTime": { # A Timestamp represents a point in time independent of any time zone or calendar, represented as seconds and fractions of seconds at nanosecond resolution in UTC Epoch time. It is encoded using the Proleptic Gregorian Calendar which extends the Gregorian calendar backwards to year one. It is encoded assuming all minutes are 60 seconds long, i.e. leap seconds are "smeared" so that no leap second table is needed for interpretation. Range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to and from RFC 3339 date strings. See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). # The time when the step status was set to complete.
+      # 
+      # This value will be set automatically when state transitions to COMPLETE.
+      # 
+      # - In response: set if the execution state is COMPLETE. - In create/update request: never set
+      #
+      # Example 1: Compute Timestamp from POSIX `time()`.
+      #
+      # Timestamp timestamp; timestamp.set_seconds(time(NULL)); timestamp.set_nanos(0);
+      #
+      # Example 2: Compute Timestamp from POSIX `gettimeofday()`.
+      #
+      # struct timeval tv; gettimeofday(&tv, NULL);
+      #
+      # Timestamp timestamp; timestamp.set_seconds(tv.tv_sec); timestamp.set_nanos(tv.tv_usec * 1000);
+      #
+      # Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
+      #
+      # FILETIME ft; GetSystemTimeAsFileTime(&ft); UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
+      #
+      # // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. Timestamp timestamp; timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
+      #
+      # Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
+      #
+      # long millis = System.currentTimeMillis();
+      #
+      # Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) .setNanos((int) ((millis % 1000) * 1000000)).build();
+      #
+      #
+      #
+      # Example 5: Compute Timestamp from current time in Python.
+      #
+      # now = time.time() seconds = int(now) nanos = int((now - seconds) * 10**9) timestamp = Timestamp(seconds=seconds, nanos=nanos)
+    "nanos": 42, # Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive.
+    "seconds": "A String", # Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
+  },
+  "dimensionValue": [ # If the execution containing this step has any dimension_definition set, then this field allows the child to specify the values of the dimensions.
+      # 
+      # The keys must exactly match the dimension_definition of the execution.
+      # 
+      # For example, if the execution has `dimension_definition = ['attempt', 'device']` then a step must define values for those dimensions, eg. `dimension_value = ['attempt': '1', 'device': 'Nexus 6']`
+      # 
+      # If a step does not participate in one dimension of the matrix, the value for that dimension should be empty string. For example, if one of the tests is executed by a runner which does not support retries, the step could have `dimension_value = ['attempt': '', 'device': 'Nexus 6']`
+      # 
+      # If the step does not participate in any dimensions of the matrix, it may leave dimension_value unset.
+      # 
+      # A PRECONDITION_FAILED will be returned if any of the keys do not exist in the dimension_definition of the execution.
+      # 
+      # A PRECONDITION_FAILED will be returned if another step in this execution already has the same name and dimension_value, but differs on other data fields, for example, step field is different.
+      # 
+      # A PRECONDITION_FAILED will be returned if dimension_value is set, and there is a dimension_definition in the execution which is not specified as one of the keys.
+      # 
+      # - In response: present if set by create - In create request: optional - In update request: never set
+    {
+      "value": "A String",
+      "key": "A String",
+    },
+  ],
+  "outcome": { # Interprets a result so that humans and machines can act on it. # Classification of the result, for example into SUCCESS or FAILURE
+      # 
+      # - In response: present if set by create/update request - In create/update request: optional
+    "inconclusiveDetail": { # More information about an INCONCLUSIVE outcome.
+        #
+        # Returns INVALID_ARGUMENT if this field is set but the summary is not INCONCLUSIVE.
+        #
+        # Optional
+      "infrastructureFailure": True or False, # If the test runner could not determine success or failure because the test depends on a component other than the system under test which failed.
+          #
+          # For example, a mobile test requires provisioning a device where the test executes, and that provisioning can fail.
+      "nativeCrash": True or False, # A native process crashed on the device, producing a tombstone. It is unclear whether the crash was related to the app under test.
+          #
+          # For example, OpenGL crashed, but it is unclear if the app is responsible.
+      "abortedByUser": True or False, # If the end user aborted the test execution before a pass or fail could be determined. For example, the user pressed ctrl-c which sent a kill signal to the test runner while the test was running.
+    },
+    "skippedDetail": { # More information about a SKIPPED outcome.
+        #
+        # Returns INVALID_ARGUMENT if this field is set but the summary is not SKIPPED.
+        #
+        # Optional
+      "incompatibleAppVersion": True or False, # If the App doesn't support the specific API level.
+      "incompatibleArchitecture": True or False, # If the App doesn't run on the specific architecture, for example, x86.
+      "incompatibleDevice": True or False, # If the requested OS version doesn't run on the specific device model.
+    },
+    "successDetail": { # More information about a SUCCESS outcome.
+        #
+        # Returns INVALID_ARGUMENT if this field is set but the summary is not SUCCESS.
+        #
+        # Optional
+      "otherNativeCrash": True or False, # If a native process other than the app crashed.
+    },
+    "failureDetail": { # More information about a FAILURE outcome.
+        #
+        # Returns INVALID_ARGUMENT if this field is set but the summary is not FAILURE.
+        #
+        # Optional
+      "otherNativeCrash": True or False, # If a native process other than the app crashed.
+      "crashed": True or False, # If the failure was severe because the system under test crashed.
+      "unableToCrawl": True or False, # If the robo was unable to crawl the app; perhaps because the app did not start.
+      "notInstalled": True or False, # If an app is not installed and thus no test can be run with the app. This might be caused by trying to run a test on an unsupported platform.
+      "timedOut": True or False, # If the test overran some time limit, and that is why it failed.
+    },
+    "summary": "A String", # The simplest way to interpret a result.
+        #
+        # Required
+  },
+  "deviceUsageDuration": { # A Duration represents a signed, fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like "day" or "month". It is related to Timestamp in that the difference between two Timestamp values is a Duration and it can be added or subtracted from a Timestamp. Range is approximately +-10,000 years. # How much the device resource is used to perform the test.
+      # 
+      # This is the device usage used for billing purpose, which is different from the run_duration, for example, infrastructure failure won't be charged for device usage.
+      # 
+      # PRECONDITION_FAILED will be returned if one attempts to set a device_usage on a step which already has this field set.
+      # 
+      # - In response: present if previously set. - In create request: optional - In update request: optional
+      #
+      # Example 1: Compute Duration from two Timestamps in pseudo code.
+      #
+      # Timestamp start = ...; Timestamp end = ...; Duration duration = ...;
+      #
+      # duration.seconds = end.seconds - start.seconds; duration.nanos = end.nanos - start.nanos;
+      #
+      # if (duration.seconds  0) { duration.seconds += 1; duration.nanos -= 1000000000; } else if (durations.seconds > 0 && duration.nanos < 0) { duration.seconds -= 1; duration.nanos += 1000000000; }
+      #
+      # Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.
+      #
+      # Timestamp start = ...; Duration duration = ...; Timestamp end = ...;
+      #
+      # end.seconds = start.seconds + duration.seconds; end.nanos = start.nanos + duration.nanos;
+      #
+      # if (end.nanos = 1000000000) { end.seconds += 1; end.nanos -= 1000000000; }
+    "nanos": 42, # Signed fractions of a second at nanosecond resolution of the span of time. Durations less than one second are represented with a 0 `seconds` field and a positive or negative `nanos` field. For durations of one second or more, a non-zero value for the `nanos` field must be of the same sign as the `seconds` field. Must be from -999,999,999 to +999,999,999 inclusive.
+    "seconds": "A String", # Signed seconds of the span of time. Must be from -315,576,000,000 to +315,576,000,000 inclusive.
+  },
+  "hasImages": True or False, # Whether any of the outputs of this step are images whose thumbnails can be fetched with ListThumbnails.
+      # 
+      # - In response: always set - In create/update request: never set
+}
+
+  requestId: string, A unique request ID for server to detect duplicated requests. For example, a UUID.
+
+Optional, but strongly recommended.
+
+Returns:
+  An object of the form:
+
+    { # A Step represents a single operation performed as part of Execution. A step can be used to represent the execution of a tool ( for example a test runner execution or an execution of a compiler).
+      #
+      # Steps can overlap (for instance two steps might have the same start time if some operations are done in parallel).
+      #
+      # Here is an example, let's consider that we have a continuous build is executing a test runner for each iteration. The workflow would look like: - user creates a Execution with id 1 - user creates an TestExecutionStep with id 100 for Execution 1 - user update TestExecutionStep with id 100 to add a raw xml log + the service parses the xml logs and returns a TestExecutionStep with updated TestResult(s). - user update the status of TestExecutionStep with id 100 to COMPLETE
+      #
+      # A Step can be updated until its state is set to COMPLETE at which points it becomes immutable.
+    "testExecutionStep": { # A step that represents running tests. # An execution of a test runner.
+        #
+        # It accepts ant-junit xml files which will be parsed into structured test results by the service. Xml file paths are updated in order to append more files, however they can't be deleted.
+        #
+        # Users can also add test results manually by using the test_result field.
+      "testTiming": { # Testing timing break down to know phases. # The timing break down of the test execution.
+          #
+          # - In response: present if set by create or update - In create/update request: optional
+        "testProcessDuration": { # A Duration represents a signed, fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like "day" or "month". It is related to Timestamp in that the difference between two Timestamp values is a Duration and it can be added or subtracted from a Timestamp. Range is approximately +-10,000 years. # How long it took to run the test process.
+            #
+            # - In response: present if previously set. - In create/update request: optional
+            #
+            # Example 1: Compute Duration from two Timestamps in pseudo code.
+            #
+            # Timestamp start = ...; Timestamp end = ...; Duration duration = ...;
+            #
+            # duration.seconds = end.seconds - start.seconds; duration.nanos = end.nanos - start.nanos;
+            #
+            # if (duration.seconds  0) { duration.seconds += 1; duration.nanos -= 1000000000; } else if (durations.seconds > 0 && duration.nanos < 0) { duration.seconds -= 1; duration.nanos += 1000000000; }
+            #
+            # Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.
+            #
+            # Timestamp start = ...; Duration duration = ...; Timestamp end = ...;
+            #
+            # end.seconds = start.seconds + duration.seconds; end.nanos = start.nanos + duration.nanos;
+            #
+            # if (end.nanos = 1000000000) { end.seconds += 1; end.nanos -= 1000000000; }
+          "nanos": 42, # Signed fractions of a second at nanosecond resolution of the span of time. Durations less than one second are represented with a 0 `seconds` field and a positive or negative `nanos` field. For durations of one second or more, a non-zero value for the `nanos` field must be of the same sign as the `seconds` field. Must be from -999,999,999 to +999,999,999 inclusive.
+          "seconds": "A String", # Signed seconds of the span of time. Must be from -315,576,000,000 to +315,576,000,000 inclusive.
+        },
+      },
+      "testSuiteOverviews": [ # List of test suite overview contents. This could be parsed from xUnit XML log by server, or uploaded directly by user. This references should only be called when test suites are fully parsed or uploaded.
+          #
+          # The maximum allowed number of test suite overviews per step is 1000.
+          #
+          # - In response: always set - In create request: optional - In update request: never (use publishXunitXmlFiles custom method instead)
+        { # A summary of a test suite result either parsed from XML or uploaded directly by a user.
+            #
+            # Note: the API related comments are for StepService only. This message is also being used in ExecutionService in a read only mode for the corresponding step.
+          "name": "A String", # The name of the test suite.
+              #
+              # - In create/response: always set - In update request: never
+          "errorCount": 42, # Number of test cases in error, typically set by the service by parsing the xml_source.
+              #
+              # - In create/response: always set - In update request: never
+          "totalCount": 42, # Number of test cases, typically set by the service by parsing the xml_source.
+              #
+              # - In create/response: always set - In update request: never
+          "xmlSource": { # A reference to a file. # If this test suite was parsed from XML, this is the URI where the original XML file is stored.
+              #
+              # Note: Multiple test suites can share the same xml_source
+              #
+              # Returns INVALID_ARGUMENT if the uri format is not supported.
+              #
+              # - In create/response: optional - In update request: never
+            "fileUri": "A String", # The URI of a file stored in Google Cloud Storage.
+                #
+                # For example: http://storage.googleapis.com/mybucket/path/to/test.xml or in gsutil format: gs://mybucket/path/to/test.xml with version-specific info, gs://mybucket/path/to/test.xml#1360383693690000
+                #
+                # An INVALID_ARGUMENT error will be returned if the URI format is not supported.
+                #
+                # - In response: always set - In create/update request: always set
+          },
+          "failureCount": 42, # Number of failed test cases, typically set by the service by parsing the xml_source. May also be set by the user.
+              #
+              # - In create/response: always set - In update request: never
+          "skippedCount": 42, # Number of test cases not run, typically set by the service by parsing the xml_source.
+              #
+              # - In create/response: always set - In update request: never
+        },
+      ],
+      "toolExecution": { # An execution of an arbitrary tool. It could be a test runner or a tool copying artifacts or deploying code. # Represents the execution of the test runner.
+          #
+          # The exit code of this tool will be used to determine if the test passed.
+          #
+          # - In response: always set - In create/update request: optional
+        "toolLogs": [ # References to any plain text logs output the tool execution.
+            #
+            # This field can be set before the tool has exited in order to be able to have access to a live view of the logs while the tool is running.
+            #
+            # The maximum allowed number of tool logs per step is 1000.
+            #
+            # - In response: present if set by create/update request - In create request: optional - In update request: optional, any value provided will be appended to the existing list
+          { # A reference to a file.
+            "fileUri": "A String", # The URI of a file stored in Google Cloud Storage.
+                #
+                # For example: http://storage.googleapis.com/mybucket/path/to/test.xml or in gsutil format: gs://mybucket/path/to/test.xml with version-specific info, gs://mybucket/path/to/test.xml#1360383693690000
+                #
+                # An INVALID_ARGUMENT error will be returned if the URI format is not supported.
+                #
+                # - In response: always set - In create/update request: always set
+          },
+        ],
+        "exitCode": { # Exit code from a tool execution. # Tool execution exit code. This field will be set once the tool has exited.
+            #
+            # - In response: present if set by create/update request - In create request: optional - In update request: optional, a FAILED_PRECONDITION error will be returned if an exit_code is already set.
+          "number": 42, # Tool execution exit code. A value of 0 means that the execution was successful.
+              #
+              # - In response: always set - In create/update request: always set
+        },
+        "toolOutputs": [ # References to opaque files of any format output by the tool execution.
+            #
+            # The maximum allowed number of tool outputs per step is 1000.
+            #
+            # - In response: present if set by create/update request - In create request: optional - In update request: optional, any value provided will be appended to the existing list
+          { # A reference to a ToolExecution output file.
+            "testCase": { # A reference to a test case. # The test case to which this output file belongs.
+                #
+                # - In response: present if set by create/update request - In create/update request: optional
+                #
+                # Test case references are canonically ordered lexicographically by these three factors: * First, by test_suite_name. * Second, by class_name. * Third, by name.
+              "className": "A String", # The name of the class.
+              "testSuiteName": "A String", # The name of the test suite to which this test case belongs.
+              "name": "A String", # The name of the test case.
+                  #
+                  # Required.
+            },
+            "output": { # A reference to a file. # A FileReference to an output file.
+                #
+                # - In response: always set - In create/update request: always set
+              "fileUri": "A String", # The URI of a file stored in Google Cloud Storage.
+                  #
+                  # For example: http://storage.googleapis.com/mybucket/path/to/test.xml or in gsutil format: gs://mybucket/path/to/test.xml with version-specific info, gs://mybucket/path/to/test.xml#1360383693690000
+                  #
+                  # An INVALID_ARGUMENT error will be returned if the URI format is not supported.
+                  #
+                  # - In response: always set - In create/update request: always set
+            },
+            "creationTime": { # A Timestamp represents a point in time independent of any time zone or calendar, represented as seconds and fractions of seconds at nanosecond resolution in UTC Epoch time. It is encoded using the Proleptic Gregorian Calendar which extends the Gregorian calendar backwards to year one. It is encoded assuming all minutes are 60 seconds long, i.e. leap seconds are "smeared" so that no leap second table is needed for interpretation. Range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to and from RFC 3339 date strings. See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). # The creation time of the file.
+                #
+                # - In response: present if set by create/update request - In create/update request: optional
+                #
+                # Example 1: Compute Timestamp from POSIX `time()`.
+                #
+                # Timestamp timestamp; timestamp.set_seconds(time(NULL)); timestamp.set_nanos(0);
+                #
+                # Example 2: Compute Timestamp from POSIX `gettimeofday()`.
+                #
+                # struct timeval tv; gettimeofday(&tv, NULL);
+                #
+                # Timestamp timestamp; timestamp.set_seconds(tv.tv_sec); timestamp.set_nanos(tv.tv_usec * 1000);
+                #
+                # Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
+                #
+                # FILETIME ft; GetSystemTimeAsFileTime(&ft); UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
+                #
+                # // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. Timestamp timestamp; timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
+                #
+                # Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
+                #
+                # long millis = System.currentTimeMillis();
+                #
+                # Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) .setNanos((int) ((millis % 1000) * 1000000)).build();
+                #
+                #
+                #
+                # Example 5: Compute Timestamp from current time in Python.
+                #
+                # now = time.time() seconds = int(now) nanos = int((now - seconds) * 10**9) timestamp = Timestamp(seconds=seconds, nanos=nanos)
+              "nanos": 42, # Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive.
+              "seconds": "A String", # Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
+            },
+          },
+        ],
+        "commandLineArguments": [ # The full tokenized command line including the program name (equivalent to argv in a C program).
+            #
+            # - In response: present if set by create request - In create request: optional - In update request: never set
+          "A String",
+        ],
+      },
+      "testIssues": [ # Issues observed during the test execution.
+          #
+          # For example, if the mobile app under test crashed during the test, the error message and the stack trace content can be recorded here to assist debugging.
+          #
+          # - In response: present if set by create or update - In create/update request: optional
+        { # An abnormal event observed during the test execution.
+          "stackTrace": { # A stacktrace. # Optional.
+            "exception": "A String", # The stack trace message.
+                #
+                # Required
+          },
+          "errorMessage": "A String", # A brief human-readable message describing the abnormal event.
+              #
+              # Required.
+        },
+      ],
+    },
+    "toolExecutionStep": { # Generic tool step to be used for binaries we do not explicitly support. For example: running cp to copy artifacts from one location to another. # An execution of a tool (used for steps we don't explicitly support).
+      "toolExecution": { # An execution of an arbitrary tool. It could be a test runner or a tool copying artifacts or deploying code. # A Tool execution.
+          #
+          # - In response: present if set by create/update request - In create/update request: optional
+        "toolLogs": [ # References to any plain text logs output the tool execution.
+            #
+            # This field can be set before the tool has exited in order to be able to have access to a live view of the logs while the tool is running.
+            #
+            # The maximum allowed number of tool logs per step is 1000.
+            #
+            # - In response: present if set by create/update request - In create request: optional - In update request: optional, any value provided will be appended to the existing list
+          { # A reference to a file.
+            "fileUri": "A String", # The URI of a file stored in Google Cloud Storage.
+                #
+                # For example: http://storage.googleapis.com/mybucket/path/to/test.xml or in gsutil format: gs://mybucket/path/to/test.xml with version-specific info, gs://mybucket/path/to/test.xml#1360383693690000
+                #
+                # An INVALID_ARGUMENT error will be returned if the URI format is not supported.
+                #
+                # - In response: always set - In create/update request: always set
+          },
+        ],
+        "exitCode": { # Exit code from a tool execution. # Tool execution exit code. This field will be set once the tool has exited.
+            #
+            # - In response: present if set by create/update request - In create request: optional - In update request: optional, a FAILED_PRECONDITION error will be returned if an exit_code is already set.
+          "number": 42, # Tool execution exit code. A value of 0 means that the execution was successful.
+              #
+              # - In response: always set - In create/update request: always set
+        },
+        "toolOutputs": [ # References to opaque files of any format output by the tool execution.
+            #
+            # The maximum allowed number of tool outputs per step is 1000.
+            #
+            # - In response: present if set by create/update request - In create request: optional - In update request: optional, any value provided will be appended to the existing list
+          { # A reference to a ToolExecution output file.
+            "testCase": { # A reference to a test case. # The test case to which this output file belongs.
+                #
+                # - In response: present if set by create/update request - In create/update request: optional
+                #
+                # Test case references are canonically ordered lexicographically by these three factors: * First, by test_suite_name. * Second, by class_name. * Third, by name.
+              "className": "A String", # The name of the class.
+              "testSuiteName": "A String", # The name of the test suite to which this test case belongs.
+              "name": "A String", # The name of the test case.
+                  #
+                  # Required.
+            },
+            "output": { # A reference to a file. # A FileReference to an output file.
+                #
+                # - In response: always set - In create/update request: always set
+              "fileUri": "A String", # The URI of a file stored in Google Cloud Storage.
+                  #
+                  # For example: http://storage.googleapis.com/mybucket/path/to/test.xml or in gsutil format: gs://mybucket/path/to/test.xml with version-specific info, gs://mybucket/path/to/test.xml#1360383693690000
+                  #
+                  # An INVALID_ARGUMENT error will be returned if the URI format is not supported.
+                  #
+                  # - In response: always set - In create/update request: always set
+            },
+            "creationTime": { # A Timestamp represents a point in time independent of any time zone or calendar, represented as seconds and fractions of seconds at nanosecond resolution in UTC Epoch time. It is encoded using the Proleptic Gregorian Calendar which extends the Gregorian calendar backwards to year one. It is encoded assuming all minutes are 60 seconds long, i.e. leap seconds are "smeared" so that no leap second table is needed for interpretation. Range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to and from RFC 3339 date strings. See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). # The creation time of the file.
+                #
+                # - In response: present if set by create/update request - In create/update request: optional
+                #
+                # Example 1: Compute Timestamp from POSIX `time()`.
+                #
+                # Timestamp timestamp; timestamp.set_seconds(time(NULL)); timestamp.set_nanos(0);
+                #
+                # Example 2: Compute Timestamp from POSIX `gettimeofday()`.
+                #
+                # struct timeval tv; gettimeofday(&tv, NULL);
+                #
+                # Timestamp timestamp; timestamp.set_seconds(tv.tv_sec); timestamp.set_nanos(tv.tv_usec * 1000);
+                #
+                # Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
+                #
+                # FILETIME ft; GetSystemTimeAsFileTime(&ft); UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
+                #
+                # // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. Timestamp timestamp; timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
+                #
+                # Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
+                #
+                # long millis = System.currentTimeMillis();
+                #
+                # Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) .setNanos((int) ((millis % 1000) * 1000000)).build();
+                #
+                #
+                #
+                # Example 5: Compute Timestamp from current time in Python.
+                #
+                # now = time.time() seconds = int(now) nanos = int((now - seconds) * 10**9) timestamp = Timestamp(seconds=seconds, nanos=nanos)
+              "nanos": 42, # Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive.
+              "seconds": "A String", # Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
+            },
+          },
+        ],
+        "commandLineArguments": [ # The full tokenized command line including the program name (equivalent to argv in a C program).
+            #
+            # - In response: present if set by create request - In create request: optional - In update request: never set
+          "A String",
+        ],
+      },
+    },
+    "stepId": "A String", # A unique identifier within a Execution for this Step.
+        #
+        # Returns INVALID_ARGUMENT if this field is set or overwritten by the caller.
+        #
+        # - In response: always set - In create/update request: never set
+    "runDuration": { # A Duration represents a signed, fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like "day" or "month". It is related to Timestamp in that the difference between two Timestamp values is a Duration and it can be added or subtracted from a Timestamp. Range is approximately +-10,000 years. # How long it took for this step to run.
+        #
+        # If unset, this is set to the difference between creation_time and completion_time when the step is set to the COMPLETE state. In some cases, it is appropriate to set this value separately: For instance, if a step is created, but the operation it represents is queued for a few minutes before it executes, it would be appropriate not to include the time spent queued in its run_duration.
+        #
+        # PRECONDITION_FAILED will be returned if one attempts to set a run_duration on a step which already has this field set.
+        #
+        # - In response: present if previously set; always present on COMPLETE step - In create request: optional - In update request: optional
+        #
+        # Example 1: Compute Duration from two Timestamps in pseudo code.
+        #
+        # Timestamp start = ...; Timestamp end = ...; Duration duration = ...;
+        #
+        # duration.seconds = end.seconds - start.seconds; duration.nanos = end.nanos - start.nanos;
+        #
+        # if (duration.seconds  0) { duration.seconds += 1; duration.nanos -= 1000000000; } else if (durations.seconds > 0 && duration.nanos < 0) { duration.seconds -= 1; duration.nanos += 1000000000; }
+        #
+        # Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.
+        #
+        # Timestamp start = ...; Duration duration = ...; Timestamp end = ...;
+        #
+        # end.seconds = start.seconds + duration.seconds; end.nanos = start.nanos + duration.nanos;
+        #
+        # if (end.nanos = 1000000000) { end.seconds += 1; end.nanos -= 1000000000; }
+      "nanos": 42, # Signed fractions of a second at nanosecond resolution of the span of time. Durations less than one second are represented with a 0 `seconds` field and a positive or negative `nanos` field. For durations of one second or more, a non-zero value for the `nanos` field must be of the same sign as the `seconds` field. Must be from -999,999,999 to +999,999,999 inclusive.
+      "seconds": "A String", # Signed seconds of the span of time. Must be from -315,576,000,000 to +315,576,000,000 inclusive.
+    },
+    "description": "A String", # A description of this tool For example: mvn clean package -D skipTests=true
+        #
+        # - In response: present if set by create/update request - In create/update request: optional
+    "labels": [ # Arbitrary user-supplied key/value pairs that are associated with the step.
+        #
+        # Users are responsible for managing the key namespace such that keys don't accidentally collide.
+        #
+        # An INVALID_ARGUMENT will be returned if the number of labels exceeds 100 or if the length of any of the keys or values exceeds 100 characters.
+        #
+        # - In response: always set - In create request: optional - In update request: optional; any new key/value pair will be added to the map, and any new value for an existing key will update that key's value
+      {
+        "value": "A String",
+        "key": "A String",
+      },
+    ],
+    "creationTime": { # A Timestamp represents a point in time independent of any time zone or calendar, represented as seconds and fractions of seconds at nanosecond resolution in UTC Epoch time. It is encoded using the Proleptic Gregorian Calendar which extends the Gregorian calendar backwards to year one. It is encoded assuming all minutes are 60 seconds long, i.e. leap seconds are "smeared" so that no leap second table is needed for interpretation. Range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to and from RFC 3339 date strings. See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). # The time when the step was created.
+        #
+        # - In response: always set - In create/update request: never set
+        #
+        # Example 1: Compute Timestamp from POSIX `time()`.
+        #
+        # Timestamp timestamp; timestamp.set_seconds(time(NULL)); timestamp.set_nanos(0);
+        #
+        # Example 2: Compute Timestamp from POSIX `gettimeofday()`.
+        #
+        # struct timeval tv; gettimeofday(&tv, NULL);
+        #
+        # Timestamp timestamp; timestamp.set_seconds(tv.tv_sec); timestamp.set_nanos(tv.tv_usec * 1000);
+        #
+        # Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
+        #
+        # FILETIME ft; GetSystemTimeAsFileTime(&ft); UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
+        #
+        # // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. Timestamp timestamp; timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
+        #
+        # Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
+        #
+        # long millis = System.currentTimeMillis();
+        #
+        # Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) .setNanos((int) ((millis % 1000) * 1000000)).build();
+        #
+        #
+        #
+        # Example 5: Compute Timestamp from current time in Python.
+        #
+        # now = time.time() seconds = int(now) nanos = int((now - seconds) * 10**9) timestamp = Timestamp(seconds=seconds, nanos=nanos)
+      "nanos": 42, # Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive.
+      "seconds": "A String", # Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
+    },
+    "name": "A String", # A short human-readable name to display in the UI. Maximum of 100 characters. For example: Clean build
+        #
+        # A PRECONDITION_FAILED will be returned upon creating a new step if it shares its name and dimension_value with an existing step. If two steps represent a similar action, but have different dimension values, they should share the same name. For instance, if the same set of tests is run on two different platforms, the two steps should have the same name.
+        #
+        # - In response: always set - In create request: always set - In update request: never set
+    "state": "A String", # The initial state is IN_PROGRESS. The only legal state transitions are * IN_PROGRESS -> COMPLETE
+        #
+        # A PRECONDITION_FAILED will be returned if an invalid transition is requested.
+        #
+        # It is valid to create Step with a state set to COMPLETE. The state can only be set to COMPLETE once. A PRECONDITION_FAILED will be returned if the state is set to COMPLETE multiple times.
+        #
+        # - In response: always set - In create/update request: optional
+    "completionTime": { # A Timestamp represents a point in time independent of any time zone or calendar, represented as seconds and fractions of seconds at nanosecond resolution in UTC Epoch time. It is encoded using the Proleptic Gregorian Calendar which extends the Gregorian calendar backwards to year one. It is encoded assuming all minutes are 60 seconds long, i.e. leap seconds are "smeared" so that no leap second table is needed for interpretation. Range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to and from RFC 3339 date strings. See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). # The time when the step status was set to complete.
+        #
+        # This value will be set automatically when state transitions to COMPLETE.
+        #
+        # - In response: set if the execution state is COMPLETE. - In create/update request: never set
+        #
+        # Example 1: Compute Timestamp from POSIX `time()`.
+        #
+        # Timestamp timestamp; timestamp.set_seconds(time(NULL)); timestamp.set_nanos(0);
+        #
+        # Example 2: Compute Timestamp from POSIX `gettimeofday()`.
+        #
+        # struct timeval tv; gettimeofday(&tv, NULL);
+        #
+        # Timestamp timestamp; timestamp.set_seconds(tv.tv_sec); timestamp.set_nanos(tv.tv_usec * 1000);
+        #
+        # Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
+        #
+        # FILETIME ft; GetSystemTimeAsFileTime(&ft); UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
+        #
+        # // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. Timestamp timestamp; timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
+        #
+        # Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
+        #
+        # long millis = System.currentTimeMillis();
+        #
+        # Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) .setNanos((int) ((millis % 1000) * 1000000)).build();
+        #
+        #
+        #
+        # Example 5: Compute Timestamp from current time in Python.
+        #
+        # now = time.time() seconds = int(now) nanos = int((now - seconds) * 10**9) timestamp = Timestamp(seconds=seconds, nanos=nanos)
+      "nanos": 42, # Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive.
+      "seconds": "A String", # Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
+    },
+    "dimensionValue": [ # If the execution containing this step has any dimension_definition set, then this field allows the child to specify the values of the dimensions.
+        #
+        # The keys must exactly match the dimension_definition of the execution.
+        #
+        # For example, if the execution has `dimension_definition = ['attempt', 'device']` then a step must define values for those dimensions, eg. `dimension_value = ['attempt': '1', 'device': 'Nexus 6']`
+        #
+        # If a step does not participate in one dimension of the matrix, the value for that dimension should be empty string. For example, if one of the tests is executed by a runner which does not support retries, the step could have `dimension_value = ['attempt': '', 'device': 'Nexus 6']`
+        #
+        # If the step does not participate in any dimensions of the matrix, it may leave dimension_value unset.
+        #
+        # A PRECONDITION_FAILED will be returned if any of the keys do not exist in the dimension_definition of the execution.
+        #
+        # A PRECONDITION_FAILED will be returned if another step in this execution already has the same name and dimension_value, but differs on other data fields, for example, step field is different.
+        #
+        # A PRECONDITION_FAILED will be returned if dimension_value is set, and there is a dimension_definition in the execution which is not specified as one of the keys.
+        #
+        # - In response: present if set by create - In create request: optional - In update request: never set
+      {
+        "value": "A String",
+        "key": "A String",
+      },
+    ],
+    "outcome": { # Interprets a result so that humans and machines can act on it. # Classification of the result, for example into SUCCESS or FAILURE
+        #
+        # - In response: present if set by create/update request - In create/update request: optional
+      "inconclusiveDetail": { # More information about an INCONCLUSIVE outcome.
+          #
+          # Returns INVALID_ARGUMENT if this field is set but the summary is not INCONCLUSIVE.
+          #
+          # Optional
+        "infrastructureFailure": True or False, # If the test runner could not determine success or failure because the test depends on a component other than the system under test which failed.
+            #
+            # For example, a mobile test requires provisioning a device where the test executes, and that provisioning can fail.
+        "nativeCrash": True or False, # A native process crashed on the device, producing a tombstone. It is unclear whether the crash was related to the app under test.
+            #
+            # For example, OpenGL crashed, but it is unclear if the app is responsible.
+        "abortedByUser": True or False, # If the end user aborted the test execution before a pass or fail could be determined. For example, the user pressed ctrl-c which sent a kill signal to the test runner while the test was running.
+      },
+      "skippedDetail": { # More information about a SKIPPED outcome.
+          #
+          # Returns INVALID_ARGUMENT if this field is set but the summary is not SKIPPED.
+          #
+          # Optional
+        "incompatibleAppVersion": True or False, # If the App doesn't support the specific API level.
+        "incompatibleArchitecture": True or False, # If the App doesn't run on the specific architecture, for example, x86.
+        "incompatibleDevice": True or False, # If the requested OS version doesn't run on the specific device model.
+      },
+      "successDetail": { # More information about a SUCCESS outcome.
+          #
+          # Returns INVALID_ARGUMENT if this field is set but the summary is not SUCCESS.
+          #
+          # Optional
+        "otherNativeCrash": True or False, # If a native process other than the app crashed.
+      },
+      "failureDetail": { # More information about a FAILURE outcome.
+          #
+          # Returns INVALID_ARGUMENT if this field is set but the summary is not FAILURE.
+          #
+          # Optional
+        "otherNativeCrash": True or False, # If a native process other than the app crashed.
+        "crashed": True or False, # If the failure was severe because the system under test crashed.
+        "unableToCrawl": True or False, # If the robo was unable to crawl the app; perhaps because the app did not start.
+        "notInstalled": True or False, # If an app is not installed and thus no test can be run with the app. This might be caused by trying to run a test on an unsupported platform.
+        "timedOut": True or False, # If the test overran some time limit, and that is why it failed.
+      },
+      "summary": "A String", # The simplest way to interpret a result.
+          #
+          # Required
+    },
+    "deviceUsageDuration": { # A Duration represents a signed, fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like "day" or "month". It is related to Timestamp in that the difference between two Timestamp values is a Duration and it can be added or subtracted from a Timestamp. Range is approximately +-10,000 years. # How much the device resource is used to perform the test.
+        #
+        # This is the device usage used for billing purpose, which is different from the run_duration, for example, infrastructure failure won't be charged for device usage.
+        #
+        # PRECONDITION_FAILED will be returned if one attempts to set a device_usage on a step which already has this field set.
+        #
+        # - In response: present if previously set. - In create request: optional - In update request: optional
+        #
+        # Example 1: Compute Duration from two Timestamps in pseudo code.
+        #
+        # Timestamp start = ...; Timestamp end = ...; Duration duration = ...;
+        #
+        # duration.seconds = end.seconds - start.seconds; duration.nanos = end.nanos - start.nanos;
+        #
+        # if (duration.seconds  0) { duration.seconds += 1; duration.nanos -= 1000000000; } else if (durations.seconds > 0 && duration.nanos < 0) { duration.seconds -= 1; duration.nanos += 1000000000; }
+        #
+        # Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.
+        #
+        # Timestamp start = ...; Duration duration = ...; Timestamp end = ...;
+        #
+        # end.seconds = start.seconds + duration.seconds; end.nanos = start.nanos + duration.nanos;
+        #
+        # if (end.nanos = 1000000000) { end.seconds += 1; end.nanos -= 1000000000; }
+      "nanos": 42, # Signed fractions of a second at nanosecond resolution of the span of time. Durations less than one second are represented with a 0 `seconds` field and a positive or negative `nanos` field. For durations of one second or more, a non-zero value for the `nanos` field must be of the same sign as the `seconds` field. Must be from -999,999,999 to +999,999,999 inclusive.
+      "seconds": "A String", # Signed seconds of the span of time. Must be from -315,576,000,000 to +315,576,000,000 inclusive.
+    },
+    "hasImages": True or False, # Whether any of the outputs of this step are images whose thumbnails can be fetched with ListThumbnails.
+        #
+        # - In response: always set - In create/update request: never set
+  }
+
+ +
+ get(projectId=None, historyId=None, executionId=None, stepId=None) +
Gets a Step.
+
+May return any of the following canonical error codes:
+
+- PERMISSION_DENIED - if the user is not authorized to read project - INVALID_ARGUMENT - if the request is malformed - NOT_FOUND - if the Step does not exist
+
+Args:
+  projectId: string, A Project id.
+
+Required. (required)
+  historyId: string, A History id.
+
+Required. (required)
+  executionId: string, A Execution id.
+
+Required. (required)
+  stepId: string, A Step id.
+
+Required. (required)
+
+Returns:
+  An object of the form:
+
+    { # A Step represents a single operation performed as part of Execution. A step can be used to represent the execution of a tool ( for example a test runner execution or an execution of a compiler).
+      #
+      # Steps can overlap (for instance two steps might have the same start time if some operations are done in parallel).
+      #
+      # Here is an example, let's consider that we have a continuous build is executing a test runner for each iteration. The workflow would look like: - user creates a Execution with id 1 - user creates an TestExecutionStep with id 100 for Execution 1 - user update TestExecutionStep with id 100 to add a raw xml log + the service parses the xml logs and returns a TestExecutionStep with updated TestResult(s). - user update the status of TestExecutionStep with id 100 to COMPLETE
+      #
+      # A Step can be updated until its state is set to COMPLETE at which points it becomes immutable.
+    "testExecutionStep": { # A step that represents running tests. # An execution of a test runner.
+        #
+        # It accepts ant-junit xml files which will be parsed into structured test results by the service. Xml file paths are updated in order to append more files, however they can't be deleted.
+        #
+        # Users can also add test results manually by using the test_result field.
+      "testTiming": { # Testing timing break down to know phases. # The timing break down of the test execution.
+          #
+          # - In response: present if set by create or update - In create/update request: optional
+        "testProcessDuration": { # A Duration represents a signed, fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like "day" or "month". It is related to Timestamp in that the difference between two Timestamp values is a Duration and it can be added or subtracted from a Timestamp. Range is approximately +-10,000 years. # How long it took to run the test process.
+            #
+            # - In response: present if previously set. - In create/update request: optional
+            #
+            # Example 1: Compute Duration from two Timestamps in pseudo code.
+            #
+            # Timestamp start = ...; Timestamp end = ...; Duration duration = ...;
+            #
+            # duration.seconds = end.seconds - start.seconds; duration.nanos = end.nanos - start.nanos;
+            #
+            # if (duration.seconds  0) { duration.seconds += 1; duration.nanos -= 1000000000; } else if (durations.seconds > 0 && duration.nanos < 0) { duration.seconds -= 1; duration.nanos += 1000000000; }
+            #
+            # Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.
+            #
+            # Timestamp start = ...; Duration duration = ...; Timestamp end = ...;
+            #
+            # end.seconds = start.seconds + duration.seconds; end.nanos = start.nanos + duration.nanos;
+            #
+            # if (end.nanos = 1000000000) { end.seconds += 1; end.nanos -= 1000000000; }
+          "nanos": 42, # Signed fractions of a second at nanosecond resolution of the span of time. Durations less than one second are represented with a 0 `seconds` field and a positive or negative `nanos` field. For durations of one second or more, a non-zero value for the `nanos` field must be of the same sign as the `seconds` field. Must be from -999,999,999 to +999,999,999 inclusive.
+          "seconds": "A String", # Signed seconds of the span of time. Must be from -315,576,000,000 to +315,576,000,000 inclusive.
+        },
+      },
+      "testSuiteOverviews": [ # List of test suite overview contents. This could be parsed from xUnit XML log by server, or uploaded directly by user. This references should only be called when test suites are fully parsed or uploaded.
+          #
+          # The maximum allowed number of test suite overviews per step is 1000.
+          #
+          # - In response: always set - In create request: optional - In update request: never (use publishXunitXmlFiles custom method instead)
+        { # A summary of a test suite result either parsed from XML or uploaded directly by a user.
+            #
+            # Note: the API related comments are for StepService only. This message is also being used in ExecutionService in a read only mode for the corresponding step.
+          "name": "A String", # The name of the test suite.
+              #
+              # - In create/response: always set - In update request: never
+          "errorCount": 42, # Number of test cases in error, typically set by the service by parsing the xml_source.
+              #
+              # - In create/response: always set - In update request: never
+          "totalCount": 42, # Number of test cases, typically set by the service by parsing the xml_source.
+              #
+              # - In create/response: always set - In update request: never
+          "xmlSource": { # A reference to a file. # If this test suite was parsed from XML, this is the URI where the original XML file is stored.
+              #
+              # Note: Multiple test suites can share the same xml_source
+              #
+              # Returns INVALID_ARGUMENT if the uri format is not supported.
+              #
+              # - In create/response: optional - In update request: never
+            "fileUri": "A String", # The URI of a file stored in Google Cloud Storage.
+                #
+                # For example: http://storage.googleapis.com/mybucket/path/to/test.xml or in gsutil format: gs://mybucket/path/to/test.xml with version-specific info, gs://mybucket/path/to/test.xml#1360383693690000
+                #
+                # An INVALID_ARGUMENT error will be returned if the URI format is not supported.
+                #
+                # - In response: always set - In create/update request: always set
+          },
+          "failureCount": 42, # Number of failed test cases, typically set by the service by parsing the xml_source. May also be set by the user.
+              #
+              # - In create/response: always set - In update request: never
+          "skippedCount": 42, # Number of test cases not run, typically set by the service by parsing the xml_source.
+              #
+              # - In create/response: always set - In update request: never
+        },
+      ],
+      "toolExecution": { # An execution of an arbitrary tool. It could be a test runner or a tool copying artifacts or deploying code. # Represents the execution of the test runner.
+          #
+          # The exit code of this tool will be used to determine if the test passed.
+          #
+          # - In response: always set - In create/update request: optional
+        "toolLogs": [ # References to any plain text logs output the tool execution.
+            #
+            # This field can be set before the tool has exited in order to be able to have access to a live view of the logs while the tool is running.
+            #
+            # The maximum allowed number of tool logs per step is 1000.
+            #
+            # - In response: present if set by create/update request - In create request: optional - In update request: optional, any value provided will be appended to the existing list
+          { # A reference to a file.
+            "fileUri": "A String", # The URI of a file stored in Google Cloud Storage.
+                #
+                # For example: http://storage.googleapis.com/mybucket/path/to/test.xml or in gsutil format: gs://mybucket/path/to/test.xml with version-specific info, gs://mybucket/path/to/test.xml#1360383693690000
+                #
+                # An INVALID_ARGUMENT error will be returned if the URI format is not supported.
+                #
+                # - In response: always set - In create/update request: always set
+          },
+        ],
+        "exitCode": { # Exit code from a tool execution. # Tool execution exit code. This field will be set once the tool has exited.
+            #
+            # - In response: present if set by create/update request - In create request: optional - In update request: optional, a FAILED_PRECONDITION error will be returned if an exit_code is already set.
+          "number": 42, # Tool execution exit code. A value of 0 means that the execution was successful.
+              #
+              # - In response: always set - In create/update request: always set
+        },
+        "toolOutputs": [ # References to opaque files of any format output by the tool execution.
+            #
+            # The maximum allowed number of tool outputs per step is 1000.
+            #
+            # - In response: present if set by create/update request - In create request: optional - In update request: optional, any value provided will be appended to the existing list
+          { # A reference to a ToolExecution output file.
+            "testCase": { # A reference to a test case. # The test case to which this output file belongs.
+                #
+                # - In response: present if set by create/update request - In create/update request: optional
+                #
+                # Test case references are canonically ordered lexicographically by these three factors: * First, by test_suite_name. * Second, by class_name. * Third, by name.
+              "className": "A String", # The name of the class.
+              "testSuiteName": "A String", # The name of the test suite to which this test case belongs.
+              "name": "A String", # The name of the test case.
+                  #
+                  # Required.
+            },
+            "output": { # A reference to a file. # A FileReference to an output file.
+                #
+                # - In response: always set - In create/update request: always set
+              "fileUri": "A String", # The URI of a file stored in Google Cloud Storage.
+                  #
+                  # For example: http://storage.googleapis.com/mybucket/path/to/test.xml or in gsutil format: gs://mybucket/path/to/test.xml with version-specific info, gs://mybucket/path/to/test.xml#1360383693690000
+                  #
+                  # An INVALID_ARGUMENT error will be returned if the URI format is not supported.
+                  #
+                  # - In response: always set - In create/update request: always set
+            },
+            "creationTime": { # A Timestamp represents a point in time independent of any time zone or calendar, represented as seconds and fractions of seconds at nanosecond resolution in UTC Epoch time. It is encoded using the Proleptic Gregorian Calendar which extends the Gregorian calendar backwards to year one. It is encoded assuming all minutes are 60 seconds long, i.e. leap seconds are "smeared" so that no leap second table is needed for interpretation. Range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to and from RFC 3339 date strings. See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). # The creation time of the file.
+                #
+                # - In response: present if set by create/update request - In create/update request: optional
+                #
+                # Example 1: Compute Timestamp from POSIX `time()`.
+                #
+                # Timestamp timestamp; timestamp.set_seconds(time(NULL)); timestamp.set_nanos(0);
+                #
+                # Example 2: Compute Timestamp from POSIX `gettimeofday()`.
+                #
+                # struct timeval tv; gettimeofday(&tv, NULL);
+                #
+                # Timestamp timestamp; timestamp.set_seconds(tv.tv_sec); timestamp.set_nanos(tv.tv_usec * 1000);
+                #
+                # Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
+                #
+                # FILETIME ft; GetSystemTimeAsFileTime(&ft); UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
+                #
+                # // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. Timestamp timestamp; timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
+                #
+                # Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
+                #
+                # long millis = System.currentTimeMillis();
+                #
+                # Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) .setNanos((int) ((millis % 1000) * 1000000)).build();
+                #
+                #
+                #
+                # Example 5: Compute Timestamp from current time in Python.
+                #
+                # now = time.time() seconds = int(now) nanos = int((now - seconds) * 10**9) timestamp = Timestamp(seconds=seconds, nanos=nanos)
+              "nanos": 42, # Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive.
+              "seconds": "A String", # Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
+            },
+          },
+        ],
+        "commandLineArguments": [ # The full tokenized command line including the program name (equivalent to argv in a C program).
+            #
+            # - In response: present if set by create request - In create request: optional - In update request: never set
+          "A String",
+        ],
+      },
+      "testIssues": [ # Issues observed during the test execution.
+          #
+          # For example, if the mobile app under test crashed during the test, the error message and the stack trace content can be recorded here to assist debugging.
+          #
+          # - In response: present if set by create or update - In create/update request: optional
+        { # An abnormal event observed during the test execution.
+          "stackTrace": { # A stacktrace. # Optional.
+            "exception": "A String", # The stack trace message.
+                #
+                # Required
+          },
+          "errorMessage": "A String", # A brief human-readable message describing the abnormal event.
+              #
+              # Required.
+        },
+      ],
+    },
+    "toolExecutionStep": { # Generic tool step to be used for binaries we do not explicitly support. For example: running cp to copy artifacts from one location to another. # An execution of a tool (used for steps we don't explicitly support).
+      "toolExecution": { # An execution of an arbitrary tool. It could be a test runner or a tool copying artifacts or deploying code. # A Tool execution.
+          #
+          # - In response: present if set by create/update request - In create/update request: optional
+        "toolLogs": [ # References to any plain text logs output the tool execution.
+            #
+            # This field can be set before the tool has exited in order to be able to have access to a live view of the logs while the tool is running.
+            #
+            # The maximum allowed number of tool logs per step is 1000.
+            #
+            # - In response: present if set by create/update request - In create request: optional - In update request: optional, any value provided will be appended to the existing list
+          { # A reference to a file.
+            "fileUri": "A String", # The URI of a file stored in Google Cloud Storage.
+                #
+                # For example: http://storage.googleapis.com/mybucket/path/to/test.xml or in gsutil format: gs://mybucket/path/to/test.xml with version-specific info, gs://mybucket/path/to/test.xml#1360383693690000
+                #
+                # An INVALID_ARGUMENT error will be returned if the URI format is not supported.
+                #
+                # - In response: always set - In create/update request: always set
+          },
+        ],
+        "exitCode": { # Exit code from a tool execution. # Tool execution exit code. This field will be set once the tool has exited.
+            #
+            # - In response: present if set by create/update request - In create request: optional - In update request: optional, a FAILED_PRECONDITION error will be returned if an exit_code is already set.
+          "number": 42, # Tool execution exit code. A value of 0 means that the execution was successful.
+              #
+              # - In response: always set - In create/update request: always set
+        },
+        "toolOutputs": [ # References to opaque files of any format output by the tool execution.
+            #
+            # The maximum allowed number of tool outputs per step is 1000.
+            #
+            # - In response: present if set by create/update request - In create request: optional - In update request: optional, any value provided will be appended to the existing list
+          { # A reference to a ToolExecution output file.
+            "testCase": { # A reference to a test case. # The test case to which this output file belongs.
+                #
+                # - In response: present if set by create/update request - In create/update request: optional
+                #
+                # Test case references are canonically ordered lexicographically by these three factors: * First, by test_suite_name. * Second, by class_name. * Third, by name.
+              "className": "A String", # The name of the class.
+              "testSuiteName": "A String", # The name of the test suite to which this test case belongs.
+              "name": "A String", # The name of the test case.
+                  #
+                  # Required.
+            },
+            "output": { # A reference to a file. # A FileReference to an output file.
+                #
+                # - In response: always set - In create/update request: always set
+              "fileUri": "A String", # The URI of a file stored in Google Cloud Storage.
+                  #
+                  # For example: http://storage.googleapis.com/mybucket/path/to/test.xml or in gsutil format: gs://mybucket/path/to/test.xml with version-specific info, gs://mybucket/path/to/test.xml#1360383693690000
+                  #
+                  # An INVALID_ARGUMENT error will be returned if the URI format is not supported.
+                  #
+                  # - In response: always set - In create/update request: always set
+            },
+            "creationTime": { # A Timestamp represents a point in time independent of any time zone or calendar, represented as seconds and fractions of seconds at nanosecond resolution in UTC Epoch time. It is encoded using the Proleptic Gregorian Calendar which extends the Gregorian calendar backwards to year one. It is encoded assuming all minutes are 60 seconds long, i.e. leap seconds are "smeared" so that no leap second table is needed for interpretation. Range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to and from RFC 3339 date strings. See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). # The creation time of the file.
+                #
+                # - In response: present if set by create/update request - In create/update request: optional
+                #
+                # Example 1: Compute Timestamp from POSIX `time()`.
+                #
+                # Timestamp timestamp; timestamp.set_seconds(time(NULL)); timestamp.set_nanos(0);
+                #
+                # Example 2: Compute Timestamp from POSIX `gettimeofday()`.
+                #
+                # struct timeval tv; gettimeofday(&tv, NULL);
+                #
+                # Timestamp timestamp; timestamp.set_seconds(tv.tv_sec); timestamp.set_nanos(tv.tv_usec * 1000);
+                #
+                # Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
+                #
+                # FILETIME ft; GetSystemTimeAsFileTime(&ft); UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
+                #
+                # // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. Timestamp timestamp; timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
+                #
+                # Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
+                #
+                # long millis = System.currentTimeMillis();
+                #
+                # Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) .setNanos((int) ((millis % 1000) * 1000000)).build();
+                #
+                #
+                #
+                # Example 5: Compute Timestamp from current time in Python.
+                #
+                # now = time.time() seconds = int(now) nanos = int((now - seconds) * 10**9) timestamp = Timestamp(seconds=seconds, nanos=nanos)
+              "nanos": 42, # Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive.
+              "seconds": "A String", # Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
+            },
+          },
+        ],
+        "commandLineArguments": [ # The full tokenized command line including the program name (equivalent to argv in a C program).
+            #
+            # - In response: present if set by create request - In create request: optional - In update request: never set
+          "A String",
+        ],
+      },
+    },
+    "stepId": "A String", # A unique identifier within a Execution for this Step.
+        #
+        # Returns INVALID_ARGUMENT if this field is set or overwritten by the caller.
+        #
+        # - In response: always set - In create/update request: never set
+    "runDuration": { # A Duration represents a signed, fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like "day" or "month". It is related to Timestamp in that the difference between two Timestamp values is a Duration and it can be added or subtracted from a Timestamp. Range is approximately +-10,000 years. # How long it took for this step to run.
+        #
+        # If unset, this is set to the difference between creation_time and completion_time when the step is set to the COMPLETE state. In some cases, it is appropriate to set this value separately: For instance, if a step is created, but the operation it represents is queued for a few minutes before it executes, it would be appropriate not to include the time spent queued in its run_duration.
+        #
+        # PRECONDITION_FAILED will be returned if one attempts to set a run_duration on a step which already has this field set.
+        #
+        # - In response: present if previously set; always present on COMPLETE step - In create request: optional - In update request: optional
+        #
+        # Example 1: Compute Duration from two Timestamps in pseudo code.
+        #
+        # Timestamp start = ...; Timestamp end = ...; Duration duration = ...;
+        #
+        # duration.seconds = end.seconds - start.seconds; duration.nanos = end.nanos - start.nanos;
+        #
+        # if (duration.seconds  0) { duration.seconds += 1; duration.nanos -= 1000000000; } else if (durations.seconds > 0 && duration.nanos < 0) { duration.seconds -= 1; duration.nanos += 1000000000; }
+        #
+        # Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.
+        #
+        # Timestamp start = ...; Duration duration = ...; Timestamp end = ...;
+        #
+        # end.seconds = start.seconds + duration.seconds; end.nanos = start.nanos + duration.nanos;
+        #
+        # if (end.nanos = 1000000000) { end.seconds += 1; end.nanos -= 1000000000; }
+      "nanos": 42, # Signed fractions of a second at nanosecond resolution of the span of time. Durations less than one second are represented with a 0 `seconds` field and a positive or negative `nanos` field. For durations of one second or more, a non-zero value for the `nanos` field must be of the same sign as the `seconds` field. Must be from -999,999,999 to +999,999,999 inclusive.
+      "seconds": "A String", # Signed seconds of the span of time. Must be from -315,576,000,000 to +315,576,000,000 inclusive.
+    },
+    "description": "A String", # A description of this tool For example: mvn clean package -D skipTests=true
+        #
+        # - In response: present if set by create/update request - In create/update request: optional
+    "labels": [ # Arbitrary user-supplied key/value pairs that are associated with the step.
+        #
+        # Users are responsible for managing the key namespace such that keys don't accidentally collide.
+        #
+        # An INVALID_ARGUMENT will be returned if the number of labels exceeds 100 or if the length of any of the keys or values exceeds 100 characters.
+        #
+        # - In response: always set - In create request: optional - In update request: optional; any new key/value pair will be added to the map, and any new value for an existing key will update that key's value
+      {
+        "value": "A String",
+        "key": "A String",
+      },
+    ],
+    "creationTime": { # A Timestamp represents a point in time independent of any time zone or calendar, represented as seconds and fractions of seconds at nanosecond resolution in UTC Epoch time. It is encoded using the Proleptic Gregorian Calendar which extends the Gregorian calendar backwards to year one. It is encoded assuming all minutes are 60 seconds long, i.e. leap seconds are "smeared" so that no leap second table is needed for interpretation. Range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to and from RFC 3339 date strings. See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). # The time when the step was created.
+        #
+        # - In response: always set - In create/update request: never set
+        #
+        # Example 1: Compute Timestamp from POSIX `time()`.
+        #
+        # Timestamp timestamp; timestamp.set_seconds(time(NULL)); timestamp.set_nanos(0);
+        #
+        # Example 2: Compute Timestamp from POSIX `gettimeofday()`.
+        #
+        # struct timeval tv; gettimeofday(&tv, NULL);
+        #
+        # Timestamp timestamp; timestamp.set_seconds(tv.tv_sec); timestamp.set_nanos(tv.tv_usec * 1000);
+        #
+        # Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
+        #
+        # FILETIME ft; GetSystemTimeAsFileTime(&ft); UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
+        #
+        # // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. Timestamp timestamp; timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
+        #
+        # Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
+        #
+        # long millis = System.currentTimeMillis();
+        #
+        # Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) .setNanos((int) ((millis % 1000) * 1000000)).build();
+        #
+        #
+        #
+        # Example 5: Compute Timestamp from current time in Python.
+        #
+        # now = time.time() seconds = int(now) nanos = int((now - seconds) * 10**9) timestamp = Timestamp(seconds=seconds, nanos=nanos)
+      "nanos": 42, # Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive.
+      "seconds": "A String", # Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
+    },
+    "name": "A String", # A short human-readable name to display in the UI. Maximum of 100 characters. For example: Clean build
+        #
+        # A PRECONDITION_FAILED will be returned upon creating a new step if it shares its name and dimension_value with an existing step. If two steps represent a similar action, but have different dimension values, they should share the same name. For instance, if the same set of tests is run on two different platforms, the two steps should have the same name.
+        #
+        # - In response: always set - In create request: always set - In update request: never set
+    "state": "A String", # The initial state is IN_PROGRESS. The only legal state transitions are * IN_PROGRESS -> COMPLETE
+        #
+        # A PRECONDITION_FAILED will be returned if an invalid transition is requested.
+        #
+        # It is valid to create Step with a state set to COMPLETE. The state can only be set to COMPLETE once. A PRECONDITION_FAILED will be returned if the state is set to COMPLETE multiple times.
+        #
+        # - In response: always set - In create/update request: optional
+    "completionTime": { # A Timestamp represents a point in time independent of any time zone or calendar, represented as seconds and fractions of seconds at nanosecond resolution in UTC Epoch time. It is encoded using the Proleptic Gregorian Calendar which extends the Gregorian calendar backwards to year one. It is encoded assuming all minutes are 60 seconds long, i.e. leap seconds are "smeared" so that no leap second table is needed for interpretation. Range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to and from RFC 3339 date strings. See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). # The time when the step status was set to complete.
+        #
+        # This value will be set automatically when state transitions to COMPLETE.
+        #
+        # - In response: set if the execution state is COMPLETE. - In create/update request: never set
+        #
+        # Example 1: Compute Timestamp from POSIX `time()`.
+        #
+        # Timestamp timestamp; timestamp.set_seconds(time(NULL)); timestamp.set_nanos(0);
+        #
+        # Example 2: Compute Timestamp from POSIX `gettimeofday()`.
+        #
+        # struct timeval tv; gettimeofday(&tv, NULL);
+        #
+        # Timestamp timestamp; timestamp.set_seconds(tv.tv_sec); timestamp.set_nanos(tv.tv_usec * 1000);
+        #
+        # Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
+        #
+        # FILETIME ft; GetSystemTimeAsFileTime(&ft); UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
+        #
+        # // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. Timestamp timestamp; timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
+        #
+        # Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
+        #
+        # long millis = System.currentTimeMillis();
+        #
+        # Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) .setNanos((int) ((millis % 1000) * 1000000)).build();
+        #
+        #
+        #
+        # Example 5: Compute Timestamp from current time in Python.
+        #
+        # now = time.time() seconds = int(now) nanos = int((now - seconds) * 10**9) timestamp = Timestamp(seconds=seconds, nanos=nanos)
+      "nanos": 42, # Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive.
+      "seconds": "A String", # Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
+    },
+    "dimensionValue": [ # If the execution containing this step has any dimension_definition set, then this field allows the child to specify the values of the dimensions.
+        #
+        # The keys must exactly match the dimension_definition of the execution.
+        #
+        # For example, if the execution has `dimension_definition = ['attempt', 'device']` then a step must define values for those dimensions, eg. `dimension_value = ['attempt': '1', 'device': 'Nexus 6']`
+        #
+        # If a step does not participate in one dimension of the matrix, the value for that dimension should be empty string. For example, if one of the tests is executed by a runner which does not support retries, the step could have `dimension_value = ['attempt': '', 'device': 'Nexus 6']`
+        #
+        # If the step does not participate in any dimensions of the matrix, it may leave dimension_value unset.
+        #
+        # A PRECONDITION_FAILED will be returned if any of the keys do not exist in the dimension_definition of the execution.
+        #
+        # A PRECONDITION_FAILED will be returned if another step in this execution already has the same name and dimension_value, but differs on other data fields, for example, step field is different.
+        #
+        # A PRECONDITION_FAILED will be returned if dimension_value is set, and there is a dimension_definition in the execution which is not specified as one of the keys.
+        #
+        # - In response: present if set by create - In create request: optional - In update request: never set
+      {
+        "value": "A String",
+        "key": "A String",
+      },
+    ],
+    "outcome": { # Interprets a result so that humans and machines can act on it. # Classification of the result, for example into SUCCESS or FAILURE
+        #
+        # - In response: present if set by create/update request - In create/update request: optional
+      "inconclusiveDetail": { # More information about an INCONCLUSIVE outcome.
+          #
+          # Returns INVALID_ARGUMENT if this field is set but the summary is not INCONCLUSIVE.
+          #
+          # Optional
+        "infrastructureFailure": True or False, # If the test runner could not determine success or failure because the test depends on a component other than the system under test which failed.
+            #
+            # For example, a mobile test requires provisioning a device where the test executes, and that provisioning can fail.
+        "nativeCrash": True or False, # A native process crashed on the device, producing a tombstone. It is unclear whether the crash was related to the app under test.
+            #
+            # For example, OpenGL crashed, but it is unclear if the app is responsible.
+        "abortedByUser": True or False, # If the end user aborted the test execution before a pass or fail could be determined. For example, the user pressed ctrl-c which sent a kill signal to the test runner while the test was running.
+      },
+      "skippedDetail": { # More information about a SKIPPED outcome.
+          #
+          # Returns INVALID_ARGUMENT if this field is set but the summary is not SKIPPED.
+          #
+          # Optional
+        "incompatibleAppVersion": True or False, # If the App doesn't support the specific API level.
+        "incompatibleArchitecture": True or False, # If the App doesn't run on the specific architecture, for example, x86.
+        "incompatibleDevice": True or False, # If the requested OS version doesn't run on the specific device model.
+      },
+      "successDetail": { # More information about a SUCCESS outcome.
+          #
+          # Returns INVALID_ARGUMENT if this field is set but the summary is not SUCCESS.
+          #
+          # Optional
+        "otherNativeCrash": True or False, # If a native process other than the app crashed.
+      },
+      "failureDetail": { # More information about a FAILURE outcome.
+          #
+          # Returns INVALID_ARGUMENT if this field is set but the summary is not FAILURE.
+          #
+          # Optional
+        "otherNativeCrash": True or False, # If a native process other than the app crashed.
+        "crashed": True or False, # If the failure was severe because the system under test crashed.
+        "unableToCrawl": True or False, # If the robo was unable to crawl the app; perhaps because the app did not start.
+        "notInstalled": True or False, # If an app is not installed and thus no test can be run with the app. This might be caused by trying to run a test on an unsupported platform.
+        "timedOut": True or False, # If the test overran some time limit, and that is why it failed.
+      },
+      "summary": "A String", # The simplest way to interpret a result.
+          #
+          # Required
+    },
+    "deviceUsageDuration": { # A Duration represents a signed, fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like "day" or "month". It is related to Timestamp in that the difference between two Timestamp values is a Duration and it can be added or subtracted from a Timestamp. Range is approximately +-10,000 years. # How much the device resource is used to perform the test.
+        #
+        # This is the device usage used for billing purpose, which is different from the run_duration, for example, infrastructure failure won't be charged for device usage.
+        #
+        # PRECONDITION_FAILED will be returned if one attempts to set a device_usage on a step which already has this field set.
+        #
+        # - In response: present if previously set. - In create request: optional - In update request: optional
+        #
+        # Example 1: Compute Duration from two Timestamps in pseudo code.
+        #
+        # Timestamp start = ...; Timestamp end = ...; Duration duration = ...;
+        #
+        # duration.seconds = end.seconds - start.seconds; duration.nanos = end.nanos - start.nanos;
+        #
+        # if (duration.seconds  0) { duration.seconds += 1; duration.nanos -= 1000000000; } else if (durations.seconds > 0 && duration.nanos < 0) { duration.seconds -= 1; duration.nanos += 1000000000; }
+        #
+        # Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.
+        #
+        # Timestamp start = ...; Duration duration = ...; Timestamp end = ...;
+        #
+        # end.seconds = start.seconds + duration.seconds; end.nanos = start.nanos + duration.nanos;
+        #
+        # if (end.nanos = 1000000000) { end.seconds += 1; end.nanos -= 1000000000; }
+      "nanos": 42, # Signed fractions of a second at nanosecond resolution of the span of time. Durations less than one second are represented with a 0 `seconds` field and a positive or negative `nanos` field. For durations of one second or more, a non-zero value for the `nanos` field must be of the same sign as the `seconds` field. Must be from -999,999,999 to +999,999,999 inclusive.
+      "seconds": "A String", # Signed seconds of the span of time. Must be from -315,576,000,000 to +315,576,000,000 inclusive.
+    },
+    "hasImages": True or False, # Whether any of the outputs of this step are images whose thumbnails can be fetched with ListThumbnails.
+        #
+        # - In response: always set - In create/update request: never set
+  }
+
+ +
+ list(projectId=None, historyId=None, executionId=None, pageToken=None, pageSize=None) +
Lists Steps for a given Execution.
+
+The steps are sorted by creation_time in descending order. The step_id key will be used to order the steps with the same creation_time.
+
+May return any of the following canonical error codes:
+
+- PERMISSION_DENIED - if the user is not authorized to read project - INVALID_ARGUMENT - if the request is malformed - FAILED_PRECONDITION - if an argument in the request happens to be invalid; e.g. if an attempt is made to list the children of a nonexistent Step - NOT_FOUND - if the containing Execution does not exist
+
+Args:
+  projectId: string, A Project id.
+
+Required. (required)
+  historyId: string, A History id.
+
+Required. (required)
+  executionId: string, A Execution id.
+
+Required. (required)
+  pageToken: string, A continuation token to resume the query at the next item.
+
+Optional.
+  pageSize: integer, The maximum number of Steps to fetch.
+
+Default value: 25. The server will use this default if the field is not set or has a value of 0.
+
+Optional.
+
+Returns:
+  An object of the form:
+
+    { # Response message for StepService.List.
+    "nextPageToken": "A String", # A continuation token to resume the query at the next item.
+        #
+        # If set, indicates that there are more steps to read, by calling list again with this value in the page_token field.
+    "steps": [ # Steps.
+      { # A Step represents a single operation performed as part of Execution. A step can be used to represent the execution of a tool ( for example a test runner execution or an execution of a compiler).
+          #
+          # Steps can overlap (for instance two steps might have the same start time if some operations are done in parallel).
+          #
+          # Here is an example, let's consider that we have a continuous build is executing a test runner for each iteration. The workflow would look like: - user creates a Execution with id 1 - user creates an TestExecutionStep with id 100 for Execution 1 - user update TestExecutionStep with id 100 to add a raw xml log + the service parses the xml logs and returns a TestExecutionStep with updated TestResult(s). - user update the status of TestExecutionStep with id 100 to COMPLETE
+          #
+          # A Step can be updated until its state is set to COMPLETE at which points it becomes immutable.
+        "testExecutionStep": { # A step that represents running tests. # An execution of a test runner.
+            #
+            # It accepts ant-junit xml files which will be parsed into structured test results by the service. Xml file paths are updated in order to append more files, however they can't be deleted.
+            #
+            # Users can also add test results manually by using the test_result field.
+          "testTiming": { # Testing timing break down to know phases. # The timing break down of the test execution.
+              #
+              # - In response: present if set by create or update - In create/update request: optional
+            "testProcessDuration": { # A Duration represents a signed, fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like "day" or "month". It is related to Timestamp in that the difference between two Timestamp values is a Duration and it can be added or subtracted from a Timestamp. Range is approximately +-10,000 years. # How long it took to run the test process.
+                #
+                # - In response: present if previously set. - In create/update request: optional
+                #
+                # Example 1: Compute Duration from two Timestamps in pseudo code.
+                #
+                # Timestamp start = ...; Timestamp end = ...; Duration duration = ...;
+                #
+                # duration.seconds = end.seconds - start.seconds; duration.nanos = end.nanos - start.nanos;
+                #
+                # if (duration.seconds  0) { duration.seconds += 1; duration.nanos -= 1000000000; } else if (durations.seconds > 0 && duration.nanos < 0) { duration.seconds -= 1; duration.nanos += 1000000000; }
+                #
+                # Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.
+                #
+                # Timestamp start = ...; Duration duration = ...; Timestamp end = ...;
+                #
+                # end.seconds = start.seconds + duration.seconds; end.nanos = start.nanos + duration.nanos;
+                #
+                # if (end.nanos = 1000000000) { end.seconds += 1; end.nanos -= 1000000000; }
+              "nanos": 42, # Signed fractions of a second at nanosecond resolution of the span of time. Durations less than one second are represented with a 0 `seconds` field and a positive or negative `nanos` field. For durations of one second or more, a non-zero value for the `nanos` field must be of the same sign as the `seconds` field. Must be from -999,999,999 to +999,999,999 inclusive.
+              "seconds": "A String", # Signed seconds of the span of time. Must be from -315,576,000,000 to +315,576,000,000 inclusive.
+            },
+          },
+          "testSuiteOverviews": [ # List of test suite overview contents. This could be parsed from xUnit XML log by server, or uploaded directly by user. This references should only be called when test suites are fully parsed or uploaded.
+              #
+              # The maximum allowed number of test suite overviews per step is 1000.
+              #
+              # - In response: always set - In create request: optional - In update request: never (use publishXunitXmlFiles custom method instead)
+            { # A summary of a test suite result either parsed from XML or uploaded directly by a user.
+                #
+                # Note: the API related comments are for StepService only. This message is also being used in ExecutionService in a read only mode for the corresponding step.
+              "name": "A String", # The name of the test suite.
+                  #
+                  # - In create/response: always set - In update request: never
+              "errorCount": 42, # Number of test cases in error, typically set by the service by parsing the xml_source.
+                  #
+                  # - In create/response: always set - In update request: never
+              "totalCount": 42, # Number of test cases, typically set by the service by parsing the xml_source.
+                  #
+                  # - In create/response: always set - In update request: never
+              "xmlSource": { # A reference to a file. # If this test suite was parsed from XML, this is the URI where the original XML file is stored.
+                  #
+                  # Note: Multiple test suites can share the same xml_source
+                  #
+                  # Returns INVALID_ARGUMENT if the uri format is not supported.
+                  #
+                  # - In create/response: optional - In update request: never
+                "fileUri": "A String", # The URI of a file stored in Google Cloud Storage.
+                    #
+                    # For example: http://storage.googleapis.com/mybucket/path/to/test.xml or in gsutil format: gs://mybucket/path/to/test.xml with version-specific info, gs://mybucket/path/to/test.xml#1360383693690000
+                    #
+                    # An INVALID_ARGUMENT error will be returned if the URI format is not supported.
+                    #
+                    # - In response: always set - In create/update request: always set
+              },
+              "failureCount": 42, # Number of failed test cases, typically set by the service by parsing the xml_source. May also be set by the user.
+                  #
+                  # - In create/response: always set - In update request: never
+              "skippedCount": 42, # Number of test cases not run, typically set by the service by parsing the xml_source.
+                  #
+                  # - In create/response: always set - In update request: never
+            },
+          ],
+          "toolExecution": { # An execution of an arbitrary tool. It could be a test runner or a tool copying artifacts or deploying code. # Represents the execution of the test runner.
+              #
+              # The exit code of this tool will be used to determine if the test passed.
+              #
+              # - In response: always set - In create/update request: optional
+            "toolLogs": [ # References to any plain text logs output the tool execution.
+                #
+                # This field can be set before the tool has exited in order to be able to have access to a live view of the logs while the tool is running.
+                #
+                # The maximum allowed number of tool logs per step is 1000.
+                #
+                # - In response: present if set by create/update request - In create request: optional - In update request: optional, any value provided will be appended to the existing list
+              { # A reference to a file.
+                "fileUri": "A String", # The URI of a file stored in Google Cloud Storage.
+                    #
+                    # For example: http://storage.googleapis.com/mybucket/path/to/test.xml or in gsutil format: gs://mybucket/path/to/test.xml with version-specific info, gs://mybucket/path/to/test.xml#1360383693690000
+                    #
+                    # An INVALID_ARGUMENT error will be returned if the URI format is not supported.
+                    #
+                    # - In response: always set - In create/update request: always set
+              },
+            ],
+            "exitCode": { # Exit code from a tool execution. # Tool execution exit code. This field will be set once the tool has exited.
+                #
+                # - In response: present if set by create/update request - In create request: optional - In update request: optional, a FAILED_PRECONDITION error will be returned if an exit_code is already set.
+              "number": 42, # Tool execution exit code. A value of 0 means that the execution was successful.
+                  #
+                  # - In response: always set - In create/update request: always set
+            },
+            "toolOutputs": [ # References to opaque files of any format output by the tool execution.
+                #
+                # The maximum allowed number of tool outputs per step is 1000.
+                #
+                # - In response: present if set by create/update request - In create request: optional - In update request: optional, any value provided will be appended to the existing list
+              { # A reference to a ToolExecution output file.
+                "testCase": { # A reference to a test case. # The test case to which this output file belongs.
+                    #
+                    # - In response: present if set by create/update request - In create/update request: optional
+                    #
+                    # Test case references are canonically ordered lexicographically by these three factors: * First, by test_suite_name. * Second, by class_name. * Third, by name.
+                  "className": "A String", # The name of the class.
+                  "testSuiteName": "A String", # The name of the test suite to which this test case belongs.
+                  "name": "A String", # The name of the test case.
+                      #
+                      # Required.
+                },
+                "output": { # A reference to a file. # A FileReference to an output file.
+                    #
+                    # - In response: always set - In create/update request: always set
+                  "fileUri": "A String", # The URI of a file stored in Google Cloud Storage.
+                      #
+                      # For example: http://storage.googleapis.com/mybucket/path/to/test.xml or in gsutil format: gs://mybucket/path/to/test.xml with version-specific info, gs://mybucket/path/to/test.xml#1360383693690000
+                      #
+                      # An INVALID_ARGUMENT error will be returned if the URI format is not supported.
+                      #
+                      # - In response: always set - In create/update request: always set
+                },
+                "creationTime": { # A Timestamp represents a point in time independent of any time zone or calendar, represented as seconds and fractions of seconds at nanosecond resolution in UTC Epoch time. It is encoded using the Proleptic Gregorian Calendar which extends the Gregorian calendar backwards to year one. It is encoded assuming all minutes are 60 seconds long, i.e. leap seconds are "smeared" so that no leap second table is needed for interpretation. Range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to and from RFC 3339 date strings. See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). # The creation time of the file.
+                    #
+                    # - In response: present if set by create/update request - In create/update request: optional
+                    #
+                    # Example 1: Compute Timestamp from POSIX `time()`.
+                    #
+                    # Timestamp timestamp; timestamp.set_seconds(time(NULL)); timestamp.set_nanos(0);
+                    #
+                    # Example 2: Compute Timestamp from POSIX `gettimeofday()`.
+                    #
+                    # struct timeval tv; gettimeofday(&tv, NULL);
+                    #
+                    # Timestamp timestamp; timestamp.set_seconds(tv.tv_sec); timestamp.set_nanos(tv.tv_usec * 1000);
+                    #
+                    # Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
+                    #
+                    # FILETIME ft; GetSystemTimeAsFileTime(&ft); UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
+                    #
+                    # // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. Timestamp timestamp; timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
+                    #
+                    # Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
+                    #
+                    # long millis = System.currentTimeMillis();
+                    #
+                    # Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) .setNanos((int) ((millis % 1000) * 1000000)).build();
+                    #
+                    #
+                    #
+                    # Example 5: Compute Timestamp from current time in Python.
+                    #
+                    # now = time.time() seconds = int(now) nanos = int((now - seconds) * 10**9) timestamp = Timestamp(seconds=seconds, nanos=nanos)
+                  "nanos": 42, # Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive.
+                  "seconds": "A String", # Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
+                },
+              },
+            ],
+            "commandLineArguments": [ # The full tokenized command line including the program name (equivalent to argv in a C program).
+                #
+                # - In response: present if set by create request - In create request: optional - In update request: never set
+              "A String",
+            ],
+          },
+          "testIssues": [ # Issues observed during the test execution.
+              #
+              # For example, if the mobile app under test crashed during the test, the error message and the stack trace content can be recorded here to assist debugging.
+              #
+              # - In response: present if set by create or update - In create/update request: optional
+            { # An abnormal event observed during the test execution.
+              "stackTrace": { # A stacktrace. # Optional.
+                "exception": "A String", # The stack trace message.
+                    #
+                    # Required
+              },
+              "errorMessage": "A String", # A brief human-readable message describing the abnormal event.
+                  #
+                  # Required.
+            },
+          ],
+        },
+        "toolExecutionStep": { # Generic tool step to be used for binaries we do not explicitly support. For example: running cp to copy artifacts from one location to another. # An execution of a tool (used for steps we don't explicitly support).
+          "toolExecution": { # An execution of an arbitrary tool. It could be a test runner or a tool copying artifacts or deploying code. # A Tool execution.
+              #
+              # - In response: present if set by create/update request - In create/update request: optional
+            "toolLogs": [ # References to any plain text logs output the tool execution.
+                #
+                # This field can be set before the tool has exited in order to be able to have access to a live view of the logs while the tool is running.
+                #
+                # The maximum allowed number of tool logs per step is 1000.
+                #
+                # - In response: present if set by create/update request - In create request: optional - In update request: optional, any value provided will be appended to the existing list
+              { # A reference to a file.
+                "fileUri": "A String", # The URI of a file stored in Google Cloud Storage.
+                    #
+                    # For example: http://storage.googleapis.com/mybucket/path/to/test.xml or in gsutil format: gs://mybucket/path/to/test.xml with version-specific info, gs://mybucket/path/to/test.xml#1360383693690000
+                    #
+                    # An INVALID_ARGUMENT error will be returned if the URI format is not supported.
+                    #
+                    # - In response: always set - In create/update request: always set
+              },
+            ],
+            "exitCode": { # Exit code from a tool execution. # Tool execution exit code. This field will be set once the tool has exited.
+                #
+                # - In response: present if set by create/update request - In create request: optional - In update request: optional, a FAILED_PRECONDITION error will be returned if an exit_code is already set.
+              "number": 42, # Tool execution exit code. A value of 0 means that the execution was successful.
+                  #
+                  # - In response: always set - In create/update request: always set
+            },
+            "toolOutputs": [ # References to opaque files of any format output by the tool execution.
+                #
+                # The maximum allowed number of tool outputs per step is 1000.
+                #
+                # - In response: present if set by create/update request - In create request: optional - In update request: optional, any value provided will be appended to the existing list
+              { # A reference to a ToolExecution output file.
+                "testCase": { # A reference to a test case. # The test case to which this output file belongs.
+                    #
+                    # - In response: present if set by create/update request - In create/update request: optional
+                    #
+                    # Test case references are canonically ordered lexicographically by these three factors: * First, by test_suite_name. * Second, by class_name. * Third, by name.
+                  "className": "A String", # The name of the class.
+                  "testSuiteName": "A String", # The name of the test suite to which this test case belongs.
+                  "name": "A String", # The name of the test case.
+                      #
+                      # Required.
+                },
+                "output": { # A reference to a file. # A FileReference to an output file.
+                    #
+                    # - In response: always set - In create/update request: always set
+                  "fileUri": "A String", # The URI of a file stored in Google Cloud Storage.
+                      #
+                      # For example: http://storage.googleapis.com/mybucket/path/to/test.xml or in gsutil format: gs://mybucket/path/to/test.xml with version-specific info, gs://mybucket/path/to/test.xml#1360383693690000
+                      #
+                      # An INVALID_ARGUMENT error will be returned if the URI format is not supported.
+                      #
+                      # - In response: always set - In create/update request: always set
+                },
+                "creationTime": { # A Timestamp represents a point in time independent of any time zone or calendar, represented as seconds and fractions of seconds at nanosecond resolution in UTC Epoch time. It is encoded using the Proleptic Gregorian Calendar which extends the Gregorian calendar backwards to year one. It is encoded assuming all minutes are 60 seconds long, i.e. leap seconds are "smeared" so that no leap second table is needed for interpretation. Range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to and from RFC 3339 date strings. See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). # The creation time of the file.
+                    #
+                    # - In response: present if set by create/update request - In create/update request: optional
+                    #
+                    # Example 1: Compute Timestamp from POSIX `time()`.
+                    #
+                    # Timestamp timestamp; timestamp.set_seconds(time(NULL)); timestamp.set_nanos(0);
+                    #
+                    # Example 2: Compute Timestamp from POSIX `gettimeofday()`.
+                    #
+                    # struct timeval tv; gettimeofday(&tv, NULL);
+                    #
+                    # Timestamp timestamp; timestamp.set_seconds(tv.tv_sec); timestamp.set_nanos(tv.tv_usec * 1000);
+                    #
+                    # Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
+                    #
+                    # FILETIME ft; GetSystemTimeAsFileTime(&ft); UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
+                    #
+                    # // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. Timestamp timestamp; timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
+                    #
+                    # Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
+                    #
+                    # long millis = System.currentTimeMillis();
+                    #
+                    # Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) .setNanos((int) ((millis % 1000) * 1000000)).build();
+                    #
+                    #
+                    #
+                    # Example 5: Compute Timestamp from current time in Python.
+                    #
+                    # now = time.time() seconds = int(now) nanos = int((now - seconds) * 10**9) timestamp = Timestamp(seconds=seconds, nanos=nanos)
+                  "nanos": 42, # Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive.
+                  "seconds": "A String", # Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
+                },
+              },
+            ],
+            "commandLineArguments": [ # The full tokenized command line including the program name (equivalent to argv in a C program).
+                #
+                # - In response: present if set by create request - In create request: optional - In update request: never set
+              "A String",
+            ],
+          },
+        },
+        "stepId": "A String", # A unique identifier within a Execution for this Step.
+            #
+            # Returns INVALID_ARGUMENT if this field is set or overwritten by the caller.
+            #
+            # - In response: always set - In create/update request: never set
+        "runDuration": { # A Duration represents a signed, fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like "day" or "month". It is related to Timestamp in that the difference between two Timestamp values is a Duration and it can be added or subtracted from a Timestamp. Range is approximately +-10,000 years. # How long it took for this step to run.
+            #
+            # If unset, this is set to the difference between creation_time and completion_time when the step is set to the COMPLETE state. In some cases, it is appropriate to set this value separately: For instance, if a step is created, but the operation it represents is queued for a few minutes before it executes, it would be appropriate not to include the time spent queued in its run_duration.
+            #
+            # PRECONDITION_FAILED will be returned if one attempts to set a run_duration on a step which already has this field set.
+            #
+            # - In response: present if previously set; always present on COMPLETE step - In create request: optional - In update request: optional
+            #
+            # Example 1: Compute Duration from two Timestamps in pseudo code.
+            #
+            # Timestamp start = ...; Timestamp end = ...; Duration duration = ...;
+            #
+            # duration.seconds = end.seconds - start.seconds; duration.nanos = end.nanos - start.nanos;
+            #
+            # if (duration.seconds  0) { duration.seconds += 1; duration.nanos -= 1000000000; } else if (durations.seconds > 0 && duration.nanos < 0) { duration.seconds -= 1; duration.nanos += 1000000000; }
+            #
+            # Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.
+            #
+            # Timestamp start = ...; Duration duration = ...; Timestamp end = ...;
+            #
+            # end.seconds = start.seconds + duration.seconds; end.nanos = start.nanos + duration.nanos;
+            #
+            # if (end.nanos = 1000000000) { end.seconds += 1; end.nanos -= 1000000000; }
+          "nanos": 42, # Signed fractions of a second at nanosecond resolution of the span of time. Durations less than one second are represented with a 0 `seconds` field and a positive or negative `nanos` field. For durations of one second or more, a non-zero value for the `nanos` field must be of the same sign as the `seconds` field. Must be from -999,999,999 to +999,999,999 inclusive.
+          "seconds": "A String", # Signed seconds of the span of time. Must be from -315,576,000,000 to +315,576,000,000 inclusive.
+        },
+        "description": "A String", # A description of this tool For example: mvn clean package -D skipTests=true
+            #
+            # - In response: present if set by create/update request - In create/update request: optional
+        "labels": [ # Arbitrary user-supplied key/value pairs that are associated with the step.
+            #
+            # Users are responsible for managing the key namespace such that keys don't accidentally collide.
+            #
+            # An INVALID_ARGUMENT will be returned if the number of labels exceeds 100 or if the length of any of the keys or values exceeds 100 characters.
+            #
+            # - In response: always set - In create request: optional - In update request: optional; any new key/value pair will be added to the map, and any new value for an existing key will update that key's value
+          {
+            "value": "A String",
+            "key": "A String",
+          },
+        ],
+        "creationTime": { # A Timestamp represents a point in time independent of any time zone or calendar, represented as seconds and fractions of seconds at nanosecond resolution in UTC Epoch time. It is encoded using the Proleptic Gregorian Calendar which extends the Gregorian calendar backwards to year one. It is encoded assuming all minutes are 60 seconds long, i.e. leap seconds are "smeared" so that no leap second table is needed for interpretation. Range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to and from RFC 3339 date strings. See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). # The time when the step was created.
+            #
+            # - In response: always set - In create/update request: never set
+            #
+            # Example 1: Compute Timestamp from POSIX `time()`.
+            #
+            # Timestamp timestamp; timestamp.set_seconds(time(NULL)); timestamp.set_nanos(0);
+            #
+            # Example 2: Compute Timestamp from POSIX `gettimeofday()`.
+            #
+            # struct timeval tv; gettimeofday(&tv, NULL);
+            #
+            # Timestamp timestamp; timestamp.set_seconds(tv.tv_sec); timestamp.set_nanos(tv.tv_usec * 1000);
+            #
+            # Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
+            #
+            # FILETIME ft; GetSystemTimeAsFileTime(&ft); UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
+            #
+            # // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. Timestamp timestamp; timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
+            #
+            # Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
+            #
+            # long millis = System.currentTimeMillis();
+            #
+            # Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) .setNanos((int) ((millis % 1000) * 1000000)).build();
+            #
+            #
+            #
+            # Example 5: Compute Timestamp from current time in Python.
+            #
+            # now = time.time() seconds = int(now) nanos = int((now - seconds) * 10**9) timestamp = Timestamp(seconds=seconds, nanos=nanos)
+          "nanos": 42, # Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive.
+          "seconds": "A String", # Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
+        },
+        "name": "A String", # A short human-readable name to display in the UI. Maximum of 100 characters. For example: Clean build
+            #
+            # A PRECONDITION_FAILED will be returned upon creating a new step if it shares its name and dimension_value with an existing step. If two steps represent a similar action, but have different dimension values, they should share the same name. For instance, if the same set of tests is run on two different platforms, the two steps should have the same name.
+            #
+            # - In response: always set - In create request: always set - In update request: never set
+        "state": "A String", # The initial state is IN_PROGRESS. The only legal state transitions are * IN_PROGRESS -> COMPLETE
+            #
+            # A PRECONDITION_FAILED will be returned if an invalid transition is requested.
+            #
+            # It is valid to create Step with a state set to COMPLETE. The state can only be set to COMPLETE once. A PRECONDITION_FAILED will be returned if the state is set to COMPLETE multiple times.
+            #
+            # - In response: always set - In create/update request: optional
+        "completionTime": { # A Timestamp represents a point in time independent of any time zone or calendar, represented as seconds and fractions of seconds at nanosecond resolution in UTC Epoch time. It is encoded using the Proleptic Gregorian Calendar which extends the Gregorian calendar backwards to year one. It is encoded assuming all minutes are 60 seconds long, i.e. leap seconds are "smeared" so that no leap second table is needed for interpretation. Range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to and from RFC 3339 date strings. See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). # The time when the step status was set to complete.
+            #
+            # This value will be set automatically when state transitions to COMPLETE.
+            #
+            # - In response: set if the execution state is COMPLETE. - In create/update request: never set
+            #
+            # Example 1: Compute Timestamp from POSIX `time()`.
+            #
+            # Timestamp timestamp; timestamp.set_seconds(time(NULL)); timestamp.set_nanos(0);
+            #
+            # Example 2: Compute Timestamp from POSIX `gettimeofday()`.
+            #
+            # struct timeval tv; gettimeofday(&tv, NULL);
+            #
+            # Timestamp timestamp; timestamp.set_seconds(tv.tv_sec); timestamp.set_nanos(tv.tv_usec * 1000);
+            #
+            # Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
+            #
+            # FILETIME ft; GetSystemTimeAsFileTime(&ft); UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
+            #
+            # // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. Timestamp timestamp; timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
+            #
+            # Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
+            #
+            # long millis = System.currentTimeMillis();
+            #
+            # Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) .setNanos((int) ((millis % 1000) * 1000000)).build();
+            #
+            #
+            #
+            # Example 5: Compute Timestamp from current time in Python.
+            #
+            # now = time.time() seconds = int(now) nanos = int((now - seconds) * 10**9) timestamp = Timestamp(seconds=seconds, nanos=nanos)
+          "nanos": 42, # Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive.
+          "seconds": "A String", # Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
+        },
+        "dimensionValue": [ # If the execution containing this step has any dimension_definition set, then this field allows the child to specify the values of the dimensions.
+            #
+            # The keys must exactly match the dimension_definition of the execution.
+            #
+            # For example, if the execution has `dimension_definition = ['attempt', 'device']` then a step must define values for those dimensions, eg. `dimension_value = ['attempt': '1', 'device': 'Nexus 6']`
+            #
+            # If a step does not participate in one dimension of the matrix, the value for that dimension should be empty string. For example, if one of the tests is executed by a runner which does not support retries, the step could have `dimension_value = ['attempt': '', 'device': 'Nexus 6']`
+            #
+            # If the step does not participate in any dimensions of the matrix, it may leave dimension_value unset.
+            #
+            # A PRECONDITION_FAILED will be returned if any of the keys do not exist in the dimension_definition of the execution.
+            #
+            # A PRECONDITION_FAILED will be returned if another step in this execution already has the same name and dimension_value, but differs on other data fields, for example, step field is different.
+            #
+            # A PRECONDITION_FAILED will be returned if dimension_value is set, and there is a dimension_definition in the execution which is not specified as one of the keys.
+            #
+            # - In response: present if set by create - In create request: optional - In update request: never set
+          {
+            "value": "A String",
+            "key": "A String",
+          },
+        ],
+        "outcome": { # Interprets a result so that humans and machines can act on it. # Classification of the result, for example into SUCCESS or FAILURE
+            #
+            # - In response: present if set by create/update request - In create/update request: optional
+          "inconclusiveDetail": { # More information about an INCONCLUSIVE outcome.
+              #
+              # Returns INVALID_ARGUMENT if this field is set but the summary is not INCONCLUSIVE.
+              #
+              # Optional
+            "infrastructureFailure": True or False, # If the test runner could not determine success or failure because the test depends on a component other than the system under test which failed.
+                #
+                # For example, a mobile test requires provisioning a device where the test executes, and that provisioning can fail.
+            "nativeCrash": True or False, # A native process crashed on the device, producing a tombstone. It is unclear whether the crash was related to the app under test.
+                #
+                # For example, OpenGL crashed, but it is unclear if the app is responsible.
+            "abortedByUser": True or False, # If the end user aborted the test execution before a pass or fail could be determined. For example, the user pressed ctrl-c which sent a kill signal to the test runner while the test was running.
+          },
+          "skippedDetail": { # More information about a SKIPPED outcome.
+              #
+              # Returns INVALID_ARGUMENT if this field is set but the summary is not SKIPPED.
+              #
+              # Optional
+            "incompatibleAppVersion": True or False, # If the App doesn't support the specific API level.
+            "incompatibleArchitecture": True or False, # If the App doesn't run on the specific architecture, for example, x86.
+            "incompatibleDevice": True or False, # If the requested OS version doesn't run on the specific device model.
+          },
+          "successDetail": { # More information about a SUCCESS outcome.
+              #
+              # Returns INVALID_ARGUMENT if this field is set but the summary is not SUCCESS.
+              #
+              # Optional
+            "otherNativeCrash": True or False, # If a native process other than the app crashed.
+          },
+          "failureDetail": { # More information about a FAILURE outcome.
+              #
+              # Returns INVALID_ARGUMENT if this field is set but the summary is not FAILURE.
+              #
+              # Optional
+            "otherNativeCrash": True or False, # If a native process other than the app crashed.
+            "crashed": True or False, # If the failure was severe because the system under test crashed.
+            "unableToCrawl": True or False, # If the robo was unable to crawl the app; perhaps because the app did not start.
+            "notInstalled": True or False, # If an app is not installed and thus no test can be run with the app. This might be caused by trying to run a test on an unsupported platform.
+            "timedOut": True or False, # If the test overran some time limit, and that is why it failed.
+          },
+          "summary": "A String", # The simplest way to interpret a result.
+              #
+              # Required
+        },
+        "deviceUsageDuration": { # A Duration represents a signed, fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like "day" or "month". It is related to Timestamp in that the difference between two Timestamp values is a Duration and it can be added or subtracted from a Timestamp. Range is approximately +-10,000 years. # How much the device resource is used to perform the test.
+            #
+            # This is the device usage used for billing purpose, which is different from the run_duration, for example, infrastructure failure won't be charged for device usage.
+            #
+            # PRECONDITION_FAILED will be returned if one attempts to set a device_usage on a step which already has this field set.
+            #
+            # - In response: present if previously set. - In create request: optional - In update request: optional
+            #
+            # Example 1: Compute Duration from two Timestamps in pseudo code.
+            #
+            # Timestamp start = ...; Timestamp end = ...; Duration duration = ...;
+            #
+            # duration.seconds = end.seconds - start.seconds; duration.nanos = end.nanos - start.nanos;
+            #
+            # if (duration.seconds  0) { duration.seconds += 1; duration.nanos -= 1000000000; } else if (durations.seconds > 0 && duration.nanos < 0) { duration.seconds -= 1; duration.nanos += 1000000000; }
+            #
+            # Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.
+            #
+            # Timestamp start = ...; Duration duration = ...; Timestamp end = ...;
+            #
+            # end.seconds = start.seconds + duration.seconds; end.nanos = start.nanos + duration.nanos;
+            #
+            # if (end.nanos = 1000000000) { end.seconds += 1; end.nanos -= 1000000000; }
+          "nanos": 42, # Signed fractions of a second at nanosecond resolution of the span of time. Durations less than one second are represented with a 0 `seconds` field and a positive or negative `nanos` field. For durations of one second or more, a non-zero value for the `nanos` field must be of the same sign as the `seconds` field. Must be from -999,999,999 to +999,999,999 inclusive.
+          "seconds": "A String", # Signed seconds of the span of time. Must be from -315,576,000,000 to +315,576,000,000 inclusive.
+        },
+        "hasImages": True or False, # Whether any of the outputs of this step are images whose thumbnails can be fetched with ListThumbnails.
+            #
+            # - In response: always set - In create/update request: never set
+      },
+    ],
+  }
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    
+
+ +
+ patch(projectId=None, historyId=None, executionId=None, stepId=None, body, requestId=None) +
Updates an existing Step with the supplied partial entity.
+
+May return any of the following canonical error codes:
+
+- PERMISSION_DENIED - if the user is not authorized to write project - INVALID_ARGUMENT - if the request is malformed - FAILED_PRECONDITION - if the requested state transition is illegal (e.g try to upload a duplicate xml file), if the updated step is too large (more than 10Mib) - NOT_FOUND - if the containing Execution does not exist
+
+Args:
+  projectId: string, A Project id.
+
+Required. (required)
+  historyId: string, A History id.
+
+Required. (required)
+  executionId: string, A Execution id.
+
+Required. (required)
+  stepId: string, A Step id.
+
+Required. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A Step represents a single operation performed as part of Execution. A step can be used to represent the execution of a tool ( for example a test runner execution or an execution of a compiler).
+    # 
+    # Steps can overlap (for instance two steps might have the same start time if some operations are done in parallel).
+    # 
+    # Here is an example, let's consider that we have a continuous build is executing a test runner for each iteration. The workflow would look like: - user creates a Execution with id 1 - user creates an TestExecutionStep with id 100 for Execution 1 - user update TestExecutionStep with id 100 to add a raw xml log + the service parses the xml logs and returns a TestExecutionStep with updated TestResult(s). - user update the status of TestExecutionStep with id 100 to COMPLETE
+    # 
+    # A Step can be updated until its state is set to COMPLETE at which points it becomes immutable.
+  "testExecutionStep": { # A step that represents running tests. # An execution of a test runner.
+      #
+      # It accepts ant-junit xml files which will be parsed into structured test results by the service. Xml file paths are updated in order to append more files, however they can't be deleted.
+      #
+      # Users can also add test results manually by using the test_result field.
+    "testTiming": { # Testing timing break down to know phases. # The timing break down of the test execution.
+        #
+        # - In response: present if set by create or update - In create/update request: optional
+      "testProcessDuration": { # A Duration represents a signed, fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like "day" or "month". It is related to Timestamp in that the difference between two Timestamp values is a Duration and it can be added or subtracted from a Timestamp. Range is approximately +-10,000 years. # How long it took to run the test process.
+          #
+          # - In response: present if previously set. - In create/update request: optional
+          #
+          # Example 1: Compute Duration from two Timestamps in pseudo code.
+          #
+          # Timestamp start = ...; Timestamp end = ...; Duration duration = ...;
+          #
+          # duration.seconds = end.seconds - start.seconds; duration.nanos = end.nanos - start.nanos;
+          #
+          # if (duration.seconds  0) { duration.seconds += 1; duration.nanos -= 1000000000; } else if (durations.seconds > 0 && duration.nanos < 0) { duration.seconds -= 1; duration.nanos += 1000000000; }
+          #
+          # Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.
+          #
+          # Timestamp start = ...; Duration duration = ...; Timestamp end = ...;
+          #
+          # end.seconds = start.seconds + duration.seconds; end.nanos = start.nanos + duration.nanos;
+          #
+          # if (end.nanos = 1000000000) { end.seconds += 1; end.nanos -= 1000000000; }
+        "nanos": 42, # Signed fractions of a second at nanosecond resolution of the span of time. Durations less than one second are represented with a 0 `seconds` field and a positive or negative `nanos` field. For durations of one second or more, a non-zero value for the `nanos` field must be of the same sign as the `seconds` field. Must be from -999,999,999 to +999,999,999 inclusive.
+        "seconds": "A String", # Signed seconds of the span of time. Must be from -315,576,000,000 to +315,576,000,000 inclusive.
+      },
+    },
+    "testSuiteOverviews": [ # List of test suite overview contents. This could be parsed from xUnit XML log by server, or uploaded directly by user. This references should only be called when test suites are fully parsed or uploaded.
+        #
+        # The maximum allowed number of test suite overviews per step is 1000.
+        #
+        # - In response: always set - In create request: optional - In update request: never (use publishXunitXmlFiles custom method instead)
+      { # A summary of a test suite result either parsed from XML or uploaded directly by a user.
+          #
+          # Note: the API related comments are for StepService only. This message is also being used in ExecutionService in a read only mode for the corresponding step.
+        "name": "A String", # The name of the test suite.
+            #
+            # - In create/response: always set - In update request: never
+        "errorCount": 42, # Number of test cases in error, typically set by the service by parsing the xml_source.
+            #
+            # - In create/response: always set - In update request: never
+        "totalCount": 42, # Number of test cases, typically set by the service by parsing the xml_source.
+            #
+            # - In create/response: always set - In update request: never
+        "xmlSource": { # A reference to a file. # If this test suite was parsed from XML, this is the URI where the original XML file is stored.
+            #
+            # Note: Multiple test suites can share the same xml_source
+            #
+            # Returns INVALID_ARGUMENT if the uri format is not supported.
+            #
+            # - In create/response: optional - In update request: never
+          "fileUri": "A String", # The URI of a file stored in Google Cloud Storage.
+              #
+              # For example: http://storage.googleapis.com/mybucket/path/to/test.xml or in gsutil format: gs://mybucket/path/to/test.xml with version-specific info, gs://mybucket/path/to/test.xml#1360383693690000
+              #
+              # An INVALID_ARGUMENT error will be returned if the URI format is not supported.
+              #
+              # - In response: always set - In create/update request: always set
+        },
+        "failureCount": 42, # Number of failed test cases, typically set by the service by parsing the xml_source. May also be set by the user.
+            #
+            # - In create/response: always set - In update request: never
+        "skippedCount": 42, # Number of test cases not run, typically set by the service by parsing the xml_source.
+            #
+            # - In create/response: always set - In update request: never
+      },
+    ],
+    "toolExecution": { # An execution of an arbitrary tool. It could be a test runner or a tool copying artifacts or deploying code. # Represents the execution of the test runner.
+        #
+        # The exit code of this tool will be used to determine if the test passed.
+        #
+        # - In response: always set - In create/update request: optional
+      "toolLogs": [ # References to any plain text logs output the tool execution.
+          #
+          # This field can be set before the tool has exited in order to be able to have access to a live view of the logs while the tool is running.
+          #
+          # The maximum allowed number of tool logs per step is 1000.
+          #
+          # - In response: present if set by create/update request - In create request: optional - In update request: optional, any value provided will be appended to the existing list
+        { # A reference to a file.
+          "fileUri": "A String", # The URI of a file stored in Google Cloud Storage.
+              #
+              # For example: http://storage.googleapis.com/mybucket/path/to/test.xml or in gsutil format: gs://mybucket/path/to/test.xml with version-specific info, gs://mybucket/path/to/test.xml#1360383693690000
+              #
+              # An INVALID_ARGUMENT error will be returned if the URI format is not supported.
+              #
+              # - In response: always set - In create/update request: always set
+        },
+      ],
+      "exitCode": { # Exit code from a tool execution. # Tool execution exit code. This field will be set once the tool has exited.
+          #
+          # - In response: present if set by create/update request - In create request: optional - In update request: optional, a FAILED_PRECONDITION error will be returned if an exit_code is already set.
+        "number": 42, # Tool execution exit code. A value of 0 means that the execution was successful.
+            #
+            # - In response: always set - In create/update request: always set
+      },
+      "toolOutputs": [ # References to opaque files of any format output by the tool execution.
+          #
+          # The maximum allowed number of tool outputs per step is 1000.
+          #
+          # - In response: present if set by create/update request - In create request: optional - In update request: optional, any value provided will be appended to the existing list
+        { # A reference to a ToolExecution output file.
+          "testCase": { # A reference to a test case. # The test case to which this output file belongs.
+              #
+              # - In response: present if set by create/update request - In create/update request: optional
+              #
+              # Test case references are canonically ordered lexicographically by these three factors: * First, by test_suite_name. * Second, by class_name. * Third, by name.
+            "className": "A String", # The name of the class.
+            "testSuiteName": "A String", # The name of the test suite to which this test case belongs.
+            "name": "A String", # The name of the test case.
+                #
+                # Required.
+          },
+          "output": { # A reference to a file. # A FileReference to an output file.
+              #
+              # - In response: always set - In create/update request: always set
+            "fileUri": "A String", # The URI of a file stored in Google Cloud Storage.
+                #
+                # For example: http://storage.googleapis.com/mybucket/path/to/test.xml or in gsutil format: gs://mybucket/path/to/test.xml with version-specific info, gs://mybucket/path/to/test.xml#1360383693690000
+                #
+                # An INVALID_ARGUMENT error will be returned if the URI format is not supported.
+                #
+                # - In response: always set - In create/update request: always set
+          },
+          "creationTime": { # A Timestamp represents a point in time independent of any time zone or calendar, represented as seconds and fractions of seconds at nanosecond resolution in UTC Epoch time. It is encoded using the Proleptic Gregorian Calendar which extends the Gregorian calendar backwards to year one. It is encoded assuming all minutes are 60 seconds long, i.e. leap seconds are "smeared" so that no leap second table is needed for interpretation. Range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to and from RFC 3339 date strings. See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). # The creation time of the file.
+              #
+              # - In response: present if set by create/update request - In create/update request: optional
+              #
+              # Example 1: Compute Timestamp from POSIX `time()`.
+              #
+              # Timestamp timestamp; timestamp.set_seconds(time(NULL)); timestamp.set_nanos(0);
+              #
+              # Example 2: Compute Timestamp from POSIX `gettimeofday()`.
+              #
+              # struct timeval tv; gettimeofday(&tv, NULL);
+              #
+              # Timestamp timestamp; timestamp.set_seconds(tv.tv_sec); timestamp.set_nanos(tv.tv_usec * 1000);
+              #
+              # Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
+              #
+              # FILETIME ft; GetSystemTimeAsFileTime(&ft); UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
+              #
+              # // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. Timestamp timestamp; timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
+              #
+              # Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
+              #
+              # long millis = System.currentTimeMillis();
+              #
+              # Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) .setNanos((int) ((millis % 1000) * 1000000)).build();
+              #
+              #
+              #
+              # Example 5: Compute Timestamp from current time in Python.
+              #
+              # now = time.time() seconds = int(now) nanos = int((now - seconds) * 10**9) timestamp = Timestamp(seconds=seconds, nanos=nanos)
+            "nanos": 42, # Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive.
+            "seconds": "A String", # Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
+          },
+        },
+      ],
+      "commandLineArguments": [ # The full tokenized command line including the program name (equivalent to argv in a C program).
+          #
+          # - In response: present if set by create request - In create request: optional - In update request: never set
+        "A String",
+      ],
+    },
+    "testIssues": [ # Issues observed during the test execution.
+        #
+        # For example, if the mobile app under test crashed during the test, the error message and the stack trace content can be recorded here to assist debugging.
+        #
+        # - In response: present if set by create or update - In create/update request: optional
+      { # An abnormal event observed during the test execution.
+        "stackTrace": { # A stacktrace. # Optional.
+          "exception": "A String", # The stack trace message.
+              #
+              # Required
+        },
+        "errorMessage": "A String", # A brief human-readable message describing the abnormal event.
+            #
+            # Required.
+      },
+    ],
+  },
+  "toolExecutionStep": { # Generic tool step to be used for binaries we do not explicitly support. For example: running cp to copy artifacts from one location to another. # An execution of a tool (used for steps we don't explicitly support).
+    "toolExecution": { # An execution of an arbitrary tool. It could be a test runner or a tool copying artifacts or deploying code. # A Tool execution.
+        #
+        # - In response: present if set by create/update request - In create/update request: optional
+      "toolLogs": [ # References to any plain text logs output the tool execution.
+          #
+          # This field can be set before the tool has exited in order to be able to have access to a live view of the logs while the tool is running.
+          #
+          # The maximum allowed number of tool logs per step is 1000.
+          #
+          # - In response: present if set by create/update request - In create request: optional - In update request: optional, any value provided will be appended to the existing list
+        { # A reference to a file.
+          "fileUri": "A String", # The URI of a file stored in Google Cloud Storage.
+              #
+              # For example: http://storage.googleapis.com/mybucket/path/to/test.xml or in gsutil format: gs://mybucket/path/to/test.xml with version-specific info, gs://mybucket/path/to/test.xml#1360383693690000
+              #
+              # An INVALID_ARGUMENT error will be returned if the URI format is not supported.
+              #
+              # - In response: always set - In create/update request: always set
+        },
+      ],
+      "exitCode": { # Exit code from a tool execution. # Tool execution exit code. This field will be set once the tool has exited.
+          #
+          # - In response: present if set by create/update request - In create request: optional - In update request: optional, a FAILED_PRECONDITION error will be returned if an exit_code is already set.
+        "number": 42, # Tool execution exit code. A value of 0 means that the execution was successful.
+            #
+            # - In response: always set - In create/update request: always set
+      },
+      "toolOutputs": [ # References to opaque files of any format output by the tool execution.
+          #
+          # The maximum allowed number of tool outputs per step is 1000.
+          #
+          # - In response: present if set by create/update request - In create request: optional - In update request: optional, any value provided will be appended to the existing list
+        { # A reference to a ToolExecution output file.
+          "testCase": { # A reference to a test case. # The test case to which this output file belongs.
+              #
+              # - In response: present if set by create/update request - In create/update request: optional
+              #
+              # Test case references are canonically ordered lexicographically by these three factors: * First, by test_suite_name. * Second, by class_name. * Third, by name.
+            "className": "A String", # The name of the class.
+            "testSuiteName": "A String", # The name of the test suite to which this test case belongs.
+            "name": "A String", # The name of the test case.
+                #
+                # Required.
+          },
+          "output": { # A reference to a file. # A FileReference to an output file.
+              #
+              # - In response: always set - In create/update request: always set
+            "fileUri": "A String", # The URI of a file stored in Google Cloud Storage.
+                #
+                # For example: http://storage.googleapis.com/mybucket/path/to/test.xml or in gsutil format: gs://mybucket/path/to/test.xml with version-specific info, gs://mybucket/path/to/test.xml#1360383693690000
+                #
+                # An INVALID_ARGUMENT error will be returned if the URI format is not supported.
+                #
+                # - In response: always set - In create/update request: always set
+          },
+          "creationTime": { # A Timestamp represents a point in time independent of any time zone or calendar, represented as seconds and fractions of seconds at nanosecond resolution in UTC Epoch time. It is encoded using the Proleptic Gregorian Calendar which extends the Gregorian calendar backwards to year one. It is encoded assuming all minutes are 60 seconds long, i.e. leap seconds are "smeared" so that no leap second table is needed for interpretation. Range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to and from RFC 3339 date strings. See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). # The creation time of the file.
+              #
+              # - In response: present if set by create/update request - In create/update request: optional
+              #
+              # Example 1: Compute Timestamp from POSIX `time()`.
+              #
+              # Timestamp timestamp; timestamp.set_seconds(time(NULL)); timestamp.set_nanos(0);
+              #
+              # Example 2: Compute Timestamp from POSIX `gettimeofday()`.
+              #
+              # struct timeval tv; gettimeofday(&tv, NULL);
+              #
+              # Timestamp timestamp; timestamp.set_seconds(tv.tv_sec); timestamp.set_nanos(tv.tv_usec * 1000);
+              #
+              # Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
+              #
+              # FILETIME ft; GetSystemTimeAsFileTime(&ft); UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
+              #
+              # // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. Timestamp timestamp; timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
+              #
+              # Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
+              #
+              # long millis = System.currentTimeMillis();
+              #
+              # Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) .setNanos((int) ((millis % 1000) * 1000000)).build();
+              #
+              #
+              #
+              # Example 5: Compute Timestamp from current time in Python.
+              #
+              # now = time.time() seconds = int(now) nanos = int((now - seconds) * 10**9) timestamp = Timestamp(seconds=seconds, nanos=nanos)
+            "nanos": 42, # Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive.
+            "seconds": "A String", # Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
+          },
+        },
+      ],
+      "commandLineArguments": [ # The full tokenized command line including the program name (equivalent to argv in a C program).
+          #
+          # - In response: present if set by create request - In create request: optional - In update request: never set
+        "A String",
+      ],
+    },
+  },
+  "stepId": "A String", # A unique identifier within a Execution for this Step.
+      # 
+      # Returns INVALID_ARGUMENT if this field is set or overwritten by the caller.
+      # 
+      # - In response: always set - In create/update request: never set
+  "runDuration": { # A Duration represents a signed, fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like "day" or "month". It is related to Timestamp in that the difference between two Timestamp values is a Duration and it can be added or subtracted from a Timestamp. Range is approximately +-10,000 years. # How long it took for this step to run.
+      # 
+      # If unset, this is set to the difference between creation_time and completion_time when the step is set to the COMPLETE state. In some cases, it is appropriate to set this value separately: For instance, if a step is created, but the operation it represents is queued for a few minutes before it executes, it would be appropriate not to include the time spent queued in its run_duration.
+      # 
+      # PRECONDITION_FAILED will be returned if one attempts to set a run_duration on a step which already has this field set.
+      # 
+      # - In response: present if previously set; always present on COMPLETE step - In create request: optional - In update request: optional
+      #
+      # Example 1: Compute Duration from two Timestamps in pseudo code.
+      #
+      # Timestamp start = ...; Timestamp end = ...; Duration duration = ...;
+      #
+      # duration.seconds = end.seconds - start.seconds; duration.nanos = end.nanos - start.nanos;
+      #
+      # if (duration.seconds  0) { duration.seconds += 1; duration.nanos -= 1000000000; } else if (durations.seconds > 0 && duration.nanos < 0) { duration.seconds -= 1; duration.nanos += 1000000000; }
+      #
+      # Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.
+      #
+      # Timestamp start = ...; Duration duration = ...; Timestamp end = ...;
+      #
+      # end.seconds = start.seconds + duration.seconds; end.nanos = start.nanos + duration.nanos;
+      #
+      # if (end.nanos = 1000000000) { end.seconds += 1; end.nanos -= 1000000000; }
+    "nanos": 42, # Signed fractions of a second at nanosecond resolution of the span of time. Durations less than one second are represented with a 0 `seconds` field and a positive or negative `nanos` field. For durations of one second or more, a non-zero value for the `nanos` field must be of the same sign as the `seconds` field. Must be from -999,999,999 to +999,999,999 inclusive.
+    "seconds": "A String", # Signed seconds of the span of time. Must be from -315,576,000,000 to +315,576,000,000 inclusive.
+  },
+  "description": "A String", # A description of this tool For example: mvn clean package -D skipTests=true
+      # 
+      # - In response: present if set by create/update request - In create/update request: optional
+  "labels": [ # Arbitrary user-supplied key/value pairs that are associated with the step.
+      # 
+      # Users are responsible for managing the key namespace such that keys don't accidentally collide.
+      # 
+      # An INVALID_ARGUMENT will be returned if the number of labels exceeds 100 or if the length of any of the keys or values exceeds 100 characters.
+      # 
+      # - In response: always set - In create request: optional - In update request: optional; any new key/value pair will be added to the map, and any new value for an existing key will update that key's value
+    {
+      "value": "A String",
+      "key": "A String",
+    },
+  ],
+  "creationTime": { # A Timestamp represents a point in time independent of any time zone or calendar, represented as seconds and fractions of seconds at nanosecond resolution in UTC Epoch time. It is encoded using the Proleptic Gregorian Calendar which extends the Gregorian calendar backwards to year one. It is encoded assuming all minutes are 60 seconds long, i.e. leap seconds are "smeared" so that no leap second table is needed for interpretation. Range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to and from RFC 3339 date strings. See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). # The time when the step was created.
+      # 
+      # - In response: always set - In create/update request: never set
+      #
+      # Example 1: Compute Timestamp from POSIX `time()`.
+      #
+      # Timestamp timestamp; timestamp.set_seconds(time(NULL)); timestamp.set_nanos(0);
+      #
+      # Example 2: Compute Timestamp from POSIX `gettimeofday()`.
+      #
+      # struct timeval tv; gettimeofday(&tv, NULL);
+      #
+      # Timestamp timestamp; timestamp.set_seconds(tv.tv_sec); timestamp.set_nanos(tv.tv_usec * 1000);
+      #
+      # Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
+      #
+      # FILETIME ft; GetSystemTimeAsFileTime(&ft); UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
+      #
+      # // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. Timestamp timestamp; timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
+      #
+      # Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
+      #
+      # long millis = System.currentTimeMillis();
+      #
+      # Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) .setNanos((int) ((millis % 1000) * 1000000)).build();
+      #
+      #
+      #
+      # Example 5: Compute Timestamp from current time in Python.
+      #
+      # now = time.time() seconds = int(now) nanos = int((now - seconds) * 10**9) timestamp = Timestamp(seconds=seconds, nanos=nanos)
+    "nanos": 42, # Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive.
+    "seconds": "A String", # Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
+  },
+  "name": "A String", # A short human-readable name to display in the UI. Maximum of 100 characters. For example: Clean build
+      # 
+      # A PRECONDITION_FAILED will be returned upon creating a new step if it shares its name and dimension_value with an existing step. If two steps represent a similar action, but have different dimension values, they should share the same name. For instance, if the same set of tests is run on two different platforms, the two steps should have the same name.
+      # 
+      # - In response: always set - In create request: always set - In update request: never set
+  "state": "A String", # The initial state is IN_PROGRESS. The only legal state transitions are * IN_PROGRESS -> COMPLETE
+      # 
+      # A PRECONDITION_FAILED will be returned if an invalid transition is requested.
+      # 
+      # It is valid to create Step with a state set to COMPLETE. The state can only be set to COMPLETE once. A PRECONDITION_FAILED will be returned if the state is set to COMPLETE multiple times.
+      # 
+      # - In response: always set - In create/update request: optional
+  "completionTime": { # A Timestamp represents a point in time independent of any time zone or calendar, represented as seconds and fractions of seconds at nanosecond resolution in UTC Epoch time. It is encoded using the Proleptic Gregorian Calendar which extends the Gregorian calendar backwards to year one. It is encoded assuming all minutes are 60 seconds long, i.e. leap seconds are "smeared" so that no leap second table is needed for interpretation. Range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to and from RFC 3339 date strings. See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). # The time when the step status was set to complete.
+      # 
+      # This value will be set automatically when state transitions to COMPLETE.
+      # 
+      # - In response: set if the execution state is COMPLETE. - In create/update request: never set
+      #
+      # Example 1: Compute Timestamp from POSIX `time()`.
+      #
+      # Timestamp timestamp; timestamp.set_seconds(time(NULL)); timestamp.set_nanos(0);
+      #
+      # Example 2: Compute Timestamp from POSIX `gettimeofday()`.
+      #
+      # struct timeval tv; gettimeofday(&tv, NULL);
+      #
+      # Timestamp timestamp; timestamp.set_seconds(tv.tv_sec); timestamp.set_nanos(tv.tv_usec * 1000);
+      #
+      # Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
+      #
+      # FILETIME ft; GetSystemTimeAsFileTime(&ft); UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
+      #
+      # // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. Timestamp timestamp; timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
+      #
+      # Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
+      #
+      # long millis = System.currentTimeMillis();
+      #
+      # Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) .setNanos((int) ((millis % 1000) * 1000000)).build();
+      #
+      #
+      #
+      # Example 5: Compute Timestamp from current time in Python.
+      #
+      # now = time.time() seconds = int(now) nanos = int((now - seconds) * 10**9) timestamp = Timestamp(seconds=seconds, nanos=nanos)
+    "nanos": 42, # Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive.
+    "seconds": "A String", # Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
+  },
+  "dimensionValue": [ # If the execution containing this step has any dimension_definition set, then this field allows the child to specify the values of the dimensions.
+      # 
+      # The keys must exactly match the dimension_definition of the execution.
+      # 
+      # For example, if the execution has `dimension_definition = ['attempt', 'device']` then a step must define values for those dimensions, eg. `dimension_value = ['attempt': '1', 'device': 'Nexus 6']`
+      # 
+      # If a step does not participate in one dimension of the matrix, the value for that dimension should be empty string. For example, if one of the tests is executed by a runner which does not support retries, the step could have `dimension_value = ['attempt': '', 'device': 'Nexus 6']`
+      # 
+      # If the step does not participate in any dimensions of the matrix, it may leave dimension_value unset.
+      # 
+      # A PRECONDITION_FAILED will be returned if any of the keys do not exist in the dimension_definition of the execution.
+      # 
+      # A PRECONDITION_FAILED will be returned if another step in this execution already has the same name and dimension_value, but differs on other data fields, for example, step field is different.
+      # 
+      # A PRECONDITION_FAILED will be returned if dimension_value is set, and there is a dimension_definition in the execution which is not specified as one of the keys.
+      # 
+      # - In response: present if set by create - In create request: optional - In update request: never set
+    {
+      "value": "A String",
+      "key": "A String",
+    },
+  ],
+  "outcome": { # Interprets a result so that humans and machines can act on it. # Classification of the result, for example into SUCCESS or FAILURE
+      # 
+      # - In response: present if set by create/update request - In create/update request: optional
+    "inconclusiveDetail": { # More information about an INCONCLUSIVE outcome.
+        #
+        # Returns INVALID_ARGUMENT if this field is set but the summary is not INCONCLUSIVE.
+        #
+        # Optional
+      "infrastructureFailure": True or False, # If the test runner could not determine success or failure because the test depends on a component other than the system under test which failed.
+          #
+          # For example, a mobile test requires provisioning a device where the test executes, and that provisioning can fail.
+      "nativeCrash": True or False, # A native process crashed on the device, producing a tombstone. It is unclear whether the crash was related to the app under test.
+          #
+          # For example, OpenGL crashed, but it is unclear if the app is responsible.
+      "abortedByUser": True or False, # If the end user aborted the test execution before a pass or fail could be determined. For example, the user pressed ctrl-c which sent a kill signal to the test runner while the test was running.
+    },
+    "skippedDetail": { # More information about a SKIPPED outcome.
+        #
+        # Returns INVALID_ARGUMENT if this field is set but the summary is not SKIPPED.
+        #
+        # Optional
+      "incompatibleAppVersion": True or False, # If the App doesn't support the specific API level.
+      "incompatibleArchitecture": True or False, # If the App doesn't run on the specific architecture, for example, x86.
+      "incompatibleDevice": True or False, # If the requested OS version doesn't run on the specific device model.
+    },
+    "successDetail": { # More information about a SUCCESS outcome.
+        #
+        # Returns INVALID_ARGUMENT if this field is set but the summary is not SUCCESS.
+        #
+        # Optional
+      "otherNativeCrash": True or False, # If a native process other than the app crashed.
+    },
+    "failureDetail": { # More information about a FAILURE outcome.
+        #
+        # Returns INVALID_ARGUMENT if this field is set but the summary is not FAILURE.
+        #
+        # Optional
+      "otherNativeCrash": True or False, # If a native process other than the app crashed.
+      "crashed": True or False, # If the failure was severe because the system under test crashed.
+      "unableToCrawl": True or False, # If the robo was unable to crawl the app; perhaps because the app did not start.
+      "notInstalled": True or False, # If an app is not installed and thus no test can be run with the app. This might be caused by trying to run a test on an unsupported platform.
+      "timedOut": True or False, # If the test overran some time limit, and that is why it failed.
+    },
+    "summary": "A String", # The simplest way to interpret a result.
+        #
+        # Required
+  },
+  "deviceUsageDuration": { # A Duration represents a signed, fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like "day" or "month". It is related to Timestamp in that the difference between two Timestamp values is a Duration and it can be added or subtracted from a Timestamp. Range is approximately +-10,000 years. # How much the device resource is used to perform the test.
+      # 
+      # This is the device usage used for billing purpose, which is different from the run_duration, for example, infrastructure failure won't be charged for device usage.
+      # 
+      # PRECONDITION_FAILED will be returned if one attempts to set a device_usage on a step which already has this field set.
+      # 
+      # - In response: present if previously set. - In create request: optional - In update request: optional
+      #
+      # Example 1: Compute Duration from two Timestamps in pseudo code.
+      #
+      # Timestamp start = ...; Timestamp end = ...; Duration duration = ...;
+      #
+      # duration.seconds = end.seconds - start.seconds; duration.nanos = end.nanos - start.nanos;
+      #
+      # if (duration.seconds  0) { duration.seconds += 1; duration.nanos -= 1000000000; } else if (durations.seconds > 0 && duration.nanos < 0) { duration.seconds -= 1; duration.nanos += 1000000000; }
+      #
+      # Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.
+      #
+      # Timestamp start = ...; Duration duration = ...; Timestamp end = ...;
+      #
+      # end.seconds = start.seconds + duration.seconds; end.nanos = start.nanos + duration.nanos;
+      #
+      # if (end.nanos = 1000000000) { end.seconds += 1; end.nanos -= 1000000000; }
+    "nanos": 42, # Signed fractions of a second at nanosecond resolution of the span of time. Durations less than one second are represented with a 0 `seconds` field and a positive or negative `nanos` field. For durations of one second or more, a non-zero value for the `nanos` field must be of the same sign as the `seconds` field. Must be from -999,999,999 to +999,999,999 inclusive.
+    "seconds": "A String", # Signed seconds of the span of time. Must be from -315,576,000,000 to +315,576,000,000 inclusive.
+  },
+  "hasImages": True or False, # Whether any of the outputs of this step are images whose thumbnails can be fetched with ListThumbnails.
+      # 
+      # - In response: always set - In create/update request: never set
+}
+
+  requestId: string, A unique request ID for server to detect duplicated requests. For example, a UUID.
+
+Optional, but strongly recommended.
+
+Returns:
+  An object of the form:
+
+    { # A Step represents a single operation performed as part of Execution. A step can be used to represent the execution of a tool ( for example a test runner execution or an execution of a compiler).
+      #
+      # Steps can overlap (for instance two steps might have the same start time if some operations are done in parallel).
+      #
+      # Here is an example, let's consider that we have a continuous build is executing a test runner for each iteration. The workflow would look like: - user creates a Execution with id 1 - user creates an TestExecutionStep with id 100 for Execution 1 - user update TestExecutionStep with id 100 to add a raw xml log + the service parses the xml logs and returns a TestExecutionStep with updated TestResult(s). - user update the status of TestExecutionStep with id 100 to COMPLETE
+      #
+      # A Step can be updated until its state is set to COMPLETE at which points it becomes immutable.
+    "testExecutionStep": { # A step that represents running tests. # An execution of a test runner.
+        #
+        # It accepts ant-junit xml files which will be parsed into structured test results by the service. Xml file paths are updated in order to append more files, however they can't be deleted.
+        #
+        # Users can also add test results manually by using the test_result field.
+      "testTiming": { # Testing timing break down to know phases. # The timing break down of the test execution.
+          #
+          # - In response: present if set by create or update - In create/update request: optional
+        "testProcessDuration": { # A Duration represents a signed, fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like "day" or "month". It is related to Timestamp in that the difference between two Timestamp values is a Duration and it can be added or subtracted from a Timestamp. Range is approximately +-10,000 years. # How long it took to run the test process.
+            #
+            # - In response: present if previously set. - In create/update request: optional
+            #
+            # Example 1: Compute Duration from two Timestamps in pseudo code.
+            #
+            # Timestamp start = ...; Timestamp end = ...; Duration duration = ...;
+            #
+            # duration.seconds = end.seconds - start.seconds; duration.nanos = end.nanos - start.nanos;
+            #
+            # if (duration.seconds  0) { duration.seconds += 1; duration.nanos -= 1000000000; } else if (durations.seconds > 0 && duration.nanos < 0) { duration.seconds -= 1; duration.nanos += 1000000000; }
+            #
+            # Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.
+            #
+            # Timestamp start = ...; Duration duration = ...; Timestamp end = ...;
+            #
+            # end.seconds = start.seconds + duration.seconds; end.nanos = start.nanos + duration.nanos;
+            #
+            # if (end.nanos = 1000000000) { end.seconds += 1; end.nanos -= 1000000000; }
+          "nanos": 42, # Signed fractions of a second at nanosecond resolution of the span of time. Durations less than one second are represented with a 0 `seconds` field and a positive or negative `nanos` field. For durations of one second or more, a non-zero value for the `nanos` field must be of the same sign as the `seconds` field. Must be from -999,999,999 to +999,999,999 inclusive.
+          "seconds": "A String", # Signed seconds of the span of time. Must be from -315,576,000,000 to +315,576,000,000 inclusive.
+        },
+      },
+      "testSuiteOverviews": [ # List of test suite overview contents. This could be parsed from xUnit XML log by server, or uploaded directly by user. This references should only be called when test suites are fully parsed or uploaded.
+          #
+          # The maximum allowed number of test suite overviews per step is 1000.
+          #
+          # - In response: always set - In create request: optional - In update request: never (use publishXunitXmlFiles custom method instead)
+        { # A summary of a test suite result either parsed from XML or uploaded directly by a user.
+            #
+            # Note: the API related comments are for StepService only. This message is also being used in ExecutionService in a read only mode for the corresponding step.
+          "name": "A String", # The name of the test suite.
+              #
+              # - In create/response: always set - In update request: never
+          "errorCount": 42, # Number of test cases in error, typically set by the service by parsing the xml_source.
+              #
+              # - In create/response: always set - In update request: never
+          "totalCount": 42, # Number of test cases, typically set by the service by parsing the xml_source.
+              #
+              # - In create/response: always set - In update request: never
+          "xmlSource": { # A reference to a file. # If this test suite was parsed from XML, this is the URI where the original XML file is stored.
+              #
+              # Note: Multiple test suites can share the same xml_source
+              #
+              # Returns INVALID_ARGUMENT if the uri format is not supported.
+              #
+              # - In create/response: optional - In update request: never
+            "fileUri": "A String", # The URI of a file stored in Google Cloud Storage.
+                #
+                # For example: http://storage.googleapis.com/mybucket/path/to/test.xml or in gsutil format: gs://mybucket/path/to/test.xml with version-specific info, gs://mybucket/path/to/test.xml#1360383693690000
+                #
+                # An INVALID_ARGUMENT error will be returned if the URI format is not supported.
+                #
+                # - In response: always set - In create/update request: always set
+          },
+          "failureCount": 42, # Number of failed test cases, typically set by the service by parsing the xml_source. May also be set by the user.
+              #
+              # - In create/response: always set - In update request: never
+          "skippedCount": 42, # Number of test cases not run, typically set by the service by parsing the xml_source.
+              #
+              # - In create/response: always set - In update request: never
+        },
+      ],
+      "toolExecution": { # An execution of an arbitrary tool. It could be a test runner or a tool copying artifacts or deploying code. # Represents the execution of the test runner.
+          #
+          # The exit code of this tool will be used to determine if the test passed.
+          #
+          # - In response: always set - In create/update request: optional
+        "toolLogs": [ # References to any plain text logs output the tool execution.
+            #
+            # This field can be set before the tool has exited in order to be able to have access to a live view of the logs while the tool is running.
+            #
+            # The maximum allowed number of tool logs per step is 1000.
+            #
+            # - In response: present if set by create/update request - In create request: optional - In update request: optional, any value provided will be appended to the existing list
+          { # A reference to a file.
+            "fileUri": "A String", # The URI of a file stored in Google Cloud Storage.
+                #
+                # For example: http://storage.googleapis.com/mybucket/path/to/test.xml or in gsutil format: gs://mybucket/path/to/test.xml with version-specific info, gs://mybucket/path/to/test.xml#1360383693690000
+                #
+                # An INVALID_ARGUMENT error will be returned if the URI format is not supported.
+                #
+                # - In response: always set - In create/update request: always set
+          },
+        ],
+        "exitCode": { # Exit code from a tool execution. # Tool execution exit code. This field will be set once the tool has exited.
+            #
+            # - In response: present if set by create/update request - In create request: optional - In update request: optional, a FAILED_PRECONDITION error will be returned if an exit_code is already set.
+          "number": 42, # Tool execution exit code. A value of 0 means that the execution was successful.
+              #
+              # - In response: always set - In create/update request: always set
+        },
+        "toolOutputs": [ # References to opaque files of any format output by the tool execution.
+            #
+            # The maximum allowed number of tool outputs per step is 1000.
+            #
+            # - In response: present if set by create/update request - In create request: optional - In update request: optional, any value provided will be appended to the existing list
+          { # A reference to a ToolExecution output file.
+            "testCase": { # A reference to a test case. # The test case to which this output file belongs.
+                #
+                # - In response: present if set by create/update request - In create/update request: optional
+                #
+                # Test case references are canonically ordered lexicographically by these three factors: * First, by test_suite_name. * Second, by class_name. * Third, by name.
+              "className": "A String", # The name of the class.
+              "testSuiteName": "A String", # The name of the test suite to which this test case belongs.
+              "name": "A String", # The name of the test case.
+                  #
+                  # Required.
+            },
+            "output": { # A reference to a file. # A FileReference to an output file.
+                #
+                # - In response: always set - In create/update request: always set
+              "fileUri": "A String", # The URI of a file stored in Google Cloud Storage.
+                  #
+                  # For example: http://storage.googleapis.com/mybucket/path/to/test.xml or in gsutil format: gs://mybucket/path/to/test.xml with version-specific info, gs://mybucket/path/to/test.xml#1360383693690000
+                  #
+                  # An INVALID_ARGUMENT error will be returned if the URI format is not supported.
+                  #
+                  # - In response: always set - In create/update request: always set
+            },
+            "creationTime": { # A Timestamp represents a point in time independent of any time zone or calendar, represented as seconds and fractions of seconds at nanosecond resolution in UTC Epoch time. It is encoded using the Proleptic Gregorian Calendar which extends the Gregorian calendar backwards to year one. It is encoded assuming all minutes are 60 seconds long, i.e. leap seconds are "smeared" so that no leap second table is needed for interpretation. Range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to and from RFC 3339 date strings. See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). # The creation time of the file.
+                #
+                # - In response: present if set by create/update request - In create/update request: optional
+                #
+                # Example 1: Compute Timestamp from POSIX `time()`.
+                #
+                # Timestamp timestamp; timestamp.set_seconds(time(NULL)); timestamp.set_nanos(0);
+                #
+                # Example 2: Compute Timestamp from POSIX `gettimeofday()`.
+                #
+                # struct timeval tv; gettimeofday(&tv, NULL);
+                #
+                # Timestamp timestamp; timestamp.set_seconds(tv.tv_sec); timestamp.set_nanos(tv.tv_usec * 1000);
+                #
+                # Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
+                #
+                # FILETIME ft; GetSystemTimeAsFileTime(&ft); UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
+                #
+                # // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. Timestamp timestamp; timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
+                #
+                # Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
+                #
+                # long millis = System.currentTimeMillis();
+                #
+                # Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) .setNanos((int) ((millis % 1000) * 1000000)).build();
+                #
+                #
+                #
+                # Example 5: Compute Timestamp from current time in Python.
+                #
+                # now = time.time() seconds = int(now) nanos = int((now - seconds) * 10**9) timestamp = Timestamp(seconds=seconds, nanos=nanos)
+              "nanos": 42, # Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive.
+              "seconds": "A String", # Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
+            },
+          },
+        ],
+        "commandLineArguments": [ # The full tokenized command line including the program name (equivalent to argv in a C program).
+            #
+            # - In response: present if set by create request - In create request: optional - In update request: never set
+          "A String",
+        ],
+      },
+      "testIssues": [ # Issues observed during the test execution.
+          #
+          # For example, if the mobile app under test crashed during the test, the error message and the stack trace content can be recorded here to assist debugging.
+          #
+          # - In response: present if set by create or update - In create/update request: optional
+        { # An abnormal event observed during the test execution.
+          "stackTrace": { # A stacktrace. # Optional.
+            "exception": "A String", # The stack trace message.
+                #
+                # Required
+          },
+          "errorMessage": "A String", # A brief human-readable message describing the abnormal event.
+              #
+              # Required.
+        },
+      ],
+    },
+    "toolExecutionStep": { # Generic tool step to be used for binaries we do not explicitly support. For example: running cp to copy artifacts from one location to another. # An execution of a tool (used for steps we don't explicitly support).
+      "toolExecution": { # An execution of an arbitrary tool. It could be a test runner or a tool copying artifacts or deploying code. # A Tool execution.
+          #
+          # - In response: present if set by create/update request - In create/update request: optional
+        "toolLogs": [ # References to any plain text logs output the tool execution.
+            #
+            # This field can be set before the tool has exited in order to be able to have access to a live view of the logs while the tool is running.
+            #
+            # The maximum allowed number of tool logs per step is 1000.
+            #
+            # - In response: present if set by create/update request - In create request: optional - In update request: optional, any value provided will be appended to the existing list
+          { # A reference to a file.
+            "fileUri": "A String", # The URI of a file stored in Google Cloud Storage.
+                #
+                # For example: http://storage.googleapis.com/mybucket/path/to/test.xml or in gsutil format: gs://mybucket/path/to/test.xml with version-specific info, gs://mybucket/path/to/test.xml#1360383693690000
+                #
+                # An INVALID_ARGUMENT error will be returned if the URI format is not supported.
+                #
+                # - In response: always set - In create/update request: always set
+          },
+        ],
+        "exitCode": { # Exit code from a tool execution. # Tool execution exit code. This field will be set once the tool has exited.
+            #
+            # - In response: present if set by create/update request - In create request: optional - In update request: optional, a FAILED_PRECONDITION error will be returned if an exit_code is already set.
+          "number": 42, # Tool execution exit code. A value of 0 means that the execution was successful.
+              #
+              # - In response: always set - In create/update request: always set
+        },
+        "toolOutputs": [ # References to opaque files of any format output by the tool execution.
+            #
+            # The maximum allowed number of tool outputs per step is 1000.
+            #
+            # - In response: present if set by create/update request - In create request: optional - In update request: optional, any value provided will be appended to the existing list
+          { # A reference to a ToolExecution output file.
+            "testCase": { # A reference to a test case. # The test case to which this output file belongs.
+                #
+                # - In response: present if set by create/update request - In create/update request: optional
+                #
+                # Test case references are canonically ordered lexicographically by these three factors: * First, by test_suite_name. * Second, by class_name. * Third, by name.
+              "className": "A String", # The name of the class.
+              "testSuiteName": "A String", # The name of the test suite to which this test case belongs.
+              "name": "A String", # The name of the test case.
+                  #
+                  # Required.
+            },
+            "output": { # A reference to a file. # A FileReference to an output file.
+                #
+                # - In response: always set - In create/update request: always set
+              "fileUri": "A String", # The URI of a file stored in Google Cloud Storage.
+                  #
+                  # For example: http://storage.googleapis.com/mybucket/path/to/test.xml or in gsutil format: gs://mybucket/path/to/test.xml with version-specific info, gs://mybucket/path/to/test.xml#1360383693690000
+                  #
+                  # An INVALID_ARGUMENT error will be returned if the URI format is not supported.
+                  #
+                  # - In response: always set - In create/update request: always set
+            },
+            "creationTime": { # A Timestamp represents a point in time independent of any time zone or calendar, represented as seconds and fractions of seconds at nanosecond resolution in UTC Epoch time. It is encoded using the Proleptic Gregorian Calendar which extends the Gregorian calendar backwards to year one. It is encoded assuming all minutes are 60 seconds long, i.e. leap seconds are "smeared" so that no leap second table is needed for interpretation. Range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to and from RFC 3339 date strings. See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). # The creation time of the file.
+                #
+                # - In response: present if set by create/update request - In create/update request: optional
+                #
+                # Example 1: Compute Timestamp from POSIX `time()`.
+                #
+                # Timestamp timestamp; timestamp.set_seconds(time(NULL)); timestamp.set_nanos(0);
+                #
+                # Example 2: Compute Timestamp from POSIX `gettimeofday()`.
+                #
+                # struct timeval tv; gettimeofday(&tv, NULL);
+                #
+                # Timestamp timestamp; timestamp.set_seconds(tv.tv_sec); timestamp.set_nanos(tv.tv_usec * 1000);
+                #
+                # Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
+                #
+                # FILETIME ft; GetSystemTimeAsFileTime(&ft); UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
+                #
+                # // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. Timestamp timestamp; timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
+                #
+                # Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
+                #
+                # long millis = System.currentTimeMillis();
+                #
+                # Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) .setNanos((int) ((millis % 1000) * 1000000)).build();
+                #
+                #
+                #
+                # Example 5: Compute Timestamp from current time in Python.
+                #
+                # now = time.time() seconds = int(now) nanos = int((now - seconds) * 10**9) timestamp = Timestamp(seconds=seconds, nanos=nanos)
+              "nanos": 42, # Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive.
+              "seconds": "A String", # Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
+            },
+          },
+        ],
+        "commandLineArguments": [ # The full tokenized command line including the program name (equivalent to argv in a C program).
+            #
+            # - In response: present if set by create request - In create request: optional - In update request: never set
+          "A String",
+        ],
+      },
+    },
+    "stepId": "A String", # A unique identifier within a Execution for this Step.
+        #
+        # Returns INVALID_ARGUMENT if this field is set or overwritten by the caller.
+        #
+        # - In response: always set - In create/update request: never set
+    "runDuration": { # A Duration represents a signed, fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like "day" or "month". It is related to Timestamp in that the difference between two Timestamp values is a Duration and it can be added or subtracted from a Timestamp. Range is approximately +-10,000 years. # How long it took for this step to run.
+        #
+        # If unset, this is set to the difference between creation_time and completion_time when the step is set to the COMPLETE state. In some cases, it is appropriate to set this value separately: For instance, if a step is created, but the operation it represents is queued for a few minutes before it executes, it would be appropriate not to include the time spent queued in its run_duration.
+        #
+        # PRECONDITION_FAILED will be returned if one attempts to set a run_duration on a step which already has this field set.
+        #
+        # - In response: present if previously set; always present on COMPLETE step - In create request: optional - In update request: optional
+        #
+        # Example 1: Compute Duration from two Timestamps in pseudo code.
+        #
+        # Timestamp start = ...; Timestamp end = ...; Duration duration = ...;
+        #
+        # duration.seconds = end.seconds - start.seconds; duration.nanos = end.nanos - start.nanos;
+        #
+        # if (duration.seconds  0) { duration.seconds += 1; duration.nanos -= 1000000000; } else if (durations.seconds > 0 && duration.nanos < 0) { duration.seconds -= 1; duration.nanos += 1000000000; }
+        #
+        # Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.
+        #
+        # Timestamp start = ...; Duration duration = ...; Timestamp end = ...;
+        #
+        # end.seconds = start.seconds + duration.seconds; end.nanos = start.nanos + duration.nanos;
+        #
+        # if (end.nanos = 1000000000) { end.seconds += 1; end.nanos -= 1000000000; }
+      "nanos": 42, # Signed fractions of a second at nanosecond resolution of the span of time. Durations less than one second are represented with a 0 `seconds` field and a positive or negative `nanos` field. For durations of one second or more, a non-zero value for the `nanos` field must be of the same sign as the `seconds` field. Must be from -999,999,999 to +999,999,999 inclusive.
+      "seconds": "A String", # Signed seconds of the span of time. Must be from -315,576,000,000 to +315,576,000,000 inclusive.
+    },
+    "description": "A String", # A description of this tool For example: mvn clean package -D skipTests=true
+        #
+        # - In response: present if set by create/update request - In create/update request: optional
+    "labels": [ # Arbitrary user-supplied key/value pairs that are associated with the step.
+        #
+        # Users are responsible for managing the key namespace such that keys don't accidentally collide.
+        #
+        # An INVALID_ARGUMENT will be returned if the number of labels exceeds 100 or if the length of any of the keys or values exceeds 100 characters.
+        #
+        # - In response: always set - In create request: optional - In update request: optional; any new key/value pair will be added to the map, and any new value for an existing key will update that key's value
+      {
+        "value": "A String",
+        "key": "A String",
+      },
+    ],
+    "creationTime": { # A Timestamp represents a point in time independent of any time zone or calendar, represented as seconds and fractions of seconds at nanosecond resolution in UTC Epoch time. It is encoded using the Proleptic Gregorian Calendar which extends the Gregorian calendar backwards to year one. It is encoded assuming all minutes are 60 seconds long, i.e. leap seconds are "smeared" so that no leap second table is needed for interpretation. Range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to and from RFC 3339 date strings. See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). # The time when the step was created.
+        #
+        # - In response: always set - In create/update request: never set
+        #
+        # Example 1: Compute Timestamp from POSIX `time()`.
+        #
+        # Timestamp timestamp; timestamp.set_seconds(time(NULL)); timestamp.set_nanos(0);
+        #
+        # Example 2: Compute Timestamp from POSIX `gettimeofday()`.
+        #
+        # struct timeval tv; gettimeofday(&tv, NULL);
+        #
+        # Timestamp timestamp; timestamp.set_seconds(tv.tv_sec); timestamp.set_nanos(tv.tv_usec * 1000);
+        #
+        # Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
+        #
+        # FILETIME ft; GetSystemTimeAsFileTime(&ft); UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
+        #
+        # // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. Timestamp timestamp; timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
+        #
+        # Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
+        #
+        # long millis = System.currentTimeMillis();
+        #
+        # Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) .setNanos((int) ((millis % 1000) * 1000000)).build();
+        #
+        #
+        #
+        # Example 5: Compute Timestamp from current time in Python.
+        #
+        # now = time.time() seconds = int(now) nanos = int((now - seconds) * 10**9) timestamp = Timestamp(seconds=seconds, nanos=nanos)
+      "nanos": 42, # Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive.
+      "seconds": "A String", # Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
+    },
+    "name": "A String", # A short human-readable name to display in the UI. Maximum of 100 characters. For example: Clean build
+        #
+        # A PRECONDITION_FAILED will be returned upon creating a new step if it shares its name and dimension_value with an existing step. If two steps represent a similar action, but have different dimension values, they should share the same name. For instance, if the same set of tests is run on two different platforms, the two steps should have the same name.
+        #
+        # - In response: always set - In create request: always set - In update request: never set
+    "state": "A String", # The initial state is IN_PROGRESS. The only legal state transitions are * IN_PROGRESS -> COMPLETE
+        #
+        # A PRECONDITION_FAILED will be returned if an invalid transition is requested.
+        #
+        # It is valid to create Step with a state set to COMPLETE. The state can only be set to COMPLETE once. A PRECONDITION_FAILED will be returned if the state is set to COMPLETE multiple times.
+        #
+        # - In response: always set - In create/update request: optional
+    "completionTime": { # A Timestamp represents a point in time independent of any time zone or calendar, represented as seconds and fractions of seconds at nanosecond resolution in UTC Epoch time. It is encoded using the Proleptic Gregorian Calendar which extends the Gregorian calendar backwards to year one. It is encoded assuming all minutes are 60 seconds long, i.e. leap seconds are "smeared" so that no leap second table is needed for interpretation. Range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to and from RFC 3339 date strings. See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). # The time when the step status was set to complete.
+        #
+        # This value will be set automatically when state transitions to COMPLETE.
+        #
+        # - In response: set if the execution state is COMPLETE. - In create/update request: never set
+        #
+        # Example 1: Compute Timestamp from POSIX `time()`.
+        #
+        # Timestamp timestamp; timestamp.set_seconds(time(NULL)); timestamp.set_nanos(0);
+        #
+        # Example 2: Compute Timestamp from POSIX `gettimeofday()`.
+        #
+        # struct timeval tv; gettimeofday(&tv, NULL);
+        #
+        # Timestamp timestamp; timestamp.set_seconds(tv.tv_sec); timestamp.set_nanos(tv.tv_usec * 1000);
+        #
+        # Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
+        #
+        # FILETIME ft; GetSystemTimeAsFileTime(&ft); UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
+        #
+        # // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. Timestamp timestamp; timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
+        #
+        # Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
+        #
+        # long millis = System.currentTimeMillis();
+        #
+        # Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) .setNanos((int) ((millis % 1000) * 1000000)).build();
+        #
+        #
+        #
+        # Example 5: Compute Timestamp from current time in Python.
+        #
+        # now = time.time() seconds = int(now) nanos = int((now - seconds) * 10**9) timestamp = Timestamp(seconds=seconds, nanos=nanos)
+      "nanos": 42, # Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive.
+      "seconds": "A String", # Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
+    },
+    "dimensionValue": [ # If the execution containing this step has any dimension_definition set, then this field allows the child to specify the values of the dimensions.
+        #
+        # The keys must exactly match the dimension_definition of the execution.
+        #
+        # For example, if the execution has `dimension_definition = ['attempt', 'device']` then a step must define values for those dimensions, eg. `dimension_value = ['attempt': '1', 'device': 'Nexus 6']`
+        #
+        # If a step does not participate in one dimension of the matrix, the value for that dimension should be empty string. For example, if one of the tests is executed by a runner which does not support retries, the step could have `dimension_value = ['attempt': '', 'device': 'Nexus 6']`
+        #
+        # If the step does not participate in any dimensions of the matrix, it may leave dimension_value unset.
+        #
+        # A PRECONDITION_FAILED will be returned if any of the keys do not exist in the dimension_definition of the execution.
+        #
+        # A PRECONDITION_FAILED will be returned if another step in this execution already has the same name and dimension_value, but differs on other data fields, for example, step field is different.
+        #
+        # A PRECONDITION_FAILED will be returned if dimension_value is set, and there is a dimension_definition in the execution which is not specified as one of the keys.
+        #
+        # - In response: present if set by create - In create request: optional - In update request: never set
+      {
+        "value": "A String",
+        "key": "A String",
+      },
+    ],
+    "outcome": { # Interprets a result so that humans and machines can act on it. # Classification of the result, for example into SUCCESS or FAILURE
+        #
+        # - In response: present if set by create/update request - In create/update request: optional
+      "inconclusiveDetail": { # More information about an INCONCLUSIVE outcome.
+          #
+          # Returns INVALID_ARGUMENT if this field is set but the summary is not INCONCLUSIVE.
+          #
+          # Optional
+        "infrastructureFailure": True or False, # If the test runner could not determine success or failure because the test depends on a component other than the system under test which failed.
+            #
+            # For example, a mobile test requires provisioning a device where the test executes, and that provisioning can fail.
+        "nativeCrash": True or False, # A native process crashed on the device, producing a tombstone. It is unclear whether the crash was related to the app under test.
+            #
+            # For example, OpenGL crashed, but it is unclear if the app is responsible.
+        "abortedByUser": True or False, # If the end user aborted the test execution before a pass or fail could be determined. For example, the user pressed ctrl-c which sent a kill signal to the test runner while the test was running.
+      },
+      "skippedDetail": { # More information about a SKIPPED outcome.
+          #
+          # Returns INVALID_ARGUMENT if this field is set but the summary is not SKIPPED.
+          #
+          # Optional
+        "incompatibleAppVersion": True or False, # If the App doesn't support the specific API level.
+        "incompatibleArchitecture": True or False, # If the App doesn't run on the specific architecture, for example, x86.
+        "incompatibleDevice": True or False, # If the requested OS version doesn't run on the specific device model.
+      },
+      "successDetail": { # More information about a SUCCESS outcome.
+          #
+          # Returns INVALID_ARGUMENT if this field is set but the summary is not SUCCESS.
+          #
+          # Optional
+        "otherNativeCrash": True or False, # If a native process other than the app crashed.
+      },
+      "failureDetail": { # More information about a FAILURE outcome.
+          #
+          # Returns INVALID_ARGUMENT if this field is set but the summary is not FAILURE.
+          #
+          # Optional
+        "otherNativeCrash": True or False, # If a native process other than the app crashed.
+        "crashed": True or False, # If the failure was severe because the system under test crashed.
+        "unableToCrawl": True or False, # If the robo was unable to crawl the app; perhaps because the app did not start.
+        "notInstalled": True or False, # If an app is not installed and thus no test can be run with the app. This might be caused by trying to run a test on an unsupported platform.
+        "timedOut": True or False, # If the test overran some time limit, and that is why it failed.
+      },
+      "summary": "A String", # The simplest way to interpret a result.
+          #
+          # Required
+    },
+    "deviceUsageDuration": { # A Duration represents a signed, fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like "day" or "month". It is related to Timestamp in that the difference between two Timestamp values is a Duration and it can be added or subtracted from a Timestamp. Range is approximately +-10,000 years. # How much the device resource is used to perform the test.
+        #
+        # This is the device usage used for billing purpose, which is different from the run_duration, for example, infrastructure failure won't be charged for device usage.
+        #
+        # PRECONDITION_FAILED will be returned if one attempts to set a device_usage on a step which already has this field set.
+        #
+        # - In response: present if previously set. - In create request: optional - In update request: optional
+        #
+        # Example 1: Compute Duration from two Timestamps in pseudo code.
+        #
+        # Timestamp start = ...; Timestamp end = ...; Duration duration = ...;
+        #
+        # duration.seconds = end.seconds - start.seconds; duration.nanos = end.nanos - start.nanos;
+        #
+        # if (duration.seconds  0) { duration.seconds += 1; duration.nanos -= 1000000000; } else if (durations.seconds > 0 && duration.nanos < 0) { duration.seconds -= 1; duration.nanos += 1000000000; }
+        #
+        # Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.
+        #
+        # Timestamp start = ...; Duration duration = ...; Timestamp end = ...;
+        #
+        # end.seconds = start.seconds + duration.seconds; end.nanos = start.nanos + duration.nanos;
+        #
+        # if (end.nanos = 1000000000) { end.seconds += 1; end.nanos -= 1000000000; }
+      "nanos": 42, # Signed fractions of a second at nanosecond resolution of the span of time. Durations less than one second are represented with a 0 `seconds` field and a positive or negative `nanos` field. For durations of one second or more, a non-zero value for the `nanos` field must be of the same sign as the `seconds` field. Must be from -999,999,999 to +999,999,999 inclusive.
+      "seconds": "A String", # Signed seconds of the span of time. Must be from -315,576,000,000 to +315,576,000,000 inclusive.
+    },
+    "hasImages": True or False, # Whether any of the outputs of this step are images whose thumbnails can be fetched with ListThumbnails.
+        #
+        # - In response: always set - In create/update request: never set
+  }
+
+ +
+ publishXunitXmlFiles(projectId=None, historyId=None, executionId=None, stepId=None, body) +
Publish xml files to an existing Step.
+
+May return any of the following canonical error codes:
+
+- PERMISSION_DENIED - if the user is not authorized to write project - INVALID_ARGUMENT - if the request is malformed - FAILED_PRECONDITION - if the requested state transition is illegal, e.g try to upload a duplicate xml file or a file too large. - NOT_FOUND - if the containing Execution does not exist
+
+Args:
+  projectId: string, A Project id.
+
+Required. (required)
+  historyId: string, A History id.
+
+Required. (required)
+  executionId: string, A Execution id.
+
+Required. (required)
+  stepId: string, A Step id. Note: This step must include a TestExecutionStep.
+
+Required. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Request message for StepService.PublishXunitXmlFiles.
+    "xunitXmlFiles": [ # URI of the Xunit XML files to publish.
+        # 
+        # The maximum size of the file this reference is pointing to is 50MB.
+        # 
+        # Required.
+      { # A reference to a file.
+        "fileUri": "A String", # The URI of a file stored in Google Cloud Storage.
+            #
+            # For example: http://storage.googleapis.com/mybucket/path/to/test.xml or in gsutil format: gs://mybucket/path/to/test.xml with version-specific info, gs://mybucket/path/to/test.xml#1360383693690000
+            #
+            # An INVALID_ARGUMENT error will be returned if the URI format is not supported.
+            #
+            # - In response: always set - In create/update request: always set
+      },
+    ],
+  }
+
+
+Returns:
+  An object of the form:
+
+    { # A Step represents a single operation performed as part of Execution. A step can be used to represent the execution of a tool ( for example a test runner execution or an execution of a compiler).
+      #
+      # Steps can overlap (for instance two steps might have the same start time if some operations are done in parallel).
+      #
+      # Here is an example, let's consider that we have a continuous build is executing a test runner for each iteration. The workflow would look like: - user creates a Execution with id 1 - user creates an TestExecutionStep with id 100 for Execution 1 - user update TestExecutionStep with id 100 to add a raw xml log + the service parses the xml logs and returns a TestExecutionStep with updated TestResult(s). - user update the status of TestExecutionStep with id 100 to COMPLETE
+      #
+      # A Step can be updated until its state is set to COMPLETE at which points it becomes immutable.
+    "testExecutionStep": { # A step that represents running tests. # An execution of a test runner.
+        #
+        # It accepts ant-junit xml files which will be parsed into structured test results by the service. Xml file paths are updated in order to append more files, however they can't be deleted.
+        #
+        # Users can also add test results manually by using the test_result field.
+      "testTiming": { # Testing timing break down to know phases. # The timing break down of the test execution.
+          #
+          # - In response: present if set by create or update - In create/update request: optional
+        "testProcessDuration": { # A Duration represents a signed, fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like "day" or "month". It is related to Timestamp in that the difference between two Timestamp values is a Duration and it can be added or subtracted from a Timestamp. Range is approximately +-10,000 years. # How long it took to run the test process.
+            #
+            # - In response: present if previously set. - In create/update request: optional
+            #
+            # Example 1: Compute Duration from two Timestamps in pseudo code.
+            #
+            # Timestamp start = ...; Timestamp end = ...; Duration duration = ...;
+            #
+            # duration.seconds = end.seconds - start.seconds; duration.nanos = end.nanos - start.nanos;
+            #
+            # if (duration.seconds  0) { duration.seconds += 1; duration.nanos -= 1000000000; } else if (durations.seconds > 0 && duration.nanos < 0) { duration.seconds -= 1; duration.nanos += 1000000000; }
+            #
+            # Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.
+            #
+            # Timestamp start = ...; Duration duration = ...; Timestamp end = ...;
+            #
+            # end.seconds = start.seconds + duration.seconds; end.nanos = start.nanos + duration.nanos;
+            #
+            # if (end.nanos = 1000000000) { end.seconds += 1; end.nanos -= 1000000000; }
+          "nanos": 42, # Signed fractions of a second at nanosecond resolution of the span of time. Durations less than one second are represented with a 0 `seconds` field and a positive or negative `nanos` field. For durations of one second or more, a non-zero value for the `nanos` field must be of the same sign as the `seconds` field. Must be from -999,999,999 to +999,999,999 inclusive.
+          "seconds": "A String", # Signed seconds of the span of time. Must be from -315,576,000,000 to +315,576,000,000 inclusive.
+        },
+      },
+      "testSuiteOverviews": [ # List of test suite overview contents. This could be parsed from xUnit XML log by server, or uploaded directly by user. This references should only be called when test suites are fully parsed or uploaded.
+          #
+          # The maximum allowed number of test suite overviews per step is 1000.
+          #
+          # - In response: always set - In create request: optional - In update request: never (use publishXunitXmlFiles custom method instead)
+        { # A summary of a test suite result either parsed from XML or uploaded directly by a user.
+            #
+            # Note: the API related comments are for StepService only. This message is also being used in ExecutionService in a read only mode for the corresponding step.
+          "name": "A String", # The name of the test suite.
+              #
+              # - In create/response: always set - In update request: never
+          "errorCount": 42, # Number of test cases in error, typically set by the service by parsing the xml_source.
+              #
+              # - In create/response: always set - In update request: never
+          "totalCount": 42, # Number of test cases, typically set by the service by parsing the xml_source.
+              #
+              # - In create/response: always set - In update request: never
+          "xmlSource": { # A reference to a file. # If this test suite was parsed from XML, this is the URI where the original XML file is stored.
+              #
+              # Note: Multiple test suites can share the same xml_source
+              #
+              # Returns INVALID_ARGUMENT if the uri format is not supported.
+              #
+              # - In create/response: optional - In update request: never
+            "fileUri": "A String", # The URI of a file stored in Google Cloud Storage.
+                #
+                # For example: http://storage.googleapis.com/mybucket/path/to/test.xml or in gsutil format: gs://mybucket/path/to/test.xml with version-specific info, gs://mybucket/path/to/test.xml#1360383693690000
+                #
+                # An INVALID_ARGUMENT error will be returned if the URI format is not supported.
+                #
+                # - In response: always set - In create/update request: always set
+          },
+          "failureCount": 42, # Number of failed test cases, typically set by the service by parsing the xml_source. May also be set by the user.
+              #
+              # - In create/response: always set - In update request: never
+          "skippedCount": 42, # Number of test cases not run, typically set by the service by parsing the xml_source.
+              #
+              # - In create/response: always set - In update request: never
+        },
+      ],
+      "toolExecution": { # An execution of an arbitrary tool. It could be a test runner or a tool copying artifacts or deploying code. # Represents the execution of the test runner.
+          #
+          # The exit code of this tool will be used to determine if the test passed.
+          #
+          # - In response: always set - In create/update request: optional
+        "toolLogs": [ # References to any plain text logs output the tool execution.
+            #
+            # This field can be set before the tool has exited in order to be able to have access to a live view of the logs while the tool is running.
+            #
+            # The maximum allowed number of tool logs per step is 1000.
+            #
+            # - In response: present if set by create/update request - In create request: optional - In update request: optional, any value provided will be appended to the existing list
+          { # A reference to a file.
+            "fileUri": "A String", # The URI of a file stored in Google Cloud Storage.
+                #
+                # For example: http://storage.googleapis.com/mybucket/path/to/test.xml or in gsutil format: gs://mybucket/path/to/test.xml with version-specific info, gs://mybucket/path/to/test.xml#1360383693690000
+                #
+                # An INVALID_ARGUMENT error will be returned if the URI format is not supported.
+                #
+                # - In response: always set - In create/update request: always set
+          },
+        ],
+        "exitCode": { # Exit code from a tool execution. # Tool execution exit code. This field will be set once the tool has exited.
+            #
+            # - In response: present if set by create/update request - In create request: optional - In update request: optional, a FAILED_PRECONDITION error will be returned if an exit_code is already set.
+          "number": 42, # Tool execution exit code. A value of 0 means that the execution was successful.
+              #
+              # - In response: always set - In create/update request: always set
+        },
+        "toolOutputs": [ # References to opaque files of any format output by the tool execution.
+            #
+            # The maximum allowed number of tool outputs per step is 1000.
+            #
+            # - In response: present if set by create/update request - In create request: optional - In update request: optional, any value provided will be appended to the existing list
+          { # A reference to a ToolExecution output file.
+            "testCase": { # A reference to a test case. # The test case to which this output file belongs.
+                #
+                # - In response: present if set by create/update request - In create/update request: optional
+                #
+                # Test case references are canonically ordered lexicographically by these three factors: * First, by test_suite_name. * Second, by class_name. * Third, by name.
+              "className": "A String", # The name of the class.
+              "testSuiteName": "A String", # The name of the test suite to which this test case belongs.
+              "name": "A String", # The name of the test case.
+                  #
+                  # Required.
+            },
+            "output": { # A reference to a file. # A FileReference to an output file.
+                #
+                # - In response: always set - In create/update request: always set
+              "fileUri": "A String", # The URI of a file stored in Google Cloud Storage.
+                  #
+                  # For example: http://storage.googleapis.com/mybucket/path/to/test.xml or in gsutil format: gs://mybucket/path/to/test.xml with version-specific info, gs://mybucket/path/to/test.xml#1360383693690000
+                  #
+                  # An INVALID_ARGUMENT error will be returned if the URI format is not supported.
+                  #
+                  # - In response: always set - In create/update request: always set
+            },
+            "creationTime": { # A Timestamp represents a point in time independent of any time zone or calendar, represented as seconds and fractions of seconds at nanosecond resolution in UTC Epoch time. It is encoded using the Proleptic Gregorian Calendar which extends the Gregorian calendar backwards to year one. It is encoded assuming all minutes are 60 seconds long, i.e. leap seconds are "smeared" so that no leap second table is needed for interpretation. Range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to and from RFC 3339 date strings. See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). # The creation time of the file.
+                #
+                # - In response: present if set by create/update request - In create/update request: optional
+                #
+                # Example 1: Compute Timestamp from POSIX `time()`.
+                #
+                # Timestamp timestamp; timestamp.set_seconds(time(NULL)); timestamp.set_nanos(0);
+                #
+                # Example 2: Compute Timestamp from POSIX `gettimeofday()`.
+                #
+                # struct timeval tv; gettimeofday(&tv, NULL);
+                #
+                # Timestamp timestamp; timestamp.set_seconds(tv.tv_sec); timestamp.set_nanos(tv.tv_usec * 1000);
+                #
+                # Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
+                #
+                # FILETIME ft; GetSystemTimeAsFileTime(&ft); UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
+                #
+                # // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. Timestamp timestamp; timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
+                #
+                # Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
+                #
+                # long millis = System.currentTimeMillis();
+                #
+                # Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) .setNanos((int) ((millis % 1000) * 1000000)).build();
+                #
+                #
+                #
+                # Example 5: Compute Timestamp from current time in Python.
+                #
+                # now = time.time() seconds = int(now) nanos = int((now - seconds) * 10**9) timestamp = Timestamp(seconds=seconds, nanos=nanos)
+              "nanos": 42, # Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive.
+              "seconds": "A String", # Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
+            },
+          },
+        ],
+        "commandLineArguments": [ # The full tokenized command line including the program name (equivalent to argv in a C program).
+            #
+            # - In response: present if set by create request - In create request: optional - In update request: never set
+          "A String",
+        ],
+      },
+      "testIssues": [ # Issues observed during the test execution.
+          #
+          # For example, if the mobile app under test crashed during the test, the error message and the stack trace content can be recorded here to assist debugging.
+          #
+          # - In response: present if set by create or update - In create/update request: optional
+        { # An abnormal event observed during the test execution.
+          "stackTrace": { # A stacktrace. # Optional.
+            "exception": "A String", # The stack trace message.
+                #
+                # Required
+          },
+          "errorMessage": "A String", # A brief human-readable message describing the abnormal event.
+              #
+              # Required.
+        },
+      ],
+    },
+    "toolExecutionStep": { # Generic tool step to be used for binaries we do not explicitly support. For example: running cp to copy artifacts from one location to another. # An execution of a tool (used for steps we don't explicitly support).
+      "toolExecution": { # An execution of an arbitrary tool. It could be a test runner or a tool copying artifacts or deploying code. # A Tool execution.
+          #
+          # - In response: present if set by create/update request - In create/update request: optional
+        "toolLogs": [ # References to any plain text logs output the tool execution.
+            #
+            # This field can be set before the tool has exited in order to be able to have access to a live view of the logs while the tool is running.
+            #
+            # The maximum allowed number of tool logs per step is 1000.
+            #
+            # - In response: present if set by create/update request - In create request: optional - In update request: optional, any value provided will be appended to the existing list
+          { # A reference to a file.
+            "fileUri": "A String", # The URI of a file stored in Google Cloud Storage.
+                #
+                # For example: http://storage.googleapis.com/mybucket/path/to/test.xml or in gsutil format: gs://mybucket/path/to/test.xml with version-specific info, gs://mybucket/path/to/test.xml#1360383693690000
+                #
+                # An INVALID_ARGUMENT error will be returned if the URI format is not supported.
+                #
+                # - In response: always set - In create/update request: always set
+          },
+        ],
+        "exitCode": { # Exit code from a tool execution. # Tool execution exit code. This field will be set once the tool has exited.
+            #
+            # - In response: present if set by create/update request - In create request: optional - In update request: optional, a FAILED_PRECONDITION error will be returned if an exit_code is already set.
+          "number": 42, # Tool execution exit code. A value of 0 means that the execution was successful.
+              #
+              # - In response: always set - In create/update request: always set
+        },
+        "toolOutputs": [ # References to opaque files of any format output by the tool execution.
+            #
+            # The maximum allowed number of tool outputs per step is 1000.
+            #
+            # - In response: present if set by create/update request - In create request: optional - In update request: optional, any value provided will be appended to the existing list
+          { # A reference to a ToolExecution output file.
+            "testCase": { # A reference to a test case. # The test case to which this output file belongs.
+                #
+                # - In response: present if set by create/update request - In create/update request: optional
+                #
+                # Test case references are canonically ordered lexicographically by these three factors: * First, by test_suite_name. * Second, by class_name. * Third, by name.
+              "className": "A String", # The name of the class.
+              "testSuiteName": "A String", # The name of the test suite to which this test case belongs.
+              "name": "A String", # The name of the test case.
+                  #
+                  # Required.
+            },
+            "output": { # A reference to a file. # A FileReference to an output file.
+                #
+                # - In response: always set - In create/update request: always set
+              "fileUri": "A String", # The URI of a file stored in Google Cloud Storage.
+                  #
+                  # For example: http://storage.googleapis.com/mybucket/path/to/test.xml or in gsutil format: gs://mybucket/path/to/test.xml with version-specific info, gs://mybucket/path/to/test.xml#1360383693690000
+                  #
+                  # An INVALID_ARGUMENT error will be returned if the URI format is not supported.
+                  #
+                  # - In response: always set - In create/update request: always set
+            },
+            "creationTime": { # A Timestamp represents a point in time independent of any time zone or calendar, represented as seconds and fractions of seconds at nanosecond resolution in UTC Epoch time. It is encoded using the Proleptic Gregorian Calendar which extends the Gregorian calendar backwards to year one. It is encoded assuming all minutes are 60 seconds long, i.e. leap seconds are "smeared" so that no leap second table is needed for interpretation. Range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to and from RFC 3339 date strings. See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). # The creation time of the file.
+                #
+                # - In response: present if set by create/update request - In create/update request: optional
+                #
+                # Example 1: Compute Timestamp from POSIX `time()`.
+                #
+                # Timestamp timestamp; timestamp.set_seconds(time(NULL)); timestamp.set_nanos(0);
+                #
+                # Example 2: Compute Timestamp from POSIX `gettimeofday()`.
+                #
+                # struct timeval tv; gettimeofday(&tv, NULL);
+                #
+                # Timestamp timestamp; timestamp.set_seconds(tv.tv_sec); timestamp.set_nanos(tv.tv_usec * 1000);
+                #
+                # Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
+                #
+                # FILETIME ft; GetSystemTimeAsFileTime(&ft); UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
+                #
+                # // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. Timestamp timestamp; timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
+                #
+                # Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
+                #
+                # long millis = System.currentTimeMillis();
+                #
+                # Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) .setNanos((int) ((millis % 1000) * 1000000)).build();
+                #
+                #
+                #
+                # Example 5: Compute Timestamp from current time in Python.
+                #
+                # now = time.time() seconds = int(now) nanos = int((now - seconds) * 10**9) timestamp = Timestamp(seconds=seconds, nanos=nanos)
+              "nanos": 42, # Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive.
+              "seconds": "A String", # Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
+            },
+          },
+        ],
+        "commandLineArguments": [ # The full tokenized command line including the program name (equivalent to argv in a C program).
+            #
+            # - In response: present if set by create request - In create request: optional - In update request: never set
+          "A String",
+        ],
+      },
+    },
+    "stepId": "A String", # A unique identifier within a Execution for this Step.
+        #
+        # Returns INVALID_ARGUMENT if this field is set or overwritten by the caller.
+        #
+        # - In response: always set - In create/update request: never set
+    "runDuration": { # A Duration represents a signed, fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like "day" or "month". It is related to Timestamp in that the difference between two Timestamp values is a Duration and it can be added or subtracted from a Timestamp. Range is approximately +-10,000 years. # How long it took for this step to run.
+        #
+        # If unset, this is set to the difference between creation_time and completion_time when the step is set to the COMPLETE state. In some cases, it is appropriate to set this value separately: For instance, if a step is created, but the operation it represents is queued for a few minutes before it executes, it would be appropriate not to include the time spent queued in its run_duration.
+        #
+        # PRECONDITION_FAILED will be returned if one attempts to set a run_duration on a step which already has this field set.
+        #
+        # - In response: present if previously set; always present on COMPLETE step - In create request: optional - In update request: optional
+        #
+        # Example 1: Compute Duration from two Timestamps in pseudo code.
+        #
+        # Timestamp start = ...; Timestamp end = ...; Duration duration = ...;
+        #
+        # duration.seconds = end.seconds - start.seconds; duration.nanos = end.nanos - start.nanos;
+        #
+        # if (duration.seconds  0) { duration.seconds += 1; duration.nanos -= 1000000000; } else if (durations.seconds > 0 && duration.nanos < 0) { duration.seconds -= 1; duration.nanos += 1000000000; }
+        #
+        # Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.
+        #
+        # Timestamp start = ...; Duration duration = ...; Timestamp end = ...;
+        #
+        # end.seconds = start.seconds + duration.seconds; end.nanos = start.nanos + duration.nanos;
+        #
+        # if (end.nanos = 1000000000) { end.seconds += 1; end.nanos -= 1000000000; }
+      "nanos": 42, # Signed fractions of a second at nanosecond resolution of the span of time. Durations less than one second are represented with a 0 `seconds` field and a positive or negative `nanos` field. For durations of one second or more, a non-zero value for the `nanos` field must be of the same sign as the `seconds` field. Must be from -999,999,999 to +999,999,999 inclusive.
+      "seconds": "A String", # Signed seconds of the span of time. Must be from -315,576,000,000 to +315,576,000,000 inclusive.
+    },
+    "description": "A String", # A description of this tool For example: mvn clean package -D skipTests=true
+        #
+        # - In response: present if set by create/update request - In create/update request: optional
+    "labels": [ # Arbitrary user-supplied key/value pairs that are associated with the step.
+        #
+        # Users are responsible for managing the key namespace such that keys don't accidentally collide.
+        #
+        # An INVALID_ARGUMENT will be returned if the number of labels exceeds 100 or if the length of any of the keys or values exceeds 100 characters.
+        #
+        # - In response: always set - In create request: optional - In update request: optional; any new key/value pair will be added to the map, and any new value for an existing key will update that key's value
+      {
+        "value": "A String",
+        "key": "A String",
+      },
+    ],
+    "creationTime": { # A Timestamp represents a point in time independent of any time zone or calendar, represented as seconds and fractions of seconds at nanosecond resolution in UTC Epoch time. It is encoded using the Proleptic Gregorian Calendar which extends the Gregorian calendar backwards to year one. It is encoded assuming all minutes are 60 seconds long, i.e. leap seconds are "smeared" so that no leap second table is needed for interpretation. Range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to and from RFC 3339 date strings. See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). # The time when the step was created.
+        #
+        # - In response: always set - In create/update request: never set
+        #
+        # Example 1: Compute Timestamp from POSIX `time()`.
+        #
+        # Timestamp timestamp; timestamp.set_seconds(time(NULL)); timestamp.set_nanos(0);
+        #
+        # Example 2: Compute Timestamp from POSIX `gettimeofday()`.
+        #
+        # struct timeval tv; gettimeofday(&tv, NULL);
+        #
+        # Timestamp timestamp; timestamp.set_seconds(tv.tv_sec); timestamp.set_nanos(tv.tv_usec * 1000);
+        #
+        # Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
+        #
+        # FILETIME ft; GetSystemTimeAsFileTime(&ft); UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
+        #
+        # // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. Timestamp timestamp; timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
+        #
+        # Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
+        #
+        # long millis = System.currentTimeMillis();
+        #
+        # Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) .setNanos((int) ((millis % 1000) * 1000000)).build();
+        #
+        #
+        #
+        # Example 5: Compute Timestamp from current time in Python.
+        #
+        # now = time.time() seconds = int(now) nanos = int((now - seconds) * 10**9) timestamp = Timestamp(seconds=seconds, nanos=nanos)
+      "nanos": 42, # Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive.
+      "seconds": "A String", # Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
+    },
+    "name": "A String", # A short human-readable name to display in the UI. Maximum of 100 characters. For example: Clean build
+        #
+        # A PRECONDITION_FAILED will be returned upon creating a new step if it shares its name and dimension_value with an existing step. If two steps represent a similar action, but have different dimension values, they should share the same name. For instance, if the same set of tests is run on two different platforms, the two steps should have the same name.
+        #
+        # - In response: always set - In create request: always set - In update request: never set
+    "state": "A String", # The initial state is IN_PROGRESS. The only legal state transitions are * IN_PROGRESS -> COMPLETE
+        #
+        # A PRECONDITION_FAILED will be returned if an invalid transition is requested.
+        #
+        # It is valid to create Step with a state set to COMPLETE. The state can only be set to COMPLETE once. A PRECONDITION_FAILED will be returned if the state is set to COMPLETE multiple times.
+        #
+        # - In response: always set - In create/update request: optional
+    "completionTime": { # A Timestamp represents a point in time independent of any time zone or calendar, represented as seconds and fractions of seconds at nanosecond resolution in UTC Epoch time. It is encoded using the Proleptic Gregorian Calendar which extends the Gregorian calendar backwards to year one. It is encoded assuming all minutes are 60 seconds long, i.e. leap seconds are "smeared" so that no leap second table is needed for interpretation. Range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to and from RFC 3339 date strings. See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). # The time when the step status was set to complete.
+        #
+        # This value will be set automatically when state transitions to COMPLETE.
+        #
+        # - In response: set if the execution state is COMPLETE. - In create/update request: never set
+        #
+        # Example 1: Compute Timestamp from POSIX `time()`.
+        #
+        # Timestamp timestamp; timestamp.set_seconds(time(NULL)); timestamp.set_nanos(0);
+        #
+        # Example 2: Compute Timestamp from POSIX `gettimeofday()`.
+        #
+        # struct timeval tv; gettimeofday(&tv, NULL);
+        #
+        # Timestamp timestamp; timestamp.set_seconds(tv.tv_sec); timestamp.set_nanos(tv.tv_usec * 1000);
+        #
+        # Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
+        #
+        # FILETIME ft; GetSystemTimeAsFileTime(&ft); UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
+        #
+        # // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. Timestamp timestamp; timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
+        #
+        # Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
+        #
+        # long millis = System.currentTimeMillis();
+        #
+        # Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) .setNanos((int) ((millis % 1000) * 1000000)).build();
+        #
+        #
+        #
+        # Example 5: Compute Timestamp from current time in Python.
+        #
+        # now = time.time() seconds = int(now) nanos = int((now - seconds) * 10**9) timestamp = Timestamp(seconds=seconds, nanos=nanos)
+      "nanos": 42, # Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive.
+      "seconds": "A String", # Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
+    },
+    "dimensionValue": [ # If the execution containing this step has any dimension_definition set, then this field allows the child to specify the values of the dimensions.
+        #
+        # The keys must exactly match the dimension_definition of the execution.
+        #
+        # For example, if the execution has `dimension_definition = ['attempt', 'device']` then a step must define values for those dimensions, eg. `dimension_value = ['attempt': '1', 'device': 'Nexus 6']`
+        #
+        # If a step does not participate in one dimension of the matrix, the value for that dimension should be empty string. For example, if one of the tests is executed by a runner which does not support retries, the step could have `dimension_value = ['attempt': '', 'device': 'Nexus 6']`
+        #
+        # If the step does not participate in any dimensions of the matrix, it may leave dimension_value unset.
+        #
+        # A PRECONDITION_FAILED will be returned if any of the keys do not exist in the dimension_definition of the execution.
+        #
+        # A PRECONDITION_FAILED will be returned if another step in this execution already has the same name and dimension_value, but differs on other data fields, for example, step field is different.
+        #
+        # A PRECONDITION_FAILED will be returned if dimension_value is set, and there is a dimension_definition in the execution which is not specified as one of the keys.
+        #
+        # - In response: present if set by create - In create request: optional - In update request: never set
+      {
+        "value": "A String",
+        "key": "A String",
+      },
+    ],
+    "outcome": { # Interprets a result so that humans and machines can act on it. # Classification of the result, for example into SUCCESS or FAILURE
+        #
+        # - In response: present if set by create/update request - In create/update request: optional
+      "inconclusiveDetail": { # More information about an INCONCLUSIVE outcome.
+          #
+          # Returns INVALID_ARGUMENT if this field is set but the summary is not INCONCLUSIVE.
+          #
+          # Optional
+        "infrastructureFailure": True or False, # If the test runner could not determine success or failure because the test depends on a component other than the system under test which failed.
+            #
+            # For example, a mobile test requires provisioning a device where the test executes, and that provisioning can fail.
+        "nativeCrash": True or False, # A native process crashed on the device, producing a tombstone. It is unclear whether the crash was related to the app under test.
+            #
+            # For example, OpenGL crashed, but it is unclear if the app is responsible.
+        "abortedByUser": True or False, # If the end user aborted the test execution before a pass or fail could be determined. For example, the user pressed ctrl-c which sent a kill signal to the test runner while the test was running.
+      },
+      "skippedDetail": { # More information about a SKIPPED outcome.
+          #
+          # Returns INVALID_ARGUMENT if this field is set but the summary is not SKIPPED.
+          #
+          # Optional
+        "incompatibleAppVersion": True or False, # If the App doesn't support the specific API level.
+        "incompatibleArchitecture": True or False, # If the App doesn't run on the specific architecture, for example, x86.
+        "incompatibleDevice": True or False, # If the requested OS version doesn't run on the specific device model.
+      },
+      "successDetail": { # More information about a SUCCESS outcome.
+          #
+          # Returns INVALID_ARGUMENT if this field is set but the summary is not SUCCESS.
+          #
+          # Optional
+        "otherNativeCrash": True or False, # If a native process other than the app crashed.
+      },
+      "failureDetail": { # More information about a FAILURE outcome.
+          #
+          # Returns INVALID_ARGUMENT if this field is set but the summary is not FAILURE.
+          #
+          # Optional
+        "otherNativeCrash": True or False, # If a native process other than the app crashed.
+        "crashed": True or False, # If the failure was severe because the system under test crashed.
+        "unableToCrawl": True or False, # If the robo was unable to crawl the app; perhaps because the app did not start.
+        "notInstalled": True or False, # If an app is not installed and thus no test can be run with the app. This might be caused by trying to run a test on an unsupported platform.
+        "timedOut": True or False, # If the test overran some time limit, and that is why it failed.
+      },
+      "summary": "A String", # The simplest way to interpret a result.
+          #
+          # Required
+    },
+    "deviceUsageDuration": { # A Duration represents a signed, fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like "day" or "month". It is related to Timestamp in that the difference between two Timestamp values is a Duration and it can be added or subtracted from a Timestamp. Range is approximately +-10,000 years. # How much the device resource is used to perform the test.
+        #
+        # This is the device usage used for billing purpose, which is different from the run_duration, for example, infrastructure failure won't be charged for device usage.
+        #
+        # PRECONDITION_FAILED will be returned if one attempts to set a device_usage on a step which already has this field set.
+        #
+        # - In response: present if previously set. - In create request: optional - In update request: optional
+        #
+        # Example 1: Compute Duration from two Timestamps in pseudo code.
+        #
+        # Timestamp start = ...; Timestamp end = ...; Duration duration = ...;
+        #
+        # duration.seconds = end.seconds - start.seconds; duration.nanos = end.nanos - start.nanos;
+        #
+        # if (duration.seconds  0) { duration.seconds += 1; duration.nanos -= 1000000000; } else if (durations.seconds > 0 && duration.nanos < 0) { duration.seconds -= 1; duration.nanos += 1000000000; }
+        #
+        # Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.
+        #
+        # Timestamp start = ...; Duration duration = ...; Timestamp end = ...;
+        #
+        # end.seconds = start.seconds + duration.seconds; end.nanos = start.nanos + duration.nanos;
+        #
+        # if (end.nanos = 1000000000) { end.seconds += 1; end.nanos -= 1000000000; }
+      "nanos": 42, # Signed fractions of a second at nanosecond resolution of the span of time. Durations less than one second are represented with a 0 `seconds` field and a positive or negative `nanos` field. For durations of one second or more, a non-zero value for the `nanos` field must be of the same sign as the `seconds` field. Must be from -999,999,999 to +999,999,999 inclusive.
+      "seconds": "A String", # Signed seconds of the span of time. Must be from -315,576,000,000 to +315,576,000,000 inclusive.
+    },
+    "hasImages": True or False, # Whether any of the outputs of this step are images whose thumbnails can be fetched with ListThumbnails.
+        #
+        # - In response: always set - In create/update request: never set
+  }
+
+ + \ No newline at end of file diff --git a/docs/dyn/toolresults_v1beta3.projects.histories.executions.steps.thumbnails.html b/docs/dyn/toolresults_v1beta3.projects.histories.executions.steps.thumbnails.html new file mode 100644 index 00000000000..b4b5ed657db --- /dev/null +++ b/docs/dyn/toolresults_v1beta3.projects.histories.executions.steps.thumbnails.html @@ -0,0 +1,289 @@ + + + +

Cloud Tool Results API . projects . histories . executions . steps . thumbnails

+

Instance Methods

+

+ list(projectId=None, historyId=None, executionId=None, stepId=None, pageSize=None, pageToken=None)

+

Lists thumbnails of images attached to a step.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

Method Details

+
+ list(projectId=None, historyId=None, executionId=None, stepId=None, pageSize=None, pageToken=None) +
Lists thumbnails of images attached to a step.
+
+May return any of the following canonical error codes: - PERMISSION_DENIED - if the user is not authorized to read from the project, or from any of the images - INVALID_ARGUMENT - if the request is malformed - NOT_FOUND - if the step does not exist, or if any of the images do not exist
+
+Args:
+  projectId: string, A Project id.
+
+Required. (required)
+  historyId: string, A History id.
+
+Required. (required)
+  executionId: string, An Execution id.
+
+Required. (required)
+  stepId: string, A Step id.
+
+Required. (required)
+  pageSize: integer, The maximum number of thumbnails to fetch.
+
+Default value: 50. The server will use this default if the field is not set or has a value of 0.
+
+Optional.
+  pageToken: string, A continuation token to resume the query at the next item.
+
+Optional.
+
+Returns:
+  An object of the form:
+
+    { # A response containing the thumbnails in a step.
+    "nextPageToken": "A String", # A continuation token to resume the query at the next item.
+        #
+        # If set, indicates that there are more thumbnails to read, by calling list again with this value in the page_token field.
+    "thumbnails": [ # A list of image data.
+        #
+        # Images are returned in a deterministic order; they are ordered by these factors, in order of importance: * First, by their associated test case. Images without a test case are considered greater than images with one. * Second, by their creation time. Images without a creation time are greater than images with one. * Third, by the order in which they were added to the step (by calls to CreateStep or UpdateStep).
+      { # An image, with a link to the main image and a thumbnail.
+        "thumbnail": { # A single thumbnail, with its size and format. # The thumbnail.
+          "data": "A String", # The thumbnail file itself.
+              #
+              # That is, the bytes here are precisely the bytes that make up the thumbnail file; they can be served as an image as-is (with the appropriate content type.)
+              #
+              # Always set.
+          "widthPx": 42, # The width of the thumbnail, in pixels.
+              #
+              # Always set.
+          "contentType": "A String", # The thumbnail's content type, i.e. "image/png".
+              #
+              # Always set.
+          "heightPx": 42, # The height of the thumbnail, in pixels.
+              #
+              # Always set.
+        },
+        "stepId": "A String", # The step to which the image is attached.
+            #
+            # Always set.
+        "sourceImage": { # A reference to a ToolExecution output file. # A reference to the full-size, original image.
+            #
+            # This is the same as the tool_outputs entry for the image under its Step.
+            #
+            # Always set.
+          "testCase": { # A reference to a test case. # The test case to which this output file belongs.
+              #
+              # - In response: present if set by create/update request - In create/update request: optional
+              #
+              # Test case references are canonically ordered lexicographically by these three factors: * First, by test_suite_name. * Second, by class_name. * Third, by name.
+            "className": "A String", # The name of the class.
+            "testSuiteName": "A String", # The name of the test suite to which this test case belongs.
+            "name": "A String", # The name of the test case.
+                #
+                # Required.
+          },
+          "output": { # A reference to a file. # A FileReference to an output file.
+              #
+              # - In response: always set - In create/update request: always set
+            "fileUri": "A String", # The URI of a file stored in Google Cloud Storage.
+                #
+                # For example: http://storage.googleapis.com/mybucket/path/to/test.xml or in gsutil format: gs://mybucket/path/to/test.xml with version-specific info, gs://mybucket/path/to/test.xml#1360383693690000
+                #
+                # An INVALID_ARGUMENT error will be returned if the URI format is not supported.
+                #
+                # - In response: always set - In create/update request: always set
+          },
+          "creationTime": { # A Timestamp represents a point in time independent of any time zone or calendar, represented as seconds and fractions of seconds at nanosecond resolution in UTC Epoch time. It is encoded using the Proleptic Gregorian Calendar which extends the Gregorian calendar backwards to year one. It is encoded assuming all minutes are 60 seconds long, i.e. leap seconds are "smeared" so that no leap second table is needed for interpretation. Range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to and from RFC 3339 date strings. See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). # The creation time of the file.
+              #
+              # - In response: present if set by create/update request - In create/update request: optional
+              #
+              # Example 1: Compute Timestamp from POSIX `time()`.
+              #
+              # Timestamp timestamp; timestamp.set_seconds(time(NULL)); timestamp.set_nanos(0);
+              #
+              # Example 2: Compute Timestamp from POSIX `gettimeofday()`.
+              #
+              # struct timeval tv; gettimeofday(&tv, NULL);
+              #
+              # Timestamp timestamp; timestamp.set_seconds(tv.tv_sec); timestamp.set_nanos(tv.tv_usec * 1000);
+              #
+              # Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
+              #
+              # FILETIME ft; GetSystemTimeAsFileTime(&ft); UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
+              #
+              # // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. Timestamp timestamp; timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
+              #
+              # Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
+              #
+              # long millis = System.currentTimeMillis();
+              #
+              # Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) .setNanos((int) ((millis % 1000) * 1000000)).build();
+              #
+              #
+              #
+              # Example 5: Compute Timestamp from current time in Python.
+              #
+              # now = time.time() seconds = int(now) nanos = int((now - seconds) * 10**9) timestamp = Timestamp(seconds=seconds, nanos=nanos)
+            "nanos": 42, # Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive.
+            "seconds": "A String", # Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.
+          },
+        },
+        "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). The error model is designed to be: # An error explaining why the thumbnail could not be rendered.
+            #
+            # - Simple to use and understand for most users - Flexible enough to meet unexpected needs
+            #
+            # # Overview
+            #
+            # The `Status` message contains three pieces of data: error code, error message, and error details. The error code should be an enum value of [google.rpc.Code][], but it may accept additional error codes if needed. The error message should be a developer-facing English message that helps developers *understand* and *resolve* the error. If a localized user-facing error message is needed, put the localized message in the error details or localize it in the client. The optional error details may contain arbitrary information about the error. There is a predefined set of error detail types in the package `google.rpc` which can be used for common error conditions.
+            #
+            # # Language mapping
+            #
+            # The `Status` message is the logical representation of the error model, but it is not necessarily the actual wire format. When the `Status` message is exposed in different client libraries and different wire protocols, it can be mapped differently. For example, it will likely be mapped to some exceptions in Java, but more likely mapped to some error codes in C.
+            #
+            # # Other uses
+            #
+            # The error model and the `Status` message can be used in a variety of environments, either with or without APIs, to provide a consistent developer experience across different environments.
+            #
+            # Example uses of this error model include:
+            #
+            # - Partial errors. If a service needs to return partial errors to the client, it may embed the `Status` in the normal response to indicate the partial errors.
+            #
+            # - Workflow errors. A typical workflow has multiple steps. Each step may have a `Status` message for error reporting purpose.
+            #
+            # - Batch operations. If a client uses batch request and batch response, the `Status` message should be used directly inside batch response, one for each error sub-response.
+            #
+            # - Asynchronous operations. If an API call embeds asynchronous operation results in its response, the status of those operations should be represented directly using the `Status` message.
+            #
+            # - Logging. If some API errors are stored in logs, the message `Status` could be used directly after any stripping needed for security/privacy reasons.
+          "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][] field, or localized by the client.
+          "code": 42, # The status code, which should be an enum value of [google.rpc.Code][].
+          "details": [ # A list of messages that carry the error details. There will be a common set of message types for APIs to use.
+            { # `Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
+                #
+                # Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.
+                #
+                # Example 1: Pack and unpack a message in C++.
+                #
+                # Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
+                #
+                # Example 2: Pack and unpack a message in Java.
+                #
+                # Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }
+                #
+                # The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".
+                #
+                #
+                #
+                # JSON ==== The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:
+                #
+                # package google.profile; message Person { string first_name = 1; string last_name = 2; }
+                #
+                # { "@type": "type.googleapis.com/google.profile.Person", "firstName": , "lastName":  }
+                #
+                # If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):
+                #
+                # { "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }
+              "typeUrl": "A String", # A URL/resource name whose content describes the type of the serialized protocol buffer message.
+                  #
+                  # For URLs which use the schema `http`, `https`, or no schema, the following restrictions and interpretations apply:
+                  #
+                  # * If no schema is provided, `https` is assumed. * The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted). * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)
+                  #
+                  # Schemas other than `http`, `https` (or the empty schema) might be used with implementation specific semantics.
+              "value": "A String", # Must be a valid serialized protocol buffer of the above specified type.
+            },
+          ],
+        },
+      },
+    ],
+  }
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    
+
+ + \ No newline at end of file diff --git a/docs/dyn/toolresults_v1beta3.projects.histories.html b/docs/dyn/toolresults_v1beta3.projects.histories.html new file mode 100644 index 00000000000..6e2a48c7455 --- /dev/null +++ b/docs/dyn/toolresults_v1beta3.projects.histories.html @@ -0,0 +1,257 @@ + + + +

Cloud Tool Results API . projects . histories

+

Instance Methods

+

+ executions() +

+

Returns the executions Resource.

+ +

+ create(projectId=None, body, requestId=None)

+

Creates a History.

+

+ get(projectId=None, historyId=None)

+

Gets a History.

+

+ list(projectId=None, pageToken=None, pageSize=None, filterByName=None)

+

Lists Histories for a given Project.

+

+ list_next(previous_request, previous_response)

+

Retrieves the next page of results.

+

Method Details

+
+ create(projectId=None, body, requestId=None) +
Creates a History.
+
+The returned History will have the id set.
+
+May return any of the following canonical error codes:
+
+- PERMISSION_DENIED - if the user is not authorized to write to project - INVALID_ARGUMENT - if the request is malformed - NOT_FOUND - if the containing project does not exist
+
+Args:
+  projectId: string, A Project id.
+
+Required. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # A History represents a sorted list of Executions ordered by the start_timestamp_millis field (descending). It can be used to group all the Executions of a continuous build.
+      # 
+      # Note that the ordering only operates on one-dimension. If a repository has multiple branches, it means that multiple histories will need to be used in order to order Executions per branch.
+    "displayName": "A String", # A short human-readable (plain text) name to display in the UI. Maximum of 100 characters.
+        # 
+        # - In response: present if set during create. - In create request: optional
+    "name": "A String", # A name to uniquely identify a history within a project. Maximum of 100 characters.
+        # 
+        # - In response always set - In create request: always set
+    "historyId": "A String", # A unique identifier within a project for this History.
+        # 
+        # Returns INVALID_ARGUMENT if this field is set or overwritten by the caller.
+        # 
+        # - In response always set - In create request: never set
+  }
+
+  requestId: string, A unique request ID for server to detect duplicated requests. For example, a UUID.
+
+Optional, but strongly recommended.
+
+Returns:
+  An object of the form:
+
+    { # A History represents a sorted list of Executions ordered by the start_timestamp_millis field (descending). It can be used to group all the Executions of a continuous build.
+        #
+        # Note that the ordering only operates on one-dimension. If a repository has multiple branches, it means that multiple histories will need to be used in order to order Executions per branch.
+      "displayName": "A String", # A short human-readable (plain text) name to display in the UI. Maximum of 100 characters.
+          #
+          # - In response: present if set during create. - In create request: optional
+      "name": "A String", # A name to uniquely identify a history within a project. Maximum of 100 characters.
+          #
+          # - In response always set - In create request: always set
+      "historyId": "A String", # A unique identifier within a project for this History.
+          #
+          # Returns INVALID_ARGUMENT if this field is set or overwritten by the caller.
+          #
+          # - In response always set - In create request: never set
+    }
+
+ +
+ get(projectId=None, historyId=None) +
Gets a History.
+
+May return any of the following canonical error codes:
+
+- PERMISSION_DENIED - if the user is not authorized to read project - INVALID_ARGUMENT - if the request is malformed - NOT_FOUND - if the History does not exist
+
+Args:
+  projectId: string, A Project id.
+
+Required. (required)
+  historyId: string, A History id.
+
+Required. (required)
+
+Returns:
+  An object of the form:
+
+    { # A History represents a sorted list of Executions ordered by the start_timestamp_millis field (descending). It can be used to group all the Executions of a continuous build.
+        #
+        # Note that the ordering only operates on one-dimension. If a repository has multiple branches, it means that multiple histories will need to be used in order to order Executions per branch.
+      "displayName": "A String", # A short human-readable (plain text) name to display in the UI. Maximum of 100 characters.
+          #
+          # - In response: present if set during create. - In create request: optional
+      "name": "A String", # A name to uniquely identify a history within a project. Maximum of 100 characters.
+          #
+          # - In response always set - In create request: always set
+      "historyId": "A String", # A unique identifier within a project for this History.
+          #
+          # Returns INVALID_ARGUMENT if this field is set or overwritten by the caller.
+          #
+          # - In response always set - In create request: never set
+    }
+
+ +
+ list(projectId=None, pageToken=None, pageSize=None, filterByName=None) +
Lists Histories for a given Project.
+
+The histories are sorted by modification time in descending order. The history_id key will be used to order the history with the same modification time.
+
+May return any of the following canonical error codes:
+
+- PERMISSION_DENIED - if the user is not authorized to read project - INVALID_ARGUMENT - if the request is malformed - NOT_FOUND - if the History does not exist
+
+Args:
+  projectId: string, A Project id.
+
+Required. (required)
+  pageToken: string, A continuation token to resume the query at the next item.
+
+Optional.
+  pageSize: integer, The maximum number of Histories to fetch.
+
+Default value: 20. The server will use this default if the field is not set or has a value of 0. Any value greater than 100 will be treated as 100.
+
+Optional.
+  filterByName: string, If set, only return histories with the given name.
+
+Optional.
+
+Returns:
+  An object of the form:
+
+    { # Response message for HistoryService.List
+    "nextPageToken": "A String", # A continuation token to resume the query at the next item.
+        #
+        # Will only be set if there are more histories to fetch.
+        #
+        # Tokens are valid for up to one hour from the time of the first list request. For instance, if you make a list request at 1PM and use the token from this first request 10 minutes later, the token from this second response will only be valid for 50 minutes.
+    "histories": [ # Histories.
+      { # A History represents a sorted list of Executions ordered by the start_timestamp_millis field (descending). It can be used to group all the Executions of a continuous build.
+            #
+            # Note that the ordering only operates on one-dimension. If a repository has multiple branches, it means that multiple histories will need to be used in order to order Executions per branch.
+          "displayName": "A String", # A short human-readable (plain text) name to display in the UI. Maximum of 100 characters.
+              #
+              # - In response: present if set during create. - In create request: optional
+          "name": "A String", # A name to uniquely identify a history within a project. Maximum of 100 characters.
+              #
+              # - In response always set - In create request: always set
+          "historyId": "A String", # A unique identifier within a project for this History.
+              #
+              # Returns INVALID_ARGUMENT if this field is set or overwritten by the caller.
+              #
+              # - In response always set - In create request: never set
+        },
+    ],
+  }
+
+ +
+ list_next(previous_request, previous_response) +
Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call 'execute()' on to request the next
+  page. Returns None if there are no more items in the collection.
+    
+
+ + \ No newline at end of file diff --git a/docs/dyn/toolresults_v1beta3.projects.html b/docs/dyn/toolresults_v1beta3.projects.html new file mode 100644 index 00000000000..a563198d356 --- /dev/null +++ b/docs/dyn/toolresults_v1beta3.projects.html @@ -0,0 +1,155 @@ + + + +

Cloud Tool Results API . projects

+

Instance Methods

+

+ histories() +

+

Returns the histories Resource.

+ +

+ getSettings(projectId=None)

+

Gets the Tool Results settings for a project.

+

+ initializeSettings(projectId=None)

+

Creates resources for settings which have not yet been set.

+

Method Details

+
+ getSettings(projectId=None) +
Gets the Tool Results settings for a project.
+
+May return any of the following canonical error codes:
+
+- PERMISSION_DENIED - if the user is not authorized to read from project
+
+Args:
+  projectId: string, A Project id.
+
+Required. (required)
+
+Returns:
+  An object of the form:
+
+    { # Per-project settings for the Tool Results service.
+    "defaultBucket": "A String", # The name of the Google Cloud Storage bucket to which results are written.
+        #
+        # By default, this is unset.
+        #
+        # In update request: optional In response: optional
+    "name": "A String", # The name of the project's settings.
+        #
+        # Always of the form: projects/{project-id}/settings
+        #
+        # In update request: never set In response: always set
+  }
+
+ +
+ initializeSettings(projectId=None) +
Creates resources for settings which have not yet been set.
+
+Currently, this creates a single resource: a Google Cloud Storage bucket, to be used as the default bucket for this project. The bucket is created in the name of the user calling. Except in rare cases, calling this method in parallel from multiple clients will only create a single bucket. In order to avoid unnecessary storage charges, the bucket is configured to automatically delete objects older than 90 days.
+
+The bucket is created with the project-private ACL: All project team members are given permissions to the bucket and objects created within it according to their roles. Project owners have owners rights, and so on. The default ACL on objects created in the bucket is project-private as well. See Google Cloud Storage documentation for more details.
+
+If there is already a default bucket set and the project can access the bucket, this call does nothing. However, if the project doesn't have the permission to access the bucket or the bucket is deteleted, a new bucket will be created.
+
+May return any canonical error codes, including the following:
+
+- PERMISSION_DENIED - if the user is not authorized to write to project - Any error code raised by Google Cloud Storage
+
+Args:
+  projectId: string, A Project id.
+
+Required. (required)
+
+Returns:
+  An object of the form:
+
+    { # Per-project settings for the Tool Results service.
+    "defaultBucket": "A String", # The name of the Google Cloud Storage bucket to which results are written.
+        #
+        # By default, this is unset.
+        #
+        # In update request: optional In response: optional
+    "name": "A String", # The name of the project's settings.
+        #
+        # Always of the form: projects/{project-id}/settings
+        #
+        # In update request: never set In response: always set
+  }
+
+ + \ No newline at end of file diff --git a/docs/dyn/vision_v1.html b/docs/dyn/vision_v1.html new file mode 100644 index 00000000000..39807de9f00 --- /dev/null +++ b/docs/dyn/vision_v1.html @@ -0,0 +1,103 @@ + + + +

Google Cloud Vision API

+

Instance Methods

+

+ images() +

+

Returns the images Resource.

+ +

+ new_batch_http_request()

+

Create a BatchHttpRequest object based on the discovery document.

+

Method Details

+
+ new_batch_http_request() +
Create a BatchHttpRequest object based on the discovery document.
+
+        Args:
+          callback: callable, A callback to be called for each response, of the
+            form callback(id, response, exception). The first parameter is the
+            request id, and the second is the deserialized response object. The
+            third is an apiclient.errors.HttpError exception object if an HTTP
+            error occurred while processing the request, or None if no error
+            occurred.
+
+        Returns:
+          A BatchHttpRequest object based on the discovery document.
+        
+
+ + \ No newline at end of file diff --git a/docs/dyn/vision_v1.images.html b/docs/dyn/vision_v1.images.html new file mode 100644 index 00000000000..6a4fdeda1cf --- /dev/null +++ b/docs/dyn/vision_v1.images.html @@ -0,0 +1,869 @@ + + + +

Google Cloud Vision API . images

+

Instance Methods

+

+ annotate(body, x__xgafv=None)

+

Run image detection and annotation for a batch of images.

+

Method Details

+
+ annotate(body, x__xgafv=None) +
Run image detection and annotation for a batch of images.
+
+Args:
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # Multiple image annotation requests are batched into a single service call.
+    "requests": [ # Individual image annotation requests for this batch.
+      { # Request for performing Google Cloud Vision API tasks over a user-provided
+          # image, with user-requested features.
+        "imageContext": { # Image context. # Additional context that may accompany the image.
+          "latLongRect": { # Rectangle determined by min and max LatLng pairs. # Lat/long rectangle that specifies the location of the image.
+            "minLatLng": { # An object representing a latitude/longitude pair. This is expressed as a pair # Min lat/long pair.
+                # of doubles representing degrees latitude and degrees longitude. Unless
+                # specified otherwise, this must conform to the
+                # WGS84
+                # standard. Values must be within normalized ranges.
+                #
+                # Example of normalization code in Python:
+                #
+                #     def NormalizeLongitude(longitude):
+                #       """Wraps decimal degrees longitude to [-180.0, 180.0]."""
+                #       q, r = divmod(longitude, 360.0)
+                #       if r > 180.0 or (r == 180.0 and q <= -1.0):
+                #         return r - 360.0
+                #       return r
+                #
+                #     def NormalizeLatLng(latitude, longitude):
+                #       """Wraps decimal degrees latitude and longitude to
+                #       [-90.0, 90.0] and [-180.0, 180.0], respectively."""
+                #       r = latitude % 360.0
+                #       if r <= 90.0:
+                #         return r, NormalizeLongitude(longitude)
+                #       elif r >= 270.0:
+                #         return r - 360, NormalizeLongitude(longitude)
+                #       else:
+                #         return 180 - r, NormalizeLongitude(longitude + 180.0)
+                #
+                #     assert 180.0 == NormalizeLongitude(180.0)
+                #     assert -180.0 == NormalizeLongitude(-180.0)
+                #     assert -179.0 == NormalizeLongitude(181.0)
+                #     assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0)
+                #     assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0)
+                #     assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0)
+                #     assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0)
+                #     assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0)
+                #     assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0)
+                #     assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0)
+                #     assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0)
+                #     assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0)
+                #     assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0)
+              "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+              "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+            },
+            "maxLatLng": { # An object representing a latitude/longitude pair. This is expressed as a pair # Max lat/long pair.
+                # of doubles representing degrees latitude and degrees longitude. Unless
+                # specified otherwise, this must conform to the
+                # WGS84
+                # standard. Values must be within normalized ranges.
+                #
+                # Example of normalization code in Python:
+                #
+                #     def NormalizeLongitude(longitude):
+                #       """Wraps decimal degrees longitude to [-180.0, 180.0]."""
+                #       q, r = divmod(longitude, 360.0)
+                #       if r > 180.0 or (r == 180.0 and q <= -1.0):
+                #         return r - 360.0
+                #       return r
+                #
+                #     def NormalizeLatLng(latitude, longitude):
+                #       """Wraps decimal degrees latitude and longitude to
+                #       [-90.0, 90.0] and [-180.0, 180.0], respectively."""
+                #       r = latitude % 360.0
+                #       if r <= 90.0:
+                #         return r, NormalizeLongitude(longitude)
+                #       elif r >= 270.0:
+                #         return r - 360, NormalizeLongitude(longitude)
+                #       else:
+                #         return 180 - r, NormalizeLongitude(longitude + 180.0)
+                #
+                #     assert 180.0 == NormalizeLongitude(180.0)
+                #     assert -180.0 == NormalizeLongitude(-180.0)
+                #     assert -179.0 == NormalizeLongitude(181.0)
+                #     assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0)
+                #     assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0)
+                #     assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0)
+                #     assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0)
+                #     assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0)
+                #     assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0)
+                #     assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0)
+                #     assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0)
+                #     assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0)
+                #     assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0)
+              "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+              "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+            },
+          },
+          "languageHints": [ # List of languages to use for TEXT_DETECTION. In most cases, an empty value
+              # will yield the best results as it will allow text detection to
+              # automatically detect the text language. For languages based on the latin
+              # alphabet a hint is not needed. In rare cases, when the language of
+              # the text in the image is known in advance, setting this hint will help get
+              # better results (although it will hurt a great deal if the hint is wrong).
+              # Text detection will return an error if one or more of the languages
+              # specified here are not supported. The exact list of supported languages are
+              # specified here:
+              # https://cloud.google.com/translate/v2/using_rest#language-params
+            "A String",
+          ],
+        },
+        "image": { # Client image to perform Google Cloud Vision API tasks over. # The image to be processed.
+          "content": "A String", # Image content, represented as a stream of bytes.
+          "source": { # External image source (Google Cloud Storage image location). # Google Cloud Storage image location. If both 'content' and 'source'
+              # are filled for an image, 'content' takes precedence and it will be
+              # used for performing the image annotation request.
+            "gcsImageUri": "A String", # Google Cloud Storage image URI. It must be in the following form:
+                # `gs://bucket_name/object_name`. For more
+                # details, please see: https://cloud.google.com/storage/docs/reference-uris.
+                # NOTE: Cloud Storage object versioning is not supported!
+          },
+        },
+        "features": [ # Requested features.
+          { # The Feature indicates what type of image detection task to perform.
+              # Users describe the type of Google Cloud Vision API tasks to perform over
+              # images by using Features. Features encode the Cloud Vision API
+              # vertical to operate on and the number of top-scoring results to return.
+            "type": "A String", # The feature type.
+            "maxResults": 42, # Maximum number of results of this type.
+          },
+        ],
+      },
+    ],
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response to a batch image annotation request.
+    "responses": [ # Individual responses to image annotation requests within the batch.
+      { # Response to an image annotation request.
+        "safeSearchAnnotation": { # Set of features pertaining to the image, computed by various computer vision # If present, safe-search annotation completed successfully.
+            # methods over safe-search verticals (for example, adult, spoof, medical,
+            # violence).
+          "medical": "A String", # Likelihood this is a medical image.
+          "violence": "A String", # Violence likelihood.
+          "spoof": "A String", # Spoof likelihood. The likelihood that an obvious modification
+              # was made to the image's canonical version to make it appear
+              # funny or offensive.
+          "adult": "A String", # Represents the adult contents likelihood for the image.
+        },
+        "textAnnotations": [ # If present, text (OCR) detection completed successfully.
+          { # Set of detected entity features.
+            "confidence": 3.14, # The accuracy of the entity detection in an image.
+                # For example, for an image containing 'Eiffel Tower,' this field represents
+                # the confidence that there is a tower in the query image. Range [0, 1].
+            "description": "A String", # Entity textual description, expressed in its locale language.
+            "locale": "A String", # The language code for the locale in which the entity textual
+                # description (next field) is expressed.
+            "topicality": 3.14, # The relevancy of the ICA (Image Content Annotation) label to the
+                # image. For example, the relevancy of 'tower' to an image containing
+                # 'Eiffel Tower' is likely higher than an image containing a distant towering
+                # building, though the confidence that there is a tower may be the same.
+                # Range [0, 1].
+            "mid": "A String", # Opaque entity ID. Some IDs might be available in Knowledge Graph(KG).
+                # For more details on KG please see:
+                # https://developers.google.com/knowledge-graph/
+            "locations": [ # The location information for the detected entity. Multiple
+                # LocationInfo elements can be present since one location may
+                # indicate the location of the scene in the query image, and another the
+                # location of the place where the query image was taken. Location information
+                # is usually present for landmarks.
+              { # Detected entity location information.
+                "latLng": { # An object representing a latitude/longitude pair. This is expressed as a pair # Lat - long location coordinates.
+                    # of doubles representing degrees latitude and degrees longitude. Unless
+                    # specified otherwise, this must conform to the
+                    # WGS84
+                    # standard. Values must be within normalized ranges.
+                    #
+                    # Example of normalization code in Python:
+                    #
+                    #     def NormalizeLongitude(longitude):
+                    #       """Wraps decimal degrees longitude to [-180.0, 180.0]."""
+                    #       q, r = divmod(longitude, 360.0)
+                    #       if r > 180.0 or (r == 180.0 and q <= -1.0):
+                    #         return r - 360.0
+                    #       return r
+                    #
+                    #     def NormalizeLatLng(latitude, longitude):
+                    #       """Wraps decimal degrees latitude and longitude to
+                    #       [-90.0, 90.0] and [-180.0, 180.0], respectively."""
+                    #       r = latitude % 360.0
+                    #       if r <= 90.0:
+                    #         return r, NormalizeLongitude(longitude)
+                    #       elif r >= 270.0:
+                    #         return r - 360, NormalizeLongitude(longitude)
+                    #       else:
+                    #         return 180 - r, NormalizeLongitude(longitude + 180.0)
+                    #
+                    #     assert 180.0 == NormalizeLongitude(180.0)
+                    #     assert -180.0 == NormalizeLongitude(-180.0)
+                    #     assert -179.0 == NormalizeLongitude(181.0)
+                    #     assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0)
+                    #     assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0)
+                    #     assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0)
+                    #     assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0)
+                    #     assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0)
+                    #     assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0)
+                    #     assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0)
+                    #     assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0)
+                    #     assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0)
+                    #     assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0)
+                  "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                  "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                },
+              },
+            ],
+            "score": 3.14, # Overall score of the result. Range [0, 1].
+            "boundingPoly": { # A bounding polygon for the detected image annotation. # Image region to which this entity belongs. Not filled currently
+                # for `LABEL_DETECTION` features. For `TEXT_DETECTION` (OCR), `boundingPoly`s
+                # are produced for the entire text detected in an image region, followed by
+                # `boundingPoly`s for each word within the detected text.
+              "vertices": [ # The bounding polygon vertices.
+                { # A vertex represents a 2D point in the image.
+                    # NOTE: the vertex coordinates are in the same scale as the original image.
+                  "y": 42, # Y coordinate.
+                  "x": 42, # X coordinate.
+                },
+              ],
+            },
+            "properties": [ # Some entities can have additional optional Property fields.
+                # For example a different kind of score or string that qualifies the entity.
+              { # Arbitrary name/value pair.
+                "name": "A String", # Name of the property.
+                "value": "A String", # Value of the property.
+              },
+            ],
+          },
+        ],
+        "labelAnnotations": [ # If present, label detection completed successfully.
+          { # Set of detected entity features.
+            "confidence": 3.14, # The accuracy of the entity detection in an image.
+                # For example, for an image containing 'Eiffel Tower,' this field represents
+                # the confidence that there is a tower in the query image. Range [0, 1].
+            "description": "A String", # Entity textual description, expressed in its locale language.
+            "locale": "A String", # The language code for the locale in which the entity textual
+                # description (next field) is expressed.
+            "topicality": 3.14, # The relevancy of the ICA (Image Content Annotation) label to the
+                # image. For example, the relevancy of 'tower' to an image containing
+                # 'Eiffel Tower' is likely higher than an image containing a distant towering
+                # building, though the confidence that there is a tower may be the same.
+                # Range [0, 1].
+            "mid": "A String", # Opaque entity ID. Some IDs might be available in Knowledge Graph(KG).
+                # For more details on KG please see:
+                # https://developers.google.com/knowledge-graph/
+            "locations": [ # The location information for the detected entity. Multiple
+                # LocationInfo elements can be present since one location may
+                # indicate the location of the scene in the query image, and another the
+                # location of the place where the query image was taken. Location information
+                # is usually present for landmarks.
+              { # Detected entity location information.
+                "latLng": { # An object representing a latitude/longitude pair. This is expressed as a pair # Lat - long location coordinates.
+                    # of doubles representing degrees latitude and degrees longitude. Unless
+                    # specified otherwise, this must conform to the
+                    # WGS84
+                    # standard. Values must be within normalized ranges.
+                    #
+                    # Example of normalization code in Python:
+                    #
+                    #     def NormalizeLongitude(longitude):
+                    #       """Wraps decimal degrees longitude to [-180.0, 180.0]."""
+                    #       q, r = divmod(longitude, 360.0)
+                    #       if r > 180.0 or (r == 180.0 and q <= -1.0):
+                    #         return r - 360.0
+                    #       return r
+                    #
+                    #     def NormalizeLatLng(latitude, longitude):
+                    #       """Wraps decimal degrees latitude and longitude to
+                    #       [-90.0, 90.0] and [-180.0, 180.0], respectively."""
+                    #       r = latitude % 360.0
+                    #       if r <= 90.0:
+                    #         return r, NormalizeLongitude(longitude)
+                    #       elif r >= 270.0:
+                    #         return r - 360, NormalizeLongitude(longitude)
+                    #       else:
+                    #         return 180 - r, NormalizeLongitude(longitude + 180.0)
+                    #
+                    #     assert 180.0 == NormalizeLongitude(180.0)
+                    #     assert -180.0 == NormalizeLongitude(-180.0)
+                    #     assert -179.0 == NormalizeLongitude(181.0)
+                    #     assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0)
+                    #     assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0)
+                    #     assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0)
+                    #     assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0)
+                    #     assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0)
+                    #     assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0)
+                    #     assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0)
+                    #     assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0)
+                    #     assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0)
+                    #     assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0)
+                  "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                  "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                },
+              },
+            ],
+            "score": 3.14, # Overall score of the result. Range [0, 1].
+            "boundingPoly": { # A bounding polygon for the detected image annotation. # Image region to which this entity belongs. Not filled currently
+                # for `LABEL_DETECTION` features. For `TEXT_DETECTION` (OCR), `boundingPoly`s
+                # are produced for the entire text detected in an image region, followed by
+                # `boundingPoly`s for each word within the detected text.
+              "vertices": [ # The bounding polygon vertices.
+                { # A vertex represents a 2D point in the image.
+                    # NOTE: the vertex coordinates are in the same scale as the original image.
+                  "y": 42, # Y coordinate.
+                  "x": 42, # X coordinate.
+                },
+              ],
+            },
+            "properties": [ # Some entities can have additional optional Property fields.
+                # For example a different kind of score or string that qualifies the entity.
+              { # Arbitrary name/value pair.
+                "name": "A String", # Name of the property.
+                "value": "A String", # Value of the property.
+              },
+            ],
+          },
+        ],
+        "imagePropertiesAnnotation": { # Stores image properties (e.g. dominant colors). # If present, image properties were extracted successfully.
+          "dominantColors": { # Set of dominant colors and their corresponding scores. # If present, dominant colors completed successfully.
+            "colors": [ # RGB color values, with their score and pixel fraction.
+              { # Color information consists of RGB channels, score and fraction of
+                  # image the color occupies in the image.
+                "color": { # Represents a color in the RGBA color space. This representation is designed # RGB components of the color.
+                    # for simplicity of conversion to/from color representations in various
+                    # languages over compactness; for example, the fields of this representation
+                    # can be trivially provided to the constructor of "java.awt.Color" in Java; it
+                    # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
+                    # method in iOS; and, with just a little work, it can be easily formatted into
+                    # a CSS "rgba()" string in JavaScript, as well. Here are some examples:
+                    #
+                    # Example (Java):
+                    #
+                    #      import com.google.type.Color;
+                    #
+                    #      // ...
+                    #      public static java.awt.Color fromProto(Color protocolor) {
+                    #        float alpha = protocolor.hasAlpha()
+                    #            ? protocolor.getAlpha().getValue()
+                    #            : 1.0;
+                    #
+                    #        return new java.awt.Color(
+                    #            protocolor.getRed(),
+                    #            protocolor.getGreen(),
+                    #            protocolor.getBlue(),
+                    #            alpha);
+                    #      }
+                    #
+                    #      public static Color toProto(java.awt.Color color) {
+                    #        float red = (float) color.getRed();
+                    #        float green = (float) color.getGreen();
+                    #        float blue = (float) color.getBlue();
+                    #        float denominator = 255.0;
+                    #        Color.Builder resultBuilder =
+                    #            Color
+                    #                .newBuilder()
+                    #                .setRed(red / denominator)
+                    #                .setGreen(green / denominator)
+                    #                .setBlue(blue / denominator);
+                    #        int alpha = color.getAlpha();
+                    #        if (alpha != 255) {
+                    #          result.setAlpha(
+                    #              FloatValue
+                    #                  .newBuilder()
+                    #                  .setValue(((float) alpha) / denominator)
+                    #                  .build());
+                    #        }
+                    #        return resultBuilder.build();
+                    #      }
+                    #      // ...
+                    #
+                    # Example (iOS / Obj-C):
+                    #
+                    #      // ...
+                    #      static UIColor* fromProto(Color* protocolor) {
+                    #         float red = [protocolor red];
+                    #         float green = [protocolor green];
+                    #         float blue = [protocolor blue];
+                    #         FloatValue* alpha_wrapper = [protocolor alpha];
+                    #         float alpha = 1.0;
+                    #         if (alpha_wrapper != nil) {
+                    #           alpha = [alpha_wrapper value];
+                    #         }
+                    #         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
+                    #      }
+                    #
+                    #      static Color* toProto(UIColor* color) {
+                    #          CGFloat red, green, blue, alpha;
+                    #          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
+                    #            return nil;
+                    #          }
+                    #          Color* result = [Color alloc] init];
+                    #          [result setRed:red];
+                    #          [result setGreen:green];
+                    #          [result setBlue:blue];
+                    #          if (alpha <= 0.9999) {
+                    #            [result setAlpha:floatWrapperWithValue(alpha)];
+                    #          }
+                    #          [result autorelease];
+                    #          return result;
+                    #     }
+                    #     // ...
+                    #
+                    #  Example (JavaScript):
+                    #
+                    #     // ...
+                    #
+                    #     var protoToCssColor = function(rgb_color) {
+                    #        var redFrac = rgb_color.red || 0.0;
+                    #        var greenFrac = rgb_color.green || 0.0;
+                    #        var blueFrac = rgb_color.blue || 0.0;
+                    #        var red = Math.floor(redFrac * 255);
+                    #        var green = Math.floor(greenFrac * 255);
+                    #        var blue = Math.floor(blueFrac * 255);
+                    #
+                    #        if (!('alpha' in rgb_color)) {
+                    #           return rgbToCssColor_(red, green, blue);
+                    #        }
+                    #
+                    #        var alphaFrac = rgb_color.alpha.value || 0.0;
+                    #        var rgbParams = [red, green, blue].join(',');
+                    #        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
+                    #     };
+                    #
+                    #     var rgbToCssColor_ = function(red, green, blue) {
+                    #       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
+                    #       var hexString = rgbNumber.toString(16);
+                    #       var missingZeros = 6 - hexString.length;
+                    #       var resultBuilder = ['#'];
+                    #       for (var i = 0; i < missingZeros; i++) {
+                    #          resultBuilder.push('0');
+                    #       }
+                    #       resultBuilder.push(hexString);
+                    #       return resultBuilder.join('');
+                    #     };
+                    #
+                    #     // ...
+                  "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
+                  "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
+                      # the final pixel color is defined by the equation:
+                      #
+                      #   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
+                      #
+                      # This means that a value of 1.0 corresponds to a solid color, whereas
+                      # a value of 0.0 corresponds to a completely transparent color. This
+                      # uses a wrapper message rather than a simple float scalar so that it is
+                      # possible to distinguish between a default value and the value being unset.
+                      # If omitted, this color object is to be rendered as a solid color
+                      # (as if the alpha value had been explicitly given with a value of 1.0).
+                  "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
+                  "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
+                },
+                "pixelFraction": 3.14, # Stores the fraction of pixels the color occupies in the image.
+                    # Value in range [0, 1].
+                "score": 3.14, # Image-specific score for this color. Value in range [0, 1].
+              },
+            ],
+          },
+        },
+        "faceAnnotations": [ # If present, face detection completed successfully.
+          { # A face annotation object contains the results of face detection.
+            "panAngle": 3.14, # Yaw angle. Indicates the leftward/rightward angle that the face is
+                # pointing, relative to the vertical plane perpendicular to the image. Range
+                # [-180,180].
+            "sorrowLikelihood": "A String", # Sorrow likelihood.
+            "underExposedLikelihood": "A String", # Under-exposed likelihood.
+            "detectionConfidence": 3.14, # Detection confidence. Range [0, 1].
+            "joyLikelihood": "A String", # Joy likelihood.
+            "landmarks": [ # Detected face landmarks.
+              { # A face-specific landmark (for example, a face feature).
+                  # Landmark positions may fall outside the bounds of the image
+                  # when the face is near one or more edges of the image.
+                  # Therefore it is NOT guaranteed that 0 <= x < width or 0 <= y < height.
+                "position": { # A 3D position in the image, used primarily for Face detection landmarks. # Face landmark position.
+                    # A valid Position must have both x and y coordinates.
+                    # The position coordinates are in the same scale as the original image.
+                  "y": 3.14, # Y coordinate.
+                  "x": 3.14, # X coordinate.
+                  "z": 3.14, # Z coordinate (or depth).
+                },
+                "type": "A String", # Face landmark type.
+              },
+            ],
+            "surpriseLikelihood": "A String", # Surprise likelihood.
+            "blurredLikelihood": "A String", # Blurred likelihood.
+            "tiltAngle": 3.14, # Pitch angle. Indicates the upwards/downwards angle that the face is
+                # pointing
+                # relative to the image's horizontal plane. Range [-180,180].
+            "angerLikelihood": "A String", # Anger likelihood.
+            "boundingPoly": { # A bounding polygon for the detected image annotation. # The bounding polygon around the face. The coordinates of the bounding box
+                # are in the original image's scale, as returned in ImageParams.
+                # The bounding box is computed to "frame" the face in accordance with human
+                # expectations. It is based on the landmarker results.
+                # Note that one or more x and/or y coordinates may not be generated in the
+                # BoundingPoly (the polygon will be unbounded) if only a partial face appears in
+                # the image to be annotated.
+              "vertices": [ # The bounding polygon vertices.
+                { # A vertex represents a 2D point in the image.
+                    # NOTE: the vertex coordinates are in the same scale as the original image.
+                  "y": 42, # Y coordinate.
+                  "x": 42, # X coordinate.
+                },
+              ],
+            },
+            "rollAngle": 3.14, # Roll angle. Indicates the amount of clockwise/anti-clockwise rotation of
+                # the
+                # face relative to the image vertical, about the axis perpendicular to the
+                # face. Range [-180,180].
+            "headwearLikelihood": "A String", # Headwear likelihood.
+            "fdBoundingPoly": { # A bounding polygon for the detected image annotation. # This bounding polygon is tighter than the previous
+                # boundingPoly, and
+                # encloses only the skin part of the face. Typically, it is used to
+                # eliminate the face from any image analysis that detects the
+                # "amount of skin" visible in an image. It is not based on the
+                # landmarker results, only on the initial face detection, hence
+                # the fd (face detection) prefix.
+              "vertices": [ # The bounding polygon vertices.
+                { # A vertex represents a 2D point in the image.
+                    # NOTE: the vertex coordinates are in the same scale as the original image.
+                  "y": 42, # Y coordinate.
+                  "x": 42, # X coordinate.
+                },
+              ],
+            },
+            "landmarkingConfidence": 3.14, # Face landmarking confidence. Range [0, 1].
+          },
+        ],
+        "logoAnnotations": [ # If present, logo detection completed successfully.
+          { # Set of detected entity features.
+            "confidence": 3.14, # The accuracy of the entity detection in an image.
+                # For example, for an image containing 'Eiffel Tower,' this field represents
+                # the confidence that there is a tower in the query image. Range [0, 1].
+            "description": "A String", # Entity textual description, expressed in its locale language.
+            "locale": "A String", # The language code for the locale in which the entity textual
+                # description (next field) is expressed.
+            "topicality": 3.14, # The relevancy of the ICA (Image Content Annotation) label to the
+                # image. For example, the relevancy of 'tower' to an image containing
+                # 'Eiffel Tower' is likely higher than an image containing a distant towering
+                # building, though the confidence that there is a tower may be the same.
+                # Range [0, 1].
+            "mid": "A String", # Opaque entity ID. Some IDs might be available in Knowledge Graph(KG).
+                # For more details on KG please see:
+                # https://developers.google.com/knowledge-graph/
+            "locations": [ # The location information for the detected entity. Multiple
+                # LocationInfo elements can be present since one location may
+                # indicate the location of the scene in the query image, and another the
+                # location of the place where the query image was taken. Location information
+                # is usually present for landmarks.
+              { # Detected entity location information.
+                "latLng": { # An object representing a latitude/longitude pair. This is expressed as a pair # Lat - long location coordinates.
+                    # of doubles representing degrees latitude and degrees longitude. Unless
+                    # specified otherwise, this must conform to the
+                    # WGS84
+                    # standard. Values must be within normalized ranges.
+                    #
+                    # Example of normalization code in Python:
+                    #
+                    #     def NormalizeLongitude(longitude):
+                    #       """Wraps decimal degrees longitude to [-180.0, 180.0]."""
+                    #       q, r = divmod(longitude, 360.0)
+                    #       if r > 180.0 or (r == 180.0 and q <= -1.0):
+                    #         return r - 360.0
+                    #       return r
+                    #
+                    #     def NormalizeLatLng(latitude, longitude):
+                    #       """Wraps decimal degrees latitude and longitude to
+                    #       [-90.0, 90.0] and [-180.0, 180.0], respectively."""
+                    #       r = latitude % 360.0
+                    #       if r <= 90.0:
+                    #         return r, NormalizeLongitude(longitude)
+                    #       elif r >= 270.0:
+                    #         return r - 360, NormalizeLongitude(longitude)
+                    #       else:
+                    #         return 180 - r, NormalizeLongitude(longitude + 180.0)
+                    #
+                    #     assert 180.0 == NormalizeLongitude(180.0)
+                    #     assert -180.0 == NormalizeLongitude(-180.0)
+                    #     assert -179.0 == NormalizeLongitude(181.0)
+                    #     assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0)
+                    #     assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0)
+                    #     assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0)
+                    #     assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0)
+                    #     assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0)
+                    #     assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0)
+                    #     assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0)
+                    #     assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0)
+                    #     assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0)
+                    #     assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0)
+                  "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                  "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                },
+              },
+            ],
+            "score": 3.14, # Overall score of the result. Range [0, 1].
+            "boundingPoly": { # A bounding polygon for the detected image annotation. # Image region to which this entity belongs. Not filled currently
+                # for `LABEL_DETECTION` features. For `TEXT_DETECTION` (OCR), `boundingPoly`s
+                # are produced for the entire text detected in an image region, followed by
+                # `boundingPoly`s for each word within the detected text.
+              "vertices": [ # The bounding polygon vertices.
+                { # A vertex represents a 2D point in the image.
+                    # NOTE: the vertex coordinates are in the same scale as the original image.
+                  "y": 42, # Y coordinate.
+                  "x": 42, # X coordinate.
+                },
+              ],
+            },
+            "properties": [ # Some entities can have additional optional Property fields.
+                # For example a different kind of score or string that qualifies the entity.
+              { # Arbitrary name/value pair.
+                "name": "A String", # Name of the property.
+                "value": "A String", # Value of the property.
+              },
+            ],
+          },
+        ],
+        "landmarkAnnotations": [ # If present, landmark detection completed successfully.
+          { # Set of detected entity features.
+            "confidence": 3.14, # The accuracy of the entity detection in an image.
+                # For example, for an image containing 'Eiffel Tower,' this field represents
+                # the confidence that there is a tower in the query image. Range [0, 1].
+            "description": "A String", # Entity textual description, expressed in its locale language.
+            "locale": "A String", # The language code for the locale in which the entity textual
+                # description (next field) is expressed.
+            "topicality": 3.14, # The relevancy of the ICA (Image Content Annotation) label to the
+                # image. For example, the relevancy of 'tower' to an image containing
+                # 'Eiffel Tower' is likely higher than an image containing a distant towering
+                # building, though the confidence that there is a tower may be the same.
+                # Range [0, 1].
+            "mid": "A String", # Opaque entity ID. Some IDs might be available in Knowledge Graph(KG).
+                # For more details on KG please see:
+                # https://developers.google.com/knowledge-graph/
+            "locations": [ # The location information for the detected entity. Multiple
+                # LocationInfo elements can be present since one location may
+                # indicate the location of the scene in the query image, and another the
+                # location of the place where the query image was taken. Location information
+                # is usually present for landmarks.
+              { # Detected entity location information.
+                "latLng": { # An object representing a latitude/longitude pair. This is expressed as a pair # Lat - long location coordinates.
+                    # of doubles representing degrees latitude and degrees longitude. Unless
+                    # specified otherwise, this must conform to the
+                    # WGS84
+                    # standard. Values must be within normalized ranges.
+                    #
+                    # Example of normalization code in Python:
+                    #
+                    #     def NormalizeLongitude(longitude):
+                    #       """Wraps decimal degrees longitude to [-180.0, 180.0]."""
+                    #       q, r = divmod(longitude, 360.0)
+                    #       if r > 180.0 or (r == 180.0 and q <= -1.0):
+                    #         return r - 360.0
+                    #       return r
+                    #
+                    #     def NormalizeLatLng(latitude, longitude):
+                    #       """Wraps decimal degrees latitude and longitude to
+                    #       [-90.0, 90.0] and [-180.0, 180.0], respectively."""
+                    #       r = latitude % 360.0
+                    #       if r <= 90.0:
+                    #         return r, NormalizeLongitude(longitude)
+                    #       elif r >= 270.0:
+                    #         return r - 360, NormalizeLongitude(longitude)
+                    #       else:
+                    #         return 180 - r, NormalizeLongitude(longitude + 180.0)
+                    #
+                    #     assert 180.0 == NormalizeLongitude(180.0)
+                    #     assert -180.0 == NormalizeLongitude(-180.0)
+                    #     assert -179.0 == NormalizeLongitude(181.0)
+                    #     assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0)
+                    #     assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0)
+                    #     assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0)
+                    #     assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0)
+                    #     assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0)
+                    #     assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0)
+                    #     assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0)
+                    #     assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0)
+                    #     assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0)
+                    #     assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0)
+                  "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                  "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                },
+              },
+            ],
+            "score": 3.14, # Overall score of the result. Range [0, 1].
+            "boundingPoly": { # A bounding polygon for the detected image annotation. # Image region to which this entity belongs. Not filled currently
+                # for `LABEL_DETECTION` features. For `TEXT_DETECTION` (OCR), `boundingPoly`s
+                # are produced for the entire text detected in an image region, followed by
+                # `boundingPoly`s for each word within the detected text.
+              "vertices": [ # The bounding polygon vertices.
+                { # A vertex represents a 2D point in the image.
+                    # NOTE: the vertex coordinates are in the same scale as the original image.
+                  "y": 42, # Y coordinate.
+                  "x": 42, # X coordinate.
+                },
+              ],
+            },
+            "properties": [ # Some entities can have additional optional Property fields.
+                # For example a different kind of score or string that qualifies the entity.
+              { # Arbitrary name/value pair.
+                "name": "A String", # Name of the property.
+                "value": "A String", # Value of the property.
+              },
+            ],
+          },
+        ],
+        "error": { # The `Status` type defines a logical error model that is suitable for different # If set, represents the error message for the operation.
+            # Note that filled-in mage annotations are guaranteed to be
+            # correct, even when error is non-empty.
+            # programming environments, including REST APIs and RPC APIs. It is used by
+            # [gRPC](https://github.com/grpc). The error model is designed to be:
+            #
+            # - Simple to use and understand for most users
+            # - Flexible enough to meet unexpected needs
+            #
+            # # Overview
+            #
+            # The `Status` message contains three pieces of data: error code, error message,
+            # and error details. The error code should be an enum value of
+            # google.rpc.Code, but it may accept additional error codes if needed.  The
+            # error message should be a developer-facing English message that helps
+            # developers *understand* and *resolve* the error. If a localized user-facing
+            # error message is needed, put the localized message in the error details or
+            # localize it in the client. The optional error details may contain arbitrary
+            # information about the error. There is a predefined set of error detail types
+            # in the package `google.rpc` which can be used for common error conditions.
+            #
+            # # Language mapping
+            #
+            # The `Status` message is the logical representation of the error model, but it
+            # is not necessarily the actual wire format. When the `Status` message is
+            # exposed in different client libraries and different wire protocols, it can be
+            # mapped differently. For example, it will likely be mapped to some exceptions
+            # in Java, but more likely mapped to some error codes in C.
+            #
+            # # Other uses
+            #
+            # The error model and the `Status` message can be used in a variety of
+            # environments, either with or without APIs, to provide a
+            # consistent developer experience across different environments.
+            #
+            # Example uses of this error model include:
+            #
+            # - Partial errors. If a service needs to return partial errors to the client,
+            #     it may embed the `Status` in the normal response to indicate the partial
+            #     errors.
+            #
+            # - Workflow errors. A typical workflow has multiple steps. Each step may
+            #     have a `Status` message for error reporting purpose.
+            #
+            # - Batch operations. If a client uses batch request and batch response, the
+            #     `Status` message should be used directly inside batch response, one for
+            #     each error sub-response.
+            #
+            # - Asynchronous operations. If an API call embeds asynchronous operation
+            #     results in its response, the status of those operations should be
+            #     represented directly using the `Status` message.
+            #
+            # - Logging. If some API errors are stored in logs, the message `Status` could
+            #     be used directly after any stripping needed for security/privacy reasons.
+          "message": "A String", # A developer-facing error message, which should be in English. Any
+              # user-facing error message should be localized and sent in the
+              # google.rpc.Status.details field, or localized by the client.
+          "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+          "details": [ # A list of messages that carry the error details.  There will be a
+              # common set of message types for APIs to use.
+            {
+              "a_key": "", # Properties of the object. Contains field @ype with type URL.
+            },
+          ],
+        },
+      },
+    ],
+  }
+
+ + \ No newline at end of file diff --git a/docs/dyn/webmasters_v3.searchanalytics.html b/docs/dyn/webmasters_v3.searchanalytics.html index a6bede547d6..d5f743bdfaa 100644 --- a/docs/dyn/webmasters_v3.searchanalytics.html +++ b/docs/dyn/webmasters_v3.searchanalytics.html @@ -108,6 +108,7 @@

Method Details

], }, ], + "startRow": 42, # [Optional; Default is 0] Zero-based index of the first row in the response. Must be a non-negative number. "rowLimit": 42, # [Optional; Default is 1000] The maximum number of rows to return. Must be a number from 1 to 5,000 (inclusive). "aggregationType": "A String", # [Optional; Default is "auto"] How data is aggregated. If aggregated by property, all data for the same property is aggregated; if aggregated by page, all data is aggregated by canonical URI. If you filter or group by page, choose AUTO; otherwise you can aggregate either by property or by page, depending on how you want your data calculated; see the help documentation to learn how data is calculated differently by site versus by page. # diff --git a/docs/dyn/webmasters_v3.urlcrawlerrorscounts.html b/docs/dyn/webmasters_v3.urlcrawlerrorscounts.html index a0c82754920..2fc96af2bbe 100644 --- a/docs/dyn/webmasters_v3.urlcrawlerrorscounts.html +++ b/docs/dyn/webmasters_v3.urlcrawlerrorscounts.html @@ -87,6 +87,7 @@

Method Details

category: string, The crawl error category. For example: serverError. If not specified, returns results for all categories. Allowed values authPermissions - + flashContent - manyToOneRedirect - notFollowed - notFound - diff --git a/docs/dyn/webmasters_v3.urlcrawlerrorssamples.html b/docs/dyn/webmasters_v3.urlcrawlerrorssamples.html index cc302ae7575..1771dbf0666 100644 --- a/docs/dyn/webmasters_v3.urlcrawlerrorssamples.html +++ b/docs/dyn/webmasters_v3.urlcrawlerrorssamples.html @@ -94,6 +94,7 @@

Method Details

category: string, The crawl error category. For example: authPermissions (required) Allowed values authPermissions - + flashContent - manyToOneRedirect - notFollowed - notFound - @@ -135,6 +136,7 @@

Method Details

category: string, The crawl error category. For example: authPermissions (required) Allowed values authPermissions - + flashContent - manyToOneRedirect - notFollowed - notFound - @@ -181,6 +183,7 @@

Method Details

category: string, The crawl error category. For example: authPermissions (required) Allowed values authPermissions - + flashContent - manyToOneRedirect - notFollowed - notFound - diff --git a/docs/dyn/youtube_v3.channels.html b/docs/dyn/youtube_v3.channels.html index 596121074b9..05d1ed3646c 100644 --- a/docs/dyn/youtube_v3.channels.html +++ b/docs/dyn/youtube_v3.channels.html @@ -258,7 +258,7 @@

Method Details

"bannerTabletExtraHdImageUrl": "A String", # Banner image. Tablet size extra high resolution (2560x424). "bannerMobileHdImageUrl": "A String", # Banner image. Mobile size high resolution (1280x360). }, - "watch": { # Branding properties for the watch. # Branding properties for the watch page. + "watch": { # Branding properties for the watch. All deprecated. # Branding properties for the watch page. "textColor": "A String", # The background color for the video watch page's branded area. "featuredPlaylistId": "A String", # An ID that uniquely identifies a playlist that displays next to the video player. "backgroundColor": "A String", # The text color for the video watch page's branded area. @@ -296,7 +296,17 @@

Method Details

}, ], }, - "snippet": { # Basic details about a channel, including title, description and thumbnails. # The snippet object contains basic details about the channel, such as its title, description, and thumbnail images. + "snippet": { # Basic details about a channel, including title, description and thumbnails. Next available id: 15. # The snippet object contains basic details about the channel, such as its title, description, and thumbnail images. + "description": "A String", # The description of the channel. + "title": "A String", # The channel's title. + "country": "A String", # The country of the channel. + "customUrl": "A String", # The custom url of the channel. + "publishedAt": "A String", # The date and time that the channel was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. + "defaultLanguage": "A String", # The language of the channel's default title and description. + "localized": { # Channel localization setting # Localized title and description, read-only. + "description": "A String", # The localized strings for channel's description. + "title": "A String", # The localized strings for channel's title. + }, "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the channel. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail. "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource. "url": "A String", # The thumbnail image's URL. @@ -324,15 +334,6 @@

Method Details

"height": 42, # (Optional) Height of the thumbnail image. }, }, - "title": "A String", # The channel's title. - "country": "A String", # The country of the channel. - "defaultLanguage": "A String", # The language of the channel's default title and description. - "publishedAt": "A String", # The date and time that the channel was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. - "localized": { # Channel localization setting # Localized title and description, read-only. - "description": "A String", # The localized strings for channel's description. - "title": "A String", # The localized strings for channel's title. - }, - "description": "A String", # The description of the channel. }, "auditDetails": { # The auditDetails object encapsulates channel data that is relevant for YouTube Partners during the audit process. # The auditionDetails object encapsulates channel data that is relevant for YouTube Partners during the audition process. "communityGuidelinesGoodStanding": True or False, # Whether or not the channel respects the community guidelines. @@ -530,7 +531,7 @@

Method Details

"bannerTabletExtraHdImageUrl": "A String", # Banner image. Tablet size extra high resolution (2560x424). "bannerMobileHdImageUrl": "A String", # Banner image. Mobile size high resolution (1280x360). }, - "watch": { # Branding properties for the watch. # Branding properties for the watch page. + "watch": { # Branding properties for the watch. All deprecated. # Branding properties for the watch page. "textColor": "A String", # The background color for the video watch page's branded area. "featuredPlaylistId": "A String", # An ID that uniquely identifies a playlist that displays next to the video player. "backgroundColor": "A String", # The text color for the video watch page's branded area. @@ -568,7 +569,17 @@

Method Details

}, ], }, - "snippet": { # Basic details about a channel, including title, description and thumbnails. # The snippet object contains basic details about the channel, such as its title, description, and thumbnail images. + "snippet": { # Basic details about a channel, including title, description and thumbnails. Next available id: 15. # The snippet object contains basic details about the channel, such as its title, description, and thumbnail images. + "description": "A String", # The description of the channel. + "title": "A String", # The channel's title. + "country": "A String", # The country of the channel. + "customUrl": "A String", # The custom url of the channel. + "publishedAt": "A String", # The date and time that the channel was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. + "defaultLanguage": "A String", # The language of the channel's default title and description. + "localized": { # Channel localization setting # Localized title and description, read-only. + "description": "A String", # The localized strings for channel's description. + "title": "A String", # The localized strings for channel's title. + }, "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the channel. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail. "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource. "url": "A String", # The thumbnail image's URL. @@ -596,15 +607,6 @@

Method Details

"height": 42, # (Optional) Height of the thumbnail image. }, }, - "title": "A String", # The channel's title. - "country": "A String", # The country of the channel. - "defaultLanguage": "A String", # The language of the channel's default title and description. - "publishedAt": "A String", # The date and time that the channel was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. - "localized": { # Channel localization setting # Localized title and description, read-only. - "description": "A String", # The localized strings for channel's description. - "title": "A String", # The localized strings for channel's title. - }, - "description": "A String", # The description of the channel. }, "auditDetails": { # The auditDetails object encapsulates channel data that is relevant for YouTube Partners during the audit process. # The auditionDetails object encapsulates channel data that is relevant for YouTube Partners during the audition process. "communityGuidelinesGoodStanding": True or False, # Whether or not the channel respects the community guidelines. @@ -769,7 +771,7 @@

Method Details

"bannerTabletExtraHdImageUrl": "A String", # Banner image. Tablet size extra high resolution (2560x424). "bannerMobileHdImageUrl": "A String", # Banner image. Mobile size high resolution (1280x360). }, - "watch": { # Branding properties for the watch. # Branding properties for the watch page. + "watch": { # Branding properties for the watch. All deprecated. # Branding properties for the watch page. "textColor": "A String", # The background color for the video watch page's branded area. "featuredPlaylistId": "A String", # An ID that uniquely identifies a playlist that displays next to the video player. "backgroundColor": "A String", # The text color for the video watch page's branded area. @@ -807,7 +809,17 @@

Method Details

}, ], }, - "snippet": { # Basic details about a channel, including title, description and thumbnails. # The snippet object contains basic details about the channel, such as its title, description, and thumbnail images. + "snippet": { # Basic details about a channel, including title, description and thumbnails. Next available id: 15. # The snippet object contains basic details about the channel, such as its title, description, and thumbnail images. + "description": "A String", # The description of the channel. + "title": "A String", # The channel's title. + "country": "A String", # The country of the channel. + "customUrl": "A String", # The custom url of the channel. + "publishedAt": "A String", # The date and time that the channel was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. + "defaultLanguage": "A String", # The language of the channel's default title and description. + "localized": { # Channel localization setting # Localized title and description, read-only. + "description": "A String", # The localized strings for channel's description. + "title": "A String", # The localized strings for channel's title. + }, "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the channel. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail. "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource. "url": "A String", # The thumbnail image's URL. @@ -835,15 +847,6 @@

Method Details

"height": 42, # (Optional) Height of the thumbnail image. }, }, - "title": "A String", # The channel's title. - "country": "A String", # The country of the channel. - "defaultLanguage": "A String", # The language of the channel's default title and description. - "publishedAt": "A String", # The date and time that the channel was created. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. - "localized": { # Channel localization setting # Localized title and description, read-only. - "description": "A String", # The localized strings for channel's description. - "title": "A String", # The localized strings for channel's title. - }, - "description": "A String", # The description of the channel. }, "auditDetails": { # The auditDetails object encapsulates channel data that is relevant for YouTube Partners during the audit process. # The auditionDetails object encapsulates channel data that is relevant for YouTube Partners during the audition process. "communityGuidelinesGoodStanding": True or False, # Whether or not the channel respects the community guidelines. diff --git a/docs/dyn/youtube_v3.liveBroadcasts.html b/docs/dyn/youtube_v3.liveBroadcasts.html index fd6d1a32831..f818a0fd8d3 100644 --- a/docs/dyn/youtube_v3.liveBroadcasts.html +++ b/docs/dyn/youtube_v3.liveBroadcasts.html @@ -144,7 +144,17 @@

Method Details

"totalChatCount": "A String", # The total number of live chat messages currently on the broadcast. The property and its value will be present if the broadcast is public, has the live chat feature enabled, and has at least one message. Note that this field will not be filled after the broadcast ends. So this property would not identify the number of chat messages for an archived video of a completed live broadcast. }, "contentDetails": { # Detailed settings of a broadcast. # The contentDetails object contains information about the event's video content, such as whether the content can be shown in an embedded video player or if it will be archived and therefore available for viewing after the event has concluded. + "projection": "A String", # The projection format of this broadcast. This defaults to rectangular. "enableLowLatency": True or False, # Indicates whether this broadcast has low latency enabled. + "monitorStream": { # Settings and Info of the monitor stream # The monitorStream object contains information about the monitor stream, which the broadcaster can use to review the event content before the broadcast stream is shown publicly. + "broadcastStreamDelayMs": 42, # If you have set the enableMonitorStream property to true, then this property determines the length of the live broadcast delay. + "embedHtml": "A String", # HTML code that embeds a player that plays the monitor stream. + "enableMonitorStream": True or False, # This value determines whether the monitor stream is enabled for the broadcast. If the monitor stream is enabled, then YouTube will broadcast the event content on a special stream intended only for the broadcaster's consumption. The broadcaster can use the stream to review the event content and also to identify the optimal times to insert cuepoints. + # + # You need to set this value to true if you intend to have a broadcast delay for your event. + # + # Note: This property cannot be updated once the broadcast is in the testing or live state. + }, "boundStreamId": "A String", # This value uniquely identifies the live stream bound to the broadcast. "enableEmbed": True or False, # This setting indicates whether the broadcast video can be played in an embedded player. If you choose to archive the video (using the enableArchive property), this setting will also apply to the archived video. "enableClosedCaptions": True or False, # This setting indicates whether HTTP POST closed captioning is enabled for this broadcast. The ingestion URL of the closed captions is returned through the liveStreams API. This is mutually exclusive with using the closed_captions_type property, and is equivalent to setting closed_captions_type to CLOSED_CAPTIONS_HTTP_POST. @@ -161,15 +171,7 @@

Method Details

# # # Important: You must set the value to true and also set the enableArchive property's value to true if you want to make playback available immediately after the broadcast ends. - "monitorStream": { # Settings and Info of the monitor stream # The monitorStream object contains information about the monitor stream, which the broadcaster can use to review the event content before the broadcast stream is shown publicly. - "broadcastStreamDelayMs": 42, # If you have set the enableMonitorStream property to true, then this property determines the length of the live broadcast delay. - "embedHtml": "A String", # HTML code that embeds a player that plays the monitor stream. - "enableMonitorStream": True or False, # This value determines whether the monitor stream is enabled for the broadcast. If the monitor stream is enabled, then YouTube will broadcast the event content on a special stream intended only for the broadcaster's consumption. The broadcaster can use the stream to review the event content and also to identify the optimal times to insert cuepoints. - # - # You need to set this value to true if you intend to have a broadcast delay for your event. - # - # Note: This property cannot be updated once the broadcast is in the testing or live state. - }, + "boundStreamLastUpdateTimeMs": "A String", # The date and time that the live stream referenced by boundStreamId was last updated. }, "snippet": { # The snippet object contains basic details about the event, including its title, description, start time, and end time. "actualEndTime": "A String", # The date and time that the broadcast actually ended. This information is only available once the broadcast's state is complete. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. @@ -266,7 +268,17 @@

Method Details

"totalChatCount": "A String", # The total number of live chat messages currently on the broadcast. The property and its value will be present if the broadcast is public, has the live chat feature enabled, and has at least one message. Note that this field will not be filled after the broadcast ends. So this property would not identify the number of chat messages for an archived video of a completed live broadcast. }, "contentDetails": { # Detailed settings of a broadcast. # The contentDetails object contains information about the event's video content, such as whether the content can be shown in an embedded video player or if it will be archived and therefore available for viewing after the event has concluded. + "projection": "A String", # The projection format of this broadcast. This defaults to rectangular. "enableLowLatency": True or False, # Indicates whether this broadcast has low latency enabled. + "monitorStream": { # Settings and Info of the monitor stream # The monitorStream object contains information about the monitor stream, which the broadcaster can use to review the event content before the broadcast stream is shown publicly. + "broadcastStreamDelayMs": 42, # If you have set the enableMonitorStream property to true, then this property determines the length of the live broadcast delay. + "embedHtml": "A String", # HTML code that embeds a player that plays the monitor stream. + "enableMonitorStream": True or False, # This value determines whether the monitor stream is enabled for the broadcast. If the monitor stream is enabled, then YouTube will broadcast the event content on a special stream intended only for the broadcaster's consumption. The broadcaster can use the stream to review the event content and also to identify the optimal times to insert cuepoints. + # + # You need to set this value to true if you intend to have a broadcast delay for your event. + # + # Note: This property cannot be updated once the broadcast is in the testing or live state. + }, "boundStreamId": "A String", # This value uniquely identifies the live stream bound to the broadcast. "enableEmbed": True or False, # This setting indicates whether the broadcast video can be played in an embedded player. If you choose to archive the video (using the enableArchive property), this setting will also apply to the archived video. "enableClosedCaptions": True or False, # This setting indicates whether HTTP POST closed captioning is enabled for this broadcast. The ingestion URL of the closed captions is returned through the liveStreams API. This is mutually exclusive with using the closed_captions_type property, and is equivalent to setting closed_captions_type to CLOSED_CAPTIONS_HTTP_POST. @@ -283,15 +295,7 @@

Method Details

# # # Important: You must set the value to true and also set the enableArchive property's value to true if you want to make playback available immediately after the broadcast ends. - "monitorStream": { # Settings and Info of the monitor stream # The monitorStream object contains information about the monitor stream, which the broadcaster can use to review the event content before the broadcast stream is shown publicly. - "broadcastStreamDelayMs": 42, # If you have set the enableMonitorStream property to true, then this property determines the length of the live broadcast delay. - "embedHtml": "A String", # HTML code that embeds a player that plays the monitor stream. - "enableMonitorStream": True or False, # This value determines whether the monitor stream is enabled for the broadcast. If the monitor stream is enabled, then YouTube will broadcast the event content on a special stream intended only for the broadcaster's consumption. The broadcaster can use the stream to review the event content and also to identify the optimal times to insert cuepoints. - # - # You need to set this value to true if you intend to have a broadcast delay for your event. - # - # Note: This property cannot be updated once the broadcast is in the testing or live state. - }, + "boundStreamLastUpdateTimeMs": "A String", # The date and time that the live stream referenced by boundStreamId was last updated. }, "snippet": { # The snippet object contains basic details about the event, including its title, description, start time, and end time. "actualEndTime": "A String", # The date and time that the broadcast actually ended. This information is only available once the broadcast's state is complete. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. @@ -390,7 +394,17 @@

Method Details

"totalChatCount": "A String", # The total number of live chat messages currently on the broadcast. The property and its value will be present if the broadcast is public, has the live chat feature enabled, and has at least one message. Note that this field will not be filled after the broadcast ends. So this property would not identify the number of chat messages for an archived video of a completed live broadcast. }, "contentDetails": { # Detailed settings of a broadcast. # The contentDetails object contains information about the event's video content, such as whether the content can be shown in an embedded video player or if it will be archived and therefore available for viewing after the event has concluded. + "projection": "A String", # The projection format of this broadcast. This defaults to rectangular. "enableLowLatency": True or False, # Indicates whether this broadcast has low latency enabled. + "monitorStream": { # Settings and Info of the monitor stream # The monitorStream object contains information about the monitor stream, which the broadcaster can use to review the event content before the broadcast stream is shown publicly. + "broadcastStreamDelayMs": 42, # If you have set the enableMonitorStream property to true, then this property determines the length of the live broadcast delay. + "embedHtml": "A String", # HTML code that embeds a player that plays the monitor stream. + "enableMonitorStream": True or False, # This value determines whether the monitor stream is enabled for the broadcast. If the monitor stream is enabled, then YouTube will broadcast the event content on a special stream intended only for the broadcaster's consumption. The broadcaster can use the stream to review the event content and also to identify the optimal times to insert cuepoints. + # + # You need to set this value to true if you intend to have a broadcast delay for your event. + # + # Note: This property cannot be updated once the broadcast is in the testing or live state. + }, "boundStreamId": "A String", # This value uniquely identifies the live stream bound to the broadcast. "enableEmbed": True or False, # This setting indicates whether the broadcast video can be played in an embedded player. If you choose to archive the video (using the enableArchive property), this setting will also apply to the archived video. "enableClosedCaptions": True or False, # This setting indicates whether HTTP POST closed captioning is enabled for this broadcast. The ingestion URL of the closed captions is returned through the liveStreams API. This is mutually exclusive with using the closed_captions_type property, and is equivalent to setting closed_captions_type to CLOSED_CAPTIONS_HTTP_POST. @@ -407,15 +421,7 @@

Method Details

# # # Important: You must set the value to true and also set the enableArchive property's value to true if you want to make playback available immediately after the broadcast ends. - "monitorStream": { # Settings and Info of the monitor stream # The monitorStream object contains information about the monitor stream, which the broadcaster can use to review the event content before the broadcast stream is shown publicly. - "broadcastStreamDelayMs": 42, # If you have set the enableMonitorStream property to true, then this property determines the length of the live broadcast delay. - "embedHtml": "A String", # HTML code that embeds a player that plays the monitor stream. - "enableMonitorStream": True or False, # This value determines whether the monitor stream is enabled for the broadcast. If the monitor stream is enabled, then YouTube will broadcast the event content on a special stream intended only for the broadcaster's consumption. The broadcaster can use the stream to review the event content and also to identify the optimal times to insert cuepoints. - # - # You need to set this value to true if you intend to have a broadcast delay for your event. - # - # Note: This property cannot be updated once the broadcast is in the testing or live state. - }, + "boundStreamLastUpdateTimeMs": "A String", # The date and time that the live stream referenced by boundStreamId was last updated. }, "snippet": { # The snippet object contains basic details about the event, including its title, description, start time, and end time. "actualEndTime": "A String", # The date and time that the broadcast actually ended. This information is only available once the broadcast's state is complete. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. @@ -497,7 +503,17 @@

Method Details

"totalChatCount": "A String", # The total number of live chat messages currently on the broadcast. The property and its value will be present if the broadcast is public, has the live chat feature enabled, and has at least one message. Note that this field will not be filled after the broadcast ends. So this property would not identify the number of chat messages for an archived video of a completed live broadcast. }, "contentDetails": { # Detailed settings of a broadcast. # The contentDetails object contains information about the event's video content, such as whether the content can be shown in an embedded video player or if it will be archived and therefore available for viewing after the event has concluded. + "projection": "A String", # The projection format of this broadcast. This defaults to rectangular. "enableLowLatency": True or False, # Indicates whether this broadcast has low latency enabled. + "monitorStream": { # Settings and Info of the monitor stream # The monitorStream object contains information about the monitor stream, which the broadcaster can use to review the event content before the broadcast stream is shown publicly. + "broadcastStreamDelayMs": 42, # If you have set the enableMonitorStream property to true, then this property determines the length of the live broadcast delay. + "embedHtml": "A String", # HTML code that embeds a player that plays the monitor stream. + "enableMonitorStream": True or False, # This value determines whether the monitor stream is enabled for the broadcast. If the monitor stream is enabled, then YouTube will broadcast the event content on a special stream intended only for the broadcaster's consumption. The broadcaster can use the stream to review the event content and also to identify the optimal times to insert cuepoints. + # + # You need to set this value to true if you intend to have a broadcast delay for your event. + # + # Note: This property cannot be updated once the broadcast is in the testing or live state. + }, "boundStreamId": "A String", # This value uniquely identifies the live stream bound to the broadcast. "enableEmbed": True or False, # This setting indicates whether the broadcast video can be played in an embedded player. If you choose to archive the video (using the enableArchive property), this setting will also apply to the archived video. "enableClosedCaptions": True or False, # This setting indicates whether HTTP POST closed captioning is enabled for this broadcast. The ingestion URL of the closed captions is returned through the liveStreams API. This is mutually exclusive with using the closed_captions_type property, and is equivalent to setting closed_captions_type to CLOSED_CAPTIONS_HTTP_POST. @@ -514,15 +530,7 @@

Method Details

# # # Important: You must set the value to true and also set the enableArchive property's value to true if you want to make playback available immediately after the broadcast ends. - "monitorStream": { # Settings and Info of the monitor stream # The monitorStream object contains information about the monitor stream, which the broadcaster can use to review the event content before the broadcast stream is shown publicly. - "broadcastStreamDelayMs": 42, # If you have set the enableMonitorStream property to true, then this property determines the length of the live broadcast delay. - "embedHtml": "A String", # HTML code that embeds a player that plays the monitor stream. - "enableMonitorStream": True or False, # This value determines whether the monitor stream is enabled for the broadcast. If the monitor stream is enabled, then YouTube will broadcast the event content on a special stream intended only for the broadcaster's consumption. The broadcaster can use the stream to review the event content and also to identify the optimal times to insert cuepoints. - # - # You need to set this value to true if you intend to have a broadcast delay for your event. - # - # Note: This property cannot be updated once the broadcast is in the testing or live state. - }, + "boundStreamLastUpdateTimeMs": "A String", # The date and time that the live stream referenced by boundStreamId was last updated. }, "snippet": { # The snippet object contains basic details about the event, including its title, description, start time, and end time. "actualEndTime": "A String", # The date and time that the broadcast actually ended. This information is only available once the broadcast's state is complete. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. @@ -632,7 +640,17 @@

Method Details

"totalChatCount": "A String", # The total number of live chat messages currently on the broadcast. The property and its value will be present if the broadcast is public, has the live chat feature enabled, and has at least one message. Note that this field will not be filled after the broadcast ends. So this property would not identify the number of chat messages for an archived video of a completed live broadcast. }, "contentDetails": { # Detailed settings of a broadcast. # The contentDetails object contains information about the event's video content, such as whether the content can be shown in an embedded video player or if it will be archived and therefore available for viewing after the event has concluded. + "projection": "A String", # The projection format of this broadcast. This defaults to rectangular. "enableLowLatency": True or False, # Indicates whether this broadcast has low latency enabled. + "monitorStream": { # Settings and Info of the monitor stream # The monitorStream object contains information about the monitor stream, which the broadcaster can use to review the event content before the broadcast stream is shown publicly. + "broadcastStreamDelayMs": 42, # If you have set the enableMonitorStream property to true, then this property determines the length of the live broadcast delay. + "embedHtml": "A String", # HTML code that embeds a player that plays the monitor stream. + "enableMonitorStream": True or False, # This value determines whether the monitor stream is enabled for the broadcast. If the monitor stream is enabled, then YouTube will broadcast the event content on a special stream intended only for the broadcaster's consumption. The broadcaster can use the stream to review the event content and also to identify the optimal times to insert cuepoints. + # + # You need to set this value to true if you intend to have a broadcast delay for your event. + # + # Note: This property cannot be updated once the broadcast is in the testing or live state. + }, "boundStreamId": "A String", # This value uniquely identifies the live stream bound to the broadcast. "enableEmbed": True or False, # This setting indicates whether the broadcast video can be played in an embedded player. If you choose to archive the video (using the enableArchive property), this setting will also apply to the archived video. "enableClosedCaptions": True or False, # This setting indicates whether HTTP POST closed captioning is enabled for this broadcast. The ingestion URL of the closed captions is returned through the liveStreams API. This is mutually exclusive with using the closed_captions_type property, and is equivalent to setting closed_captions_type to CLOSED_CAPTIONS_HTTP_POST. @@ -649,15 +667,7 @@

Method Details

# # # Important: You must set the value to true and also set the enableArchive property's value to true if you want to make playback available immediately after the broadcast ends. - "monitorStream": { # Settings and Info of the monitor stream # The monitorStream object contains information about the monitor stream, which the broadcaster can use to review the event content before the broadcast stream is shown publicly. - "broadcastStreamDelayMs": 42, # If you have set the enableMonitorStream property to true, then this property determines the length of the live broadcast delay. - "embedHtml": "A String", # HTML code that embeds a player that plays the monitor stream. - "enableMonitorStream": True or False, # This value determines whether the monitor stream is enabled for the broadcast. If the monitor stream is enabled, then YouTube will broadcast the event content on a special stream intended only for the broadcaster's consumption. The broadcaster can use the stream to review the event content and also to identify the optimal times to insert cuepoints. - # - # You need to set this value to true if you intend to have a broadcast delay for your event. - # - # Note: This property cannot be updated once the broadcast is in the testing or live state. - }, + "boundStreamLastUpdateTimeMs": "A String", # The date and time that the live stream referenced by boundStreamId was last updated. }, "snippet": { # The snippet object contains basic details about the event, including its title, description, start time, and end time. "actualEndTime": "A String", # The date and time that the broadcast actually ended. This information is only available once the broadcast's state is complete. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. @@ -776,7 +786,17 @@

Method Details

"totalChatCount": "A String", # The total number of live chat messages currently on the broadcast. The property and its value will be present if the broadcast is public, has the live chat feature enabled, and has at least one message. Note that this field will not be filled after the broadcast ends. So this property would not identify the number of chat messages for an archived video of a completed live broadcast. }, "contentDetails": { # Detailed settings of a broadcast. # The contentDetails object contains information about the event's video content, such as whether the content can be shown in an embedded video player or if it will be archived and therefore available for viewing after the event has concluded. + "projection": "A String", # The projection format of this broadcast. This defaults to rectangular. "enableLowLatency": True or False, # Indicates whether this broadcast has low latency enabled. + "monitorStream": { # Settings and Info of the monitor stream # The monitorStream object contains information about the monitor stream, which the broadcaster can use to review the event content before the broadcast stream is shown publicly. + "broadcastStreamDelayMs": 42, # If you have set the enableMonitorStream property to true, then this property determines the length of the live broadcast delay. + "embedHtml": "A String", # HTML code that embeds a player that plays the monitor stream. + "enableMonitorStream": True or False, # This value determines whether the monitor stream is enabled for the broadcast. If the monitor stream is enabled, then YouTube will broadcast the event content on a special stream intended only for the broadcaster's consumption. The broadcaster can use the stream to review the event content and also to identify the optimal times to insert cuepoints. + # + # You need to set this value to true if you intend to have a broadcast delay for your event. + # + # Note: This property cannot be updated once the broadcast is in the testing or live state. + }, "boundStreamId": "A String", # This value uniquely identifies the live stream bound to the broadcast. "enableEmbed": True or False, # This setting indicates whether the broadcast video can be played in an embedded player. If you choose to archive the video (using the enableArchive property), this setting will also apply to the archived video. "enableClosedCaptions": True or False, # This setting indicates whether HTTP POST closed captioning is enabled for this broadcast. The ingestion URL of the closed captions is returned through the liveStreams API. This is mutually exclusive with using the closed_captions_type property, and is equivalent to setting closed_captions_type to CLOSED_CAPTIONS_HTTP_POST. @@ -793,15 +813,7 @@

Method Details

# # # Important: You must set the value to true and also set the enableArchive property's value to true if you want to make playback available immediately after the broadcast ends. - "monitorStream": { # Settings and Info of the monitor stream # The monitorStream object contains information about the monitor stream, which the broadcaster can use to review the event content before the broadcast stream is shown publicly. - "broadcastStreamDelayMs": 42, # If you have set the enableMonitorStream property to true, then this property determines the length of the live broadcast delay. - "embedHtml": "A String", # HTML code that embeds a player that plays the monitor stream. - "enableMonitorStream": True or False, # This value determines whether the monitor stream is enabled for the broadcast. If the monitor stream is enabled, then YouTube will broadcast the event content on a special stream intended only for the broadcaster's consumption. The broadcaster can use the stream to review the event content and also to identify the optimal times to insert cuepoints. - # - # You need to set this value to true if you intend to have a broadcast delay for your event. - # - # Note: This property cannot be updated once the broadcast is in the testing or live state. - }, + "boundStreamLastUpdateTimeMs": "A String", # The date and time that the live stream referenced by boundStreamId was last updated. }, "snippet": { # The snippet object contains basic details about the event, including its title, description, start time, and end time. "actualEndTime": "A String", # The date and time that the broadcast actually ended. This information is only available once the broadcast's state is complete. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. @@ -885,7 +897,17 @@

Method Details

"totalChatCount": "A String", # The total number of live chat messages currently on the broadcast. The property and its value will be present if the broadcast is public, has the live chat feature enabled, and has at least one message. Note that this field will not be filled after the broadcast ends. So this property would not identify the number of chat messages for an archived video of a completed live broadcast. }, "contentDetails": { # Detailed settings of a broadcast. # The contentDetails object contains information about the event's video content, such as whether the content can be shown in an embedded video player or if it will be archived and therefore available for viewing after the event has concluded. + "projection": "A String", # The projection format of this broadcast. This defaults to rectangular. "enableLowLatency": True or False, # Indicates whether this broadcast has low latency enabled. + "monitorStream": { # Settings and Info of the monitor stream # The monitorStream object contains information about the monitor stream, which the broadcaster can use to review the event content before the broadcast stream is shown publicly. + "broadcastStreamDelayMs": 42, # If you have set the enableMonitorStream property to true, then this property determines the length of the live broadcast delay. + "embedHtml": "A String", # HTML code that embeds a player that plays the monitor stream. + "enableMonitorStream": True or False, # This value determines whether the monitor stream is enabled for the broadcast. If the monitor stream is enabled, then YouTube will broadcast the event content on a special stream intended only for the broadcaster's consumption. The broadcaster can use the stream to review the event content and also to identify the optimal times to insert cuepoints. + # + # You need to set this value to true if you intend to have a broadcast delay for your event. + # + # Note: This property cannot be updated once the broadcast is in the testing or live state. + }, "boundStreamId": "A String", # This value uniquely identifies the live stream bound to the broadcast. "enableEmbed": True or False, # This setting indicates whether the broadcast video can be played in an embedded player. If you choose to archive the video (using the enableArchive property), this setting will also apply to the archived video. "enableClosedCaptions": True or False, # This setting indicates whether HTTP POST closed captioning is enabled for this broadcast. The ingestion URL of the closed captions is returned through the liveStreams API. This is mutually exclusive with using the closed_captions_type property, and is equivalent to setting closed_captions_type to CLOSED_CAPTIONS_HTTP_POST. @@ -902,15 +924,7 @@

Method Details

# # # Important: You must set the value to true and also set the enableArchive property's value to true if you want to make playback available immediately after the broadcast ends. - "monitorStream": { # Settings and Info of the monitor stream # The monitorStream object contains information about the monitor stream, which the broadcaster can use to review the event content before the broadcast stream is shown publicly. - "broadcastStreamDelayMs": 42, # If you have set the enableMonitorStream property to true, then this property determines the length of the live broadcast delay. - "embedHtml": "A String", # HTML code that embeds a player that plays the monitor stream. - "enableMonitorStream": True or False, # This value determines whether the monitor stream is enabled for the broadcast. If the monitor stream is enabled, then YouTube will broadcast the event content on a special stream intended only for the broadcaster's consumption. The broadcaster can use the stream to review the event content and also to identify the optimal times to insert cuepoints. - # - # You need to set this value to true if you intend to have a broadcast delay for your event. - # - # Note: This property cannot be updated once the broadcast is in the testing or live state. - }, + "boundStreamLastUpdateTimeMs": "A String", # The date and time that the live stream referenced by boundStreamId was last updated. }, "snippet": { # The snippet object contains basic details about the event, including its title, description, start time, and end time. "actualEndTime": "A String", # The date and time that the broadcast actually ended. This information is only available once the broadcast's state is complete. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. @@ -992,7 +1006,17 @@

Method Details

"totalChatCount": "A String", # The total number of live chat messages currently on the broadcast. The property and its value will be present if the broadcast is public, has the live chat feature enabled, and has at least one message. Note that this field will not be filled after the broadcast ends. So this property would not identify the number of chat messages for an archived video of a completed live broadcast. }, "contentDetails": { # Detailed settings of a broadcast. # The contentDetails object contains information about the event's video content, such as whether the content can be shown in an embedded video player or if it will be archived and therefore available for viewing after the event has concluded. + "projection": "A String", # The projection format of this broadcast. This defaults to rectangular. "enableLowLatency": True or False, # Indicates whether this broadcast has low latency enabled. + "monitorStream": { # Settings and Info of the monitor stream # The monitorStream object contains information about the monitor stream, which the broadcaster can use to review the event content before the broadcast stream is shown publicly. + "broadcastStreamDelayMs": 42, # If you have set the enableMonitorStream property to true, then this property determines the length of the live broadcast delay. + "embedHtml": "A String", # HTML code that embeds a player that plays the monitor stream. + "enableMonitorStream": True or False, # This value determines whether the monitor stream is enabled for the broadcast. If the monitor stream is enabled, then YouTube will broadcast the event content on a special stream intended only for the broadcaster's consumption. The broadcaster can use the stream to review the event content and also to identify the optimal times to insert cuepoints. + # + # You need to set this value to true if you intend to have a broadcast delay for your event. + # + # Note: This property cannot be updated once the broadcast is in the testing or live state. + }, "boundStreamId": "A String", # This value uniquely identifies the live stream bound to the broadcast. "enableEmbed": True or False, # This setting indicates whether the broadcast video can be played in an embedded player. If you choose to archive the video (using the enableArchive property), this setting will also apply to the archived video. "enableClosedCaptions": True or False, # This setting indicates whether HTTP POST closed captioning is enabled for this broadcast. The ingestion URL of the closed captions is returned through the liveStreams API. This is mutually exclusive with using the closed_captions_type property, and is equivalent to setting closed_captions_type to CLOSED_CAPTIONS_HTTP_POST. @@ -1009,15 +1033,7 @@

Method Details

# # # Important: You must set the value to true and also set the enableArchive property's value to true if you want to make playback available immediately after the broadcast ends. - "monitorStream": { # Settings and Info of the monitor stream # The monitorStream object contains information about the monitor stream, which the broadcaster can use to review the event content before the broadcast stream is shown publicly. - "broadcastStreamDelayMs": 42, # If you have set the enableMonitorStream property to true, then this property determines the length of the live broadcast delay. - "embedHtml": "A String", # HTML code that embeds a player that plays the monitor stream. - "enableMonitorStream": True or False, # This value determines whether the monitor stream is enabled for the broadcast. If the monitor stream is enabled, then YouTube will broadcast the event content on a special stream intended only for the broadcaster's consumption. The broadcaster can use the stream to review the event content and also to identify the optimal times to insert cuepoints. - # - # You need to set this value to true if you intend to have a broadcast delay for your event. - # - # Note: This property cannot be updated once the broadcast is in the testing or live state. - }, + "boundStreamLastUpdateTimeMs": "A String", # The date and time that the live stream referenced by boundStreamId was last updated. }, "snippet": { # The snippet object contains basic details about the event, including its title, description, start time, and end time. "actualEndTime": "A String", # The date and time that the broadcast actually ended. This information is only available once the broadcast's state is complete. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. diff --git a/docs/dyn/youtube_v3.liveChatMessages.html b/docs/dyn/youtube_v3.liveChatMessages.html index b35fe987d0d..79d7e580db1 100644 --- a/docs/dyn/youtube_v3.liveChatMessages.html +++ b/docs/dyn/youtube_v3.liveChatMessages.html @@ -108,6 +108,9 @@

Method Details

{ # A liveChatMessage resource represents a chat message in a YouTube Live Chat. "snippet": { # The snippet object contains basic details about the message. "displayMessage": "A String", # Contains a string that can be displayed to the user. If this field is not present the message is silent, at the moment only messages of type TOMBSTONE and CHAT_ENDED_EVENT are silent. + "messageRetractedDetails": { + "retractedMessageId": "A String", + }, "fanFundingEventDetails": { # Details about the funding event, this is only set if the type is 'fanFundingEvent'. "currency": "A String", # The currency in which the fund was made. "amountDisplayString": "A String", # A rendered string that displays the fund amount and currency to the user. @@ -116,11 +119,24 @@

Method Details

}, "hasDisplayContent": True or False, # Whether the message has display content that should be displayed to users. "publishedAt": "A String", # The date and time when the message was orignally published. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. + "userBannedDetails": { + "banDurationSeconds": "A String", # The duration of the ban. This property is only present if the banType is temporary. + "bannedUserDetails": { # The details of the user that was banned. + "channelId": "A String", # The YouTube channel ID. + "displayName": "A String", # The channel's display name. + "profileImageUrl": "A String", # The channels's avatar URL. + "channelUrl": "A String", # The channel's URL. + }, + "banType": "A String", # The type of ban. + }, "liveChatId": "A String", - "authorChannelId": "A String", # The ID of the user that authored this message, this field is not always filled. textMessageEvent - the user that wrote the message fanFundingEvent - the user that funded the broadcast newSponsorEvent - the user that just became a sponsor + "authorChannelId": "A String", # The ID of the user that authored this message, this field is not always filled. textMessageEvent - the user that wrote the message fanFundingEvent - the user that funded the broadcast newSponsorEvent - the user that just became a sponsor messageDeletedEvent - the moderator that took the action messageRetractedEvent - the author that retracted their message userBannedEvent - the moderator that took the action "textMessageDetails": { # Details about the text message, this is only set if the type is 'textMessageEvent'. "messageText": "A String", # The user's message. }, + "messageDeletedDetails": { + "deletedMessageId": "A String", + }, "type": "A String", # The type of message, this will always be present, it determines the contents of the message as well as which fields will be present. }, "kind": "youtube#liveChatMessage", # Identifies what kind of resource this is. Value: the fixed string "youtube#liveChatMessage". @@ -145,6 +161,9 @@

Method Details

{ # A liveChatMessage resource represents a chat message in a YouTube Live Chat. "snippet": { # The snippet object contains basic details about the message. "displayMessage": "A String", # Contains a string that can be displayed to the user. If this field is not present the message is silent, at the moment only messages of type TOMBSTONE and CHAT_ENDED_EVENT are silent. + "messageRetractedDetails": { + "retractedMessageId": "A String", + }, "fanFundingEventDetails": { # Details about the funding event, this is only set if the type is 'fanFundingEvent'. "currency": "A String", # The currency in which the fund was made. "amountDisplayString": "A String", # A rendered string that displays the fund amount and currency to the user. @@ -153,11 +172,24 @@

Method Details

}, "hasDisplayContent": True or False, # Whether the message has display content that should be displayed to users. "publishedAt": "A String", # The date and time when the message was orignally published. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. + "userBannedDetails": { + "banDurationSeconds": "A String", # The duration of the ban. This property is only present if the banType is temporary. + "bannedUserDetails": { # The details of the user that was banned. + "channelId": "A String", # The YouTube channel ID. + "displayName": "A String", # The channel's display name. + "profileImageUrl": "A String", # The channels's avatar URL. + "channelUrl": "A String", # The channel's URL. + }, + "banType": "A String", # The type of ban. + }, "liveChatId": "A String", - "authorChannelId": "A String", # The ID of the user that authored this message, this field is not always filled. textMessageEvent - the user that wrote the message fanFundingEvent - the user that funded the broadcast newSponsorEvent - the user that just became a sponsor + "authorChannelId": "A String", # The ID of the user that authored this message, this field is not always filled. textMessageEvent - the user that wrote the message fanFundingEvent - the user that funded the broadcast newSponsorEvent - the user that just became a sponsor messageDeletedEvent - the moderator that took the action messageRetractedEvent - the author that retracted their message userBannedEvent - the moderator that took the action "textMessageDetails": { # Details about the text message, this is only set if the type is 'textMessageEvent'. "messageText": "A String", # The user's message. }, + "messageDeletedDetails": { + "deletedMessageId": "A String", + }, "type": "A String", # The type of message, this will always be present, it determines the contents of the message as well as which fields will be present. }, "kind": "youtube#liveChatMessage", # Identifies what kind of resource this is. Value: the fixed string "youtube#liveChatMessage". @@ -202,6 +234,9 @@

Method Details

{ # A liveChatMessage resource represents a chat message in a YouTube Live Chat. "snippet": { # The snippet object contains basic details about the message. "displayMessage": "A String", # Contains a string that can be displayed to the user. If this field is not present the message is silent, at the moment only messages of type TOMBSTONE and CHAT_ENDED_EVENT are silent. + "messageRetractedDetails": { + "retractedMessageId": "A String", + }, "fanFundingEventDetails": { # Details about the funding event, this is only set if the type is 'fanFundingEvent'. "currency": "A String", # The currency in which the fund was made. "amountDisplayString": "A String", # A rendered string that displays the fund amount and currency to the user. @@ -210,11 +245,24 @@

Method Details

}, "hasDisplayContent": True or False, # Whether the message has display content that should be displayed to users. "publishedAt": "A String", # The date and time when the message was orignally published. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. + "userBannedDetails": { + "banDurationSeconds": "A String", # The duration of the ban. This property is only present if the banType is temporary. + "bannedUserDetails": { # The details of the user that was banned. + "channelId": "A String", # The YouTube channel ID. + "displayName": "A String", # The channel's display name. + "profileImageUrl": "A String", # The channels's avatar URL. + "channelUrl": "A String", # The channel's URL. + }, + "banType": "A String", # The type of ban. + }, "liveChatId": "A String", - "authorChannelId": "A String", # The ID of the user that authored this message, this field is not always filled. textMessageEvent - the user that wrote the message fanFundingEvent - the user that funded the broadcast newSponsorEvent - the user that just became a sponsor + "authorChannelId": "A String", # The ID of the user that authored this message, this field is not always filled. textMessageEvent - the user that wrote the message fanFundingEvent - the user that funded the broadcast newSponsorEvent - the user that just became a sponsor messageDeletedEvent - the moderator that took the action messageRetractedEvent - the author that retracted their message userBannedEvent - the moderator that took the action "textMessageDetails": { # Details about the text message, this is only set if the type is 'textMessageEvent'. "messageText": "A String", # The user's message. }, + "messageDeletedDetails": { + "deletedMessageId": "A String", + }, "type": "A String", # The type of message, this will always be present, it determines the contents of the message as well as which fields will be present. }, "kind": "youtube#liveChatMessage", # Identifies what kind of resource this is. Value: the fixed string "youtube#liveChatMessage". diff --git a/docs/dyn/youtube_v3.liveStreams.html b/docs/dyn/youtube_v3.liveStreams.html index 2c3118969aa..65620a31787 100644 --- a/docs/dyn/youtube_v3.liveStreams.html +++ b/docs/dyn/youtube_v3.liveStreams.html @@ -155,6 +155,8 @@

Method Details

# # STREAM_URL/STREAM_NAME }, + "frameRate": "A String", # The frame rate of the inbound video data. + "resolution": "A String", # The resolution of the inbound video data. "format": "A String", # The format of the video stream that you are sending to Youtube. }, "snippet": { # The snippet object contains basic details about the stream, including its channel, title, and description. @@ -217,6 +219,8 @@

Method Details

# # STREAM_URL/STREAM_NAME }, + "frameRate": "A String", # The frame rate of the inbound video data. + "resolution": "A String", # The resolution of the inbound video data. "format": "A String", # The format of the video stream that you are sending to Youtube. }, "snippet": { # The snippet object contains basic details about the stream, including its channel, title, and description. @@ -296,6 +300,8 @@

Method Details

# # STREAM_URL/STREAM_NAME }, + "frameRate": "A String", # The frame rate of the inbound video data. + "resolution": "A String", # The resolution of the inbound video data. "format": "A String", # The format of the video stream that you are sending to Youtube. }, "snippet": { # The snippet object contains basic details about the stream, including its channel, title, and description. @@ -384,6 +390,8 @@

Method Details

# # STREAM_URL/STREAM_NAME }, + "frameRate": "A String", # The frame rate of the inbound video data. + "resolution": "A String", # The resolution of the inbound video data. "format": "A String", # The format of the video stream that you are sending to Youtube. }, "snippet": { # The snippet object contains basic details about the stream, including its channel, title, and description. @@ -446,6 +454,8 @@

Method Details

# # STREAM_URL/STREAM_NAME }, + "frameRate": "A String", # The frame rate of the inbound video data. + "resolution": "A String", # The resolution of the inbound video data. "format": "A String", # The format of the video stream that you are sending to Youtube. }, "snippet": { # The snippet object contains basic details about the stream, including its channel, title, and description. diff --git a/docs/dyn/youtube_v3.videos.html b/docs/dyn/youtube_v3.videos.html index 2c4c1e2fe4a..8e1e4c15fbc 100644 --- a/docs/dyn/youtube_v3.videos.html +++ b/docs/dyn/youtube_v3.videos.html @@ -229,6 +229,7 @@

Method Details

}, "contentDetails": { # Details about the content of a YouTube Video. # The contentDetails object contains information about the video content, including the length of the video and its aspect ratio. "definition": "A String", # The value of definition indicates whether the video is available in high definition or only in standard definition. + "projection": "A String", # Specifies the projection format of the video. "countryRestriction": { # Rights management policy for YouTube resources. # The countryRestriction object contains information about the countries where a video is (or is not) viewable. "exception": [ # A list of region codes that identify countries where the default policy do not apply. "A String", @@ -534,6 +535,7 @@

Method Details

}, "contentDetails": { # Details about the content of a YouTube Video. # The contentDetails object contains information about the video content, including the length of the video and its aspect ratio. "definition": "A String", # The value of definition indicates whether the video is available in high definition or only in standard definition. + "projection": "A String", # Specifies the projection format of the video. "countryRestriction": { # Rights management policy for YouTube resources. # The countryRestriction object contains information about the countries where a video is (or is not) viewable. "exception": [ # A list of region codes that identify countries where the default policy do not apply. "A String", @@ -865,6 +867,7 @@

Method Details

}, "contentDetails": { # Details about the content of a YouTube Video. # The contentDetails object contains information about the video content, including the length of the video and its aspect ratio. "definition": "A String", # The value of definition indicates whether the video is available in high definition or only in standard definition. + "projection": "A String", # Specifies the projection format of the video. "countryRestriction": { # Rights management policy for YouTube resources. # The countryRestriction object contains information about the countries where a video is (or is not) viewable. "exception": [ # A list of region codes that identify countries where the default policy do not apply. "A String", @@ -1228,6 +1231,7 @@

Method Details

}, "contentDetails": { # Details about the content of a YouTube Video. # The contentDetails object contains information about the video content, including the length of the video and its aspect ratio. "definition": "A String", # The value of definition indicates whether the video is available in high definition or only in standard definition. + "projection": "A String", # Specifies the projection format of the video. "countryRestriction": { # Rights management policy for YouTube resources. # The countryRestriction object contains information about the countries where a video is (or is not) viewable. "exception": [ # A list of region codes that identify countries where the default policy do not apply. "A String", @@ -1524,6 +1528,7 @@

Method Details

}, "contentDetails": { # Details about the content of a YouTube Video. # The contentDetails object contains information about the video content, including the length of the video and its aspect ratio. "definition": "A String", # The value of definition indicates whether the video is available in high definition or only in standard definition. + "projection": "A String", # Specifies the projection format of the video. "countryRestriction": { # Rights management policy for YouTube resources. # The countryRestriction object contains information about the countries where a video is (or is not) viewable. "exception": [ # A list of region codes that identify countries where the default policy do not apply. "A String", diff --git a/docs/dyn/youtubereporting_v1.jobs.html b/docs/dyn/youtubereporting_v1.jobs.html index a60d526ecac..a4cba0ea184 100644 --- a/docs/dyn/youtubereporting_v1.jobs.html +++ b/docs/dyn/youtubereporting_v1.jobs.html @@ -89,7 +89,7 @@

Instance Methods

get(jobId, onBehalfOfContentOwner=None, x__xgafv=None)

Gets a job.

- list(onBehalfOfContentOwner=None, pageSize=None, pageToken=None, x__xgafv=None)

+ list(onBehalfOfContentOwner=None, pageSize=None, pageToken=None, x__xgafv=None, includeSystemManaged=None)

Lists jobs.

list_next(previous_request, previous_response)

@@ -104,10 +104,12 @@

Method Details

The object takes the form of: { # A job creating reports of a specific type. + "name": "A String", # The name of the job (max. 100 characters). + "createTime": "A String", # The creation date/time of the job. + "expireTime": "A String", # The date/time when this job will expire/expired. After a job expired, no new reports are generated. "reportTypeId": "A String", # The type of reports this job creates. Corresponds to the ID of a ReportType. + "systemManaged": True or False, # True if this a system-managed job that cannot be modified by the user; otherwise false. "id": "A String", # The server-generated ID of the job (max. 40 characters). - "createTime": "A String", # The creation date/time of the job. - "name": "A String", # The name of the job (max. 100 characters). TODO(lanthaler) Clarify what this will actually be used for } onBehalfOfContentOwner: string, The content owner's external ID on which behalf the user is acting on. If not set, the user is acting for himself (his own channel). @@ -117,10 +119,12 @@

Method Details

An object of the form: { # A job creating reports of a specific type. + "name": "A String", # The name of the job (max. 100 characters). + "createTime": "A String", # The creation date/time of the job. + "expireTime": "A String", # The date/time when this job will expire/expired. After a job expired, no new reports are generated. "reportTypeId": "A String", # The type of reports this job creates. Corresponds to the ID of a ReportType. + "systemManaged": True or False, # True if this a system-managed job that cannot be modified by the user; otherwise false. "id": "A String", # The server-generated ID of the job (max. 40 characters). - "createTime": "A String", # The creation date/time of the job. - "name": "A String", # The name of the job (max. 100 characters). TODO(lanthaler) Clarify what this will actually be used for }
@@ -153,15 +157,17 @@

Method Details

An object of the form: { # A job creating reports of a specific type. + "name": "A String", # The name of the job (max. 100 characters). + "createTime": "A String", # The creation date/time of the job. + "expireTime": "A String", # The date/time when this job will expire/expired. After a job expired, no new reports are generated. "reportTypeId": "A String", # The type of reports this job creates. Corresponds to the ID of a ReportType. + "systemManaged": True or False, # True if this a system-managed job that cannot be modified by the user; otherwise false. "id": "A String", # The server-generated ID of the job (max. 40 characters). - "createTime": "A String", # The creation date/time of the job. - "name": "A String", # The name of the job (max. 100 characters). TODO(lanthaler) Clarify what this will actually be used for }
- list(onBehalfOfContentOwner=None, pageSize=None, pageToken=None, x__xgafv=None) + list(onBehalfOfContentOwner=None, pageSize=None, pageToken=None, x__xgafv=None, includeSystemManaged=None)
Lists jobs.
 
 Args:
@@ -169,6 +175,7 @@ 

Method Details

pageSize: integer, Requested page size. Server may return fewer jobs than requested. If unspecified, server will pick an appropriate default. pageToken: string, A token identifying a page of results the server should return. Typically, this is the value of ListReportTypesResponse.next_page_token returned in response to the previous call to the `ListJobs` method. x__xgafv: string, V1 error format. + includeSystemManaged: boolean, If set to true, also system-managed jobs will be returned; otherwise only user-created jobs will be returned. System-managed jobs can neither be modified nor deleted. Returns: An object of the form: @@ -177,10 +184,12 @@

Method Details

"nextPageToken": "A String", # A token to retrieve next page of results. Pass this value in the ListJobsRequest.page_token field in the subsequent call to `ListJobs` method to retrieve the next page of results. "jobs": [ # The list of jobs. { # A job creating reports of a specific type. + "name": "A String", # The name of the job (max. 100 characters). + "createTime": "A String", # The creation date/time of the job. + "expireTime": "A String", # The date/time when this job will expire/expired. After a job expired, no new reports are generated. "reportTypeId": "A String", # The type of reports this job creates. Corresponds to the ID of a ReportType. + "systemManaged": True or False, # True if this a system-managed job that cannot be modified by the user; otherwise false. "id": "A String", # The server-generated ID of the job (max. 40 characters). - "createTime": "A String", # The creation date/time of the job. - "name": "A String", # The name of the job (max. 100 characters). TODO(lanthaler) Clarify what this will actually be used for }, ], }
diff --git a/docs/dyn/youtubereporting_v1.jobs.reports.html b/docs/dyn/youtubereporting_v1.jobs.reports.html index f493a800395..c1aaba7f50e 100644 --- a/docs/dyn/youtubereporting_v1.jobs.reports.html +++ b/docs/dyn/youtubereporting_v1.jobs.reports.html @@ -78,7 +78,7 @@

Instance Methods

get(jobId, reportId, onBehalfOfContentOwner=None, x__xgafv=None)

Gets the metadata of a specific report.

- list(jobId, onBehalfOfContentOwner=None, pageSize=None, x__xgafv=None, createdAfter=None, pageToken=None)

+ list(jobId, pageSize=None, startTimeAtOrAfter=None, x__xgafv=None, onBehalfOfContentOwner=None, pageToken=None, createdAfter=None, startTimeBefore=None)

Lists reports created by a specific job. Returns NOT_FOUND if the job does not exist.

list_next(previous_request, previous_response)

@@ -98,9 +98,10 @@

Method Details

An object of the form: { # A report's metadata including the URL from which the report itself can be downloaded. - "jobId": "A String", # The ID of the job that created this report. - "id": "A String", # The server-generated ID of the report. "downloadUrl": "A String", # The URL from which the report can be downloaded (max. 1000 characters). + "jobExpireTime": "A String", # The date/time when the job this report belongs to will expire/expired. + "id": "A String", # The server-generated ID of the report. + "jobId": "A String", # The ID of the job that created this report. "startTime": "A String", # The start of the time period that the report instance covers. The value is inclusive. "endTime": "A String", # The end of the time period that the report instance covers. The value is exclusive. "createTime": "A String", # The date/time when this report was created. @@ -108,16 +109,18 @@

Method Details

- list(jobId, onBehalfOfContentOwner=None, pageSize=None, x__xgafv=None, createdAfter=None, pageToken=None) + list(jobId, pageSize=None, startTimeAtOrAfter=None, x__xgafv=None, onBehalfOfContentOwner=None, pageToken=None, createdAfter=None, startTimeBefore=None)
Lists reports created by a specific job. Returns NOT_FOUND if the job does not exist.
 
 Args:
   jobId: string, The ID of the job. (required)
-  onBehalfOfContentOwner: string, The content owner's external ID on which behalf the user is acting on. If not set, the user is acting for himself (his own channel).
   pageSize: integer, Requested page size. Server may return fewer report types than requested. If unspecified, server will pick an appropriate default.
+  startTimeAtOrAfter: string, If set, only reports whose start time is greater than or equal the specified date/time are returned.
   x__xgafv: string, V1 error format.
-  createdAfter: string, If set, only reports created after the specified date/time are returned.
+  onBehalfOfContentOwner: string, The content owner's external ID on which behalf the user is acting on. If not set, the user is acting for himself (his own channel).
   pageToken: string, A token identifying a page of results the server should return. Typically, this is the value of ListReportsResponse.next_page_token returned in response to the previous call to the `ListReports` method.
+  createdAfter: string, If set, only reports created after the specified date/time are returned.
+  startTimeBefore: string, If set, only reports whose start time is smaller than the specified date/time are returned.
 
 Returns:
   An object of the form:
@@ -126,9 +129,10 @@ 

Method Details

"nextPageToken": "A String", # A token to retrieve next page of results. Pass this value in the ListReportsRequest.page_token field in the subsequent call to `ListReports` method to retrieve the next page of results. "reports": [ # The list of report types. { # A report's metadata including the URL from which the report itself can be downloaded. - "jobId": "A String", # The ID of the job that created this report. - "id": "A String", # The server-generated ID of the report. "downloadUrl": "A String", # The URL from which the report can be downloaded (max. 1000 characters). + "jobExpireTime": "A String", # The date/time when the job this report belongs to will expire/expired. + "id": "A String", # The server-generated ID of the report. + "jobId": "A String", # The ID of the job that created this report. "startTime": "A String", # The start of the time period that the report instance covers. The value is inclusive. "endTime": "A String", # The end of the time period that the report instance covers. The value is exclusive. "createTime": "A String", # The date/time when this report was created. diff --git a/docs/dyn/youtubereporting_v1.media.html b/docs/dyn/youtubereporting_v1.media.html index 834b17bc986..555cb68198d 100644 --- a/docs/dyn/youtubereporting_v1.media.html +++ b/docs/dyn/youtubereporting_v1.media.html @@ -86,7 +86,7 @@

Method Details

Method for media download. Download is supported on the URI `/v1/media/{+name}?alt=media`.
 
 Args:
-  resourceName: string, Name of the media that is being downloaded. See [][ByteStream.ReadRequest.resource_name]. (required)
+  resourceName: string, Name of the media that is being downloaded. See ReadRequest.resource_name. (required)
   x__xgafv: string, V1 error format.
 
 Returns:
@@ -102,7 +102,7 @@ 

Method Details

Method for media download. Download is supported on the URI `/v1/media/{+name}?alt=media`.
 
 Args:
-  resourceName: string, Name of the media that is being downloaded. See [][ByteStream.ReadRequest.resource_name]. (required)
+  resourceName: string, Name of the media that is being downloaded. See ReadRequest.resource_name. (required)
   x__xgafv: string, V1 error format.
 
 Returns:
diff --git a/docs/dyn/youtubereporting_v1.reportTypes.html b/docs/dyn/youtubereporting_v1.reportTypes.html
index e7492d26a2f..314f1c6054c 100644
--- a/docs/dyn/youtubereporting_v1.reportTypes.html
+++ b/docs/dyn/youtubereporting_v1.reportTypes.html
@@ -75,14 +75,14 @@
 

YouTube Reporting API . reportTypes

Instance Methods

- list(onBehalfOfContentOwner=None, pageSize=None, pageToken=None, x__xgafv=None)

+ list(onBehalfOfContentOwner=None, pageSize=None, pageToken=None, x__xgafv=None, includeSystemManaged=None)

Lists report types.

list_next(previous_request, previous_response)

Retrieves the next page of results.

Method Details

- list(onBehalfOfContentOwner=None, pageSize=None, pageToken=None, x__xgafv=None) + list(onBehalfOfContentOwner=None, pageSize=None, pageToken=None, x__xgafv=None, includeSystemManaged=None)
Lists report types.
 
 Args:
@@ -90,6 +90,7 @@ 

Method Details

pageSize: integer, Requested page size. Server may return fewer report types than requested. If unspecified, server will pick an appropriate default. pageToken: string, A token identifying a page of results the server should return. Typically, this is the value of ListReportTypesResponse.next_page_token returned in response to the previous call to the `ListReportTypes` method. x__xgafv: string, V1 error format. + includeSystemManaged: boolean, If set to true, also system-managed report types will be returned; otherwise only the report types that can be used to create new reporting jobs will be returned. Returns: An object of the form: @@ -98,6 +99,8 @@

Method Details

"nextPageToken": "A String", # A token to retrieve next page of results. Pass this value in the ListReportTypesRequest.page_token field in the subsequent call to `ListReportTypes` method to retrieve the next page of results. "reportTypes": [ # The list of report types. { # A report type. + "deprecateTime": "A String", # The date/time when this report type was/will be deprecated. + "systemManaged": True or False, # True if this a system-managed report type; otherwise false. Reporting jobs for system-managed report types are created automatically and can thus not be used in the `CreateJob` method. "id": "A String", # The ID of the report type (max. 100 characters). "name": "A String", # The name of the report type (max. 100 characters). }, diff --git a/docs/epy/api-objects.txt b/docs/epy/api-objects.txt index 3c78fa477cb..8a49d3dc6e2 100644 --- a/docs/epy/api-objects.txt +++ b/docs/epy/api-objects.txt @@ -18,11 +18,12 @@ googleapiclient.discovery._MEDIA_SIZE_BIT_SHIFTS googleapiclient.discovery-modul googleapiclient.discovery._fix_up_parameters googleapiclient.discovery-module.html#_fix_up_parameters googleapiclient.discovery.HTTP_PAYLOAD_METHODS googleapiclient.discovery-module.html#HTTP_PAYLOAD_METHODS googleapiclient.discovery._media_path_url_from_info googleapiclient.discovery-module.html#_media_path_url_from_info -googleapiclient.discovery._fix_up_media_upload googleapiclient.discovery-module.html#_fix_up_media_upload +googleapiclient.discovery.V1_DISCOVERY_URI googleapiclient.discovery-module.html#V1_DISCOVERY_URI googleapiclient.discovery.build googleapiclient.discovery-module.html#build googleapiclient.discovery.key2param googleapiclient.discovery-module.html#key2param googleapiclient.discovery.VARNAME googleapiclient.discovery-module.html#VARNAME googleapiclient.discovery.createNextMethod googleapiclient.discovery-module.html#createNextMethod +googleapiclient.discovery._fix_up_media_upload googleapiclient.discovery-module.html#_fix_up_media_upload googleapiclient.discovery.logger googleapiclient.discovery-module.html#logger googleapiclient.discovery.BODY_PARAMETER_DEFAULT_VALUE googleapiclient.discovery-module.html#BODY_PARAMETER_DEFAULT_VALUE googleapiclient.discovery._media_size_to_long googleapiclient.discovery-module.html#_media_size_to_long @@ -33,30 +34,37 @@ googleapiclient.discovery.createMethod googleapiclient.discovery-module.html#cre googleapiclient.discovery.DEFAULT_METHOD_DOC googleapiclient.discovery-module.html#DEFAULT_METHOD_DOC googleapiclient.discovery.RESERVED_WORDS googleapiclient.discovery-module.html#RESERVED_WORDS googleapiclient.discovery.build_from_document googleapiclient.discovery-module.html#build_from_document +googleapiclient.discovery.V2_DISCOVERY_URI googleapiclient.discovery-module.html#V2_DISCOVERY_URI googleapiclient.discovery.fix_method_name googleapiclient.discovery-module.html#fix_method_name googleapiclient.discovery.STACK_QUERY_PARAMETERS googleapiclient.discovery-module.html#STACK_QUERY_PARAMETERS googleapiclient.discovery.DISCOVERY_URI googleapiclient.discovery-module.html#DISCOVERY_URI googleapiclient.discovery.URITEMPLATE googleapiclient.discovery-module.html#URITEMPLATE googleapiclient.discovery_cache googleapiclient.discovery_cache-module.html -googleapiclient.discovery_cache.autodetect googleapiclient.discovery_cache-module.html#autodetect +googleapiclient.discovery_cache.LOGGER googleapiclient.discovery_cache-module.html#LOGGER googleapiclient.discovery_cache.DISCOVERY_DOC_MAX_AGE googleapiclient.discovery_cache-module.html#DISCOVERY_DOC_MAX_AGE +googleapiclient.discovery_cache.autodetect googleapiclient.discovery_cache-module.html#autodetect googleapiclient.discovery_cache.appengine_memcache googleapiclient.discovery_cache.appengine_memcache-module.html googleapiclient.discovery_cache.appengine_memcache.cache googleapiclient.discovery_cache.appengine_memcache-module.html#cache googleapiclient.discovery_cache.appengine_memcache.NAMESPACE googleapiclient.discovery_cache.appengine_memcache-module.html#NAMESPACE +googleapiclient.discovery_cache.appengine_memcache.LOGGER googleapiclient.discovery_cache.appengine_memcache-module.html#LOGGER googleapiclient.discovery_cache.base googleapiclient.discovery_cache.base-module.html googleapiclient.discovery_cache.file_cache googleapiclient.discovery_cache.file_cache-module.html googleapiclient.discovery_cache.file_cache._to_timestamp googleapiclient.discovery_cache.file_cache-module.html#_to_timestamp googleapiclient.discovery_cache.file_cache._read_or_initialize_cache googleapiclient.discovery_cache.file_cache-module.html#_read_or_initialize_cache googleapiclient.discovery_cache.file_cache.cache googleapiclient.discovery_cache.file_cache-module.html#cache googleapiclient.discovery_cache.file_cache.EPOCH googleapiclient.discovery_cache.file_cache-module.html#EPOCH -googleapiclient.discovery_cache.file_cache.logger googleapiclient.discovery_cache.file_cache-module.html#logger +googleapiclient.discovery_cache.file_cache.LOGGER googleapiclient.discovery_cache.file_cache-module.html#LOGGER googleapiclient.discovery_cache.file_cache.FILENAME googleapiclient.discovery_cache.file_cache-module.html#FILENAME googleapiclient.errors googleapiclient.errors-module.html googleapiclient.http googleapiclient.http-module.html +googleapiclient.http._TOO_MANY_REQUESTS googleapiclient.http-module.html#_TOO_MANY_REQUESTS googleapiclient.http.set_user_agent googleapiclient.http-module.html#set_user_agent googleapiclient.http.tunnel_patch googleapiclient.http-module.html#tunnel_patch googleapiclient.http._retry_request googleapiclient.http-module.html#_retry_request googleapiclient.http.DEFAULT_CHUNK_SIZE googleapiclient.http-module.html#DEFAULT_CHUNK_SIZE +googleapiclient.http.LOGGER googleapiclient.http-module.html#LOGGER +googleapiclient.http._should_retry_response googleapiclient.http-module.html#_should_retry_response +googleapiclient.http._ssl_SSLError googleapiclient.http-module.html#_ssl_SSLError googleapiclient.http.MAX_URI_LENGTH googleapiclient.http-module.html#MAX_URI_LENGTH googleapiclient.mimeparse googleapiclient.mimeparse-module.html googleapiclient.mimeparse.__credits__ googleapiclient.mimeparse-module.html#__credits__ @@ -71,10 +79,13 @@ googleapiclient.mimeparse._filter_blank googleapiclient.mimeparse-module.html#_f googleapiclient.model googleapiclient.model-module.html googleapiclient.model._abstract googleapiclient.model-module.html#_abstract googleapiclient.model.dump_request_response googleapiclient.model-module.html#dump_request_response +googleapiclient.model.LOGGER googleapiclient.model-module.html#LOGGER googleapiclient.model.makepatch googleapiclient.model-module.html#makepatch googleapiclient.sample_tools googleapiclient.sample_tools-module.html googleapiclient.sample_tools.init googleapiclient.sample_tools-module.html#init googleapiclient.schema googleapiclient.schema-module.html +googleapiclient.NullHandler googleapiclient.NullHandler-class.html +googleapiclient.NullHandler.emit googleapiclient.NullHandler-class.html#emit googleapiclient.channel.Channel googleapiclient.channel.Channel-class.html googleapiclient.channel.Channel.body googleapiclient.channel.Channel-class.html#body googleapiclient.channel.Channel.update googleapiclient.channel.Channel-class.html#update diff --git a/docs/epy/class-tree.html b/docs/epy/class-tree.html index 5c5bca966be..d04fff1e777 100644 --- a/docs/epy/class-tree.html +++ b/docs/epy/class-tree.html @@ -82,6 +82,10 @@

Class Hierarchy

  • googleapiclient.channel.Channel: A Channel for notifications.
  • +
  • logging.Filterer: + A base class for loggers and handlers which allows them to share +common code. +
  • googleapiclient.http.HttpMock: Mock of httplib2.Http
  • @@ -159,7 +163,7 @@

    Class Hierarchy